盛營營 王克信 湯磊
(普天信息工程設計服務有限公司 北京市 100088)
通信專業傳送網線路工程設計工作包含大量勘察繪圖工作,而通信專業傳送網線路工程設計流程已經較為成熟,標準化程度較高,而且工程項目往往集中度高,要求勘察制圖工作高效完成。本論文正是在這種背景下,研究如何通過創新開發,實現自動化繪圖,提升傳送網工程設計制圖效率。
ActiveX 是微軟近年推出的一個基于COM(Component Object Model)的技術規范,AutoCAD ActiveX 使用戶能夠從 AutoCAD 的內部或外部以編程方式來操作 AutoCAD。本方案考慮以AutoCAD 2008 為平臺,PyCharm 2019.03.02 為編程工具。Python 是一種解釋型、面向對象、動態數據類型的高級程序設計語言,該語言具有豐富的庫支持,其中,pyautocad 庫由俄羅斯工程師Roman Haritonov開發,本方案結合pyautocad 2.0 庫及AutoCAD ActiveX Automation二次開發技術,實現將谷歌地圖三維坐標自動繪制為傳送網線路工程CAD 圖紙。
經對實現邏輯進行梳理,該自動化制圖分下列幾個步驟:
(1)讀取三維坐標;
(2)引入pyautocad 庫,調用AutoCAD comtypes 接口;
(3)三維坐標(大地坐標)轉換為二維坐標;
(4)基于二維坐標繪制傳送網架空桿路圖[2]。
谷歌地圖默認坐標體系為WGS-84 地理坐標系,通過該軟件導出KML 文件可以直接被windows 系統詞本打開。
打開PyCharm 程序,新建項目及主程序py 文件,定義函數提取KML 文件,部分關鍵代碼展示如下:


圖1

打開指定KML 文件,調用上述清理數據函數,返回Python 語言待處理經緯度列表,關鍵代碼如下:


需用到的Python 庫涉及嘗試拷貝、系統底層命令調用、窗口調用、科學計數、正則表達式等內容,導入庫代碼如下:

需調用AutoCAD comtypes 接口。
將三維坐標轉為二維坐標體系,即大地坐標轉為平面坐標[1],關鍵代碼如下:

基于二維坐標繪制傳送網架空桿路圖,部分關鍵代碼展示如下:


假定傳送網工程需求從東寶大隊四中隊往變電站新放光纜一條,圖1 是經實堪現實架空桿路圖和經三維坐標轉換后自動繪制的傳送網工程圖對比。
相較于傳統傳送網鼠標手動插入調整的圖紙繪制方式,大幅度提升工程制圖效率,提高制圖精確程度,大副度減少設計人員工作量。
近年來,在全國通信業務大力發展的背景下,光纖通信工程設計光纜線路技術也在迅速增長與發展,通信產業作為全國高速發展先導產業,同時各省市傳送網建設規模幾何倍數增加。本方案 利用Python 語言及AutoCAD ActiveX Automation 技術針對AutoCAD二次開發,展示了自動化制圖的另一種可能性,通過三維坐標轉換為二維坐標現實了從谷歌地圖提取數據至AutoCAD 自動化方向,也進一步拓寬了AutoCAD 二次開發的范圍,減少了繪制時間,提高了工作效率。