李永慶
(水利部海河水利委員會科技咨詢中心,天津 300170)
工程測量
AutoLISP在AutoCAD自動拼接測量圖中的應用
李永慶
(水利部海河水利委員會科技咨詢中心,天津 300170)
采用AutoLISP編程語言,以AutoCAD作為平臺,分別測試簡單測量圖和復雜測量圖自動拼接的耗時,結果說明采用AutoLISP實現(xiàn)測量圖自動拼接,可大大縮短耗時,提高設計人員的工作效率。
AutoLISP;AutoCAD;測量圖;拼接
AutoLISP是AutoCAD內(nèi)置的編程語言,功能強大,應用范圍廣泛,但在規(guī)劃設計工作中應用較少。針對手動拼接測量圖效率低下的問題,以AutoCAD作為平臺,利用AutoLISP編程語言進行二次開發(fā),可實現(xiàn)自動批量拼圖,有效地解決了這一問題。
2.1 地形圖拼接原理
AutoCAD格式的測量圖中,圖形按照測量對象的投影坐標布置,所以每個文件中圖形的位置,相對于AutoCAD坐標軸的原點(0,0,0)是固定的。利用AutoCAD插入“塊”的功能,指定插入點為(0,0,0),將單個測量圖文件以“塊”的形式插入,使用“分解”命令將“塊”分解。重復插入、分解的步驟,就可以將多張地形圖合并。
2.2 程序實現(xiàn)
以下為拼接程序源代碼:
程序流程說明:①使用函數(shù)getfiled,彈出文件選擇對話框,提示用戶選擇一個測量圖文件,獲取該文件在磁盤中的完整路徑;②使用函數(shù)vl-filename-di-rectory處理上一步獲取的文件路徑,得到測量圖所在的目錄;③使用函數(shù)vl-directory-files獲取目錄中所有測量圖的文件名;④使用函數(shù)foreach,循環(huán)執(zhí)行將單個文件插入、分解的步驟;⑤程序執(zhí)行完畢。
2.3 使用方法
將需要拼接的測量圖文件保存在同一個目錄中,但不要把拼接后的文件保存在這個目錄中。若測量圖比較復雜,應適當減少文件的數(shù)量,分塊拼接。
操作步驟:①將程序源代碼以文本格式保存,文件名任意,文件后綴為“.lsp”;②打開AutoCAD程序,新建一個dwg格式的文件;③在AutoCAD執(zhí)行“appload”命令,在彈出對話框中加載保存的程序文件;④在Auto-CAD執(zhí)行“he_bing”命令,在彈出的對話框中選擇一個需要合并的測量圖文件;⑤等待程序執(zhí)行完成。
在同樣的工作環(huán)境中,針對不同類型的測量圖,采用手動拼接、自動拼接兩種方法進行測試。
3.1 簡單測量圖
使用永定河河道1∶10000帶狀測量圖,該測量圖文件中圖形對象較少,分別測試10張和40張測量圖的拼接耗時,測試結果如表1。
表1 簡單測量圖拼接耗時單位:s
通過表1可知,對于圖形對象較少的河道帶狀測量圖,10張測量圖手動拼接總耗時是自動測量拼接總耗時的17.75倍;40張測量圖手動拼接總耗時是自動測量拼接總耗時的23.08倍。由此可見,對圖形對象較少的簡單測量圖,利用AutoLISP編程語言自動拼接效率更高。
3.2 復雜測量圖
漳衛(wèi)新河左堤洪水風險圖編制是全國重點地區(qū)洪水風險圖編制工作的一部分,漳衛(wèi)新河左堤防洪保護區(qū)涉及河北、山東兩省的9個縣級行政區(qū),保護區(qū)面積約5949km2,AutoCAD格式1∶10000電子測量圖共計286張。
該類型測量圖文件中圖形對象較多,當需要拼接的復雜測量圖超過20張時,結果文件過大,嚴重影響在AutoCAD中的操作,因此本次測試對比10張和20張測量圖的拼接耗時。
測試結果如表2。
表2 復雜測量圖拼接耗時單位:s
通過表2可知,對于圖形對象較多的復雜測量圖,10張測量圖手動拼接總耗時是自動測量拼接總耗時的8.11倍;20張測量圖手動拼接總耗時是自動測量拼接總耗時的8.33倍。由此可見,針對圖形對象較多的復雜測量圖,利用AutoLISP編程語言自動拼接效率較高。
(1)AutoLISP是AutoCAD內(nèi)置的編程語言,功能強大,但在規(guī)劃設計工作中應用較少。
(2)針對手動拼接測量圖效率低下的問題,以AutoCAD作為平臺,利用AutoLISP編程語言進行二次開發(fā),實現(xiàn)測量圖的自動拼接,并對比手動拼接測量圖的耗時,結果說明采用AutoLISP自動拼接測量圖,速度快,效率高,減少人為操作誤差,提高了拼接的準確性,設計人員在規(guī)劃設計工作中采用該方法,可顯著提高工作效率。
[1]藍屹生.AutoLISP學習導引[M].北京:中國鐵道出版社,2003.
[2]黃曉宇.從AutoLISP走向Visual LISP[J].微電腦世界,1998,38.
[3]周紹烈.AutoLISP程序設計中的若干問題[J].大連鐵道學院學報,1991(1).
[4]李世國.AutoCAD高級開發(fā)技術[M].北京:機械工業(yè)出版社,1999.
App lication of AutoLISP in AutoCAD for sp licing topographicmaps automatically
LIYong-qing
(Haihe RiverWater Conservancy Commission,MWR,Science and Technology Consultation Center,Tianjin 300170,China)
As AutoCAD as a platform,AutoLISP programming language was used to respectively test the time consuming of automaticallysplicingsimple and complextopographic maps,the results show that the automatically splicing topographic mapsis realized by using AutoLISP,it can greatly shorten the time consuming,and then enhancing the working efficiency of the design personnel.
AutoLISP;AutoCAD;topographicmap;splicing
TV222.2
B
1672-9900(2015)01-0093-02
2015-02-03
李永慶(1983-),男(漢族),河北廣宗人,本科,主要從事水利規(guī)劃設計工作,(Tel)18622282650。