李永庆
(水利部海河水利委员会科技咨询中心,天津 300170)
工程测量
AutoLISP在AutoCAD自动拼接测量图中的应用
李永庆
(水利部海河水利委员会科技咨询中心,天津 300170)
采用AutoLISP编程语言,以AutoCAD作为平台,分别测试简单测量图和复杂测量图自动拼接的耗时,结果说明采用AutoLISP实现测量图自动拼接,可大大缩短耗时,提高设计人员的工作效率。
AutoLISP;AutoCAD;测量图;拼接
AutoLISP是AutoCAD内置的编程语言,功能强大,应用范围广泛,但在规划设计工作中应用较少。针对手动拼接测量图效率低下的问题,以AutoCAD作为平台,利用AutoLISP编程语言进行二次开发,可实现自动批量拼图,有效地解决了这一问题。
2.1 地形图拼接原理
AutoCAD格式的测量图中,图形按照测量对象的投影坐标布置,所以每个文件中图形的位置,相对于AutoCAD坐标轴的原点(0,0,0)是固定的。利用AutoCAD插入“块”的功能,指定插入点为(0,0,0),将单个测量图文件以“块”的形式插入,使用“分解”命令将“块”分解。重复插入、分解的步骤,就可以将多张地形图合并。
2.2 程序实现
以下为拼接程序源代码:
程序流程说明:①使用函数getfiled,弹出文件选择对话框,提示用户选择一个测量图文件,获取该文件在磁盘中的完整路径;②使用函数vl-filename-di-rectory处理上一步获取的文件路径,得到测量图所在的目录;③使用函数vl-directory-files获取目录中所有测量图的文件名;④使用函数foreach,循环执行将单个文件插入、分解的步骤;⑤程序执行完毕。
2.3 使用方法
将需要拼接的测量图文件保存在同一个目录中,但不要把拼接后的文件保存在这个目录中。若测量图比较复杂,应适当减少文件的数量,分块拼接。
操作步骤:①将程序源代码以文本格式保存,文件名任意,文件后缀为“.lsp”;②打开AutoCAD程序,新建一个dwg格式的文件;③在AutoCAD执行“appload”命令,在弹出对话框中加载保存的程序文件;④在Auto-CAD执行“he_bing”命令,在弹出的对话框中选择一个需要合并的测量图文件;⑤等待程序执行完成。
在同样的工作环境中,针对不同类型的测量图,采用手动拼接、自动拼接两种方法进行测试。
3.1 简单测量图
使用永定河河道1∶10000带状测量图,该测量图文件中图形对象较少,分别测试10张和40张测量图的拼接耗时,测试结果如表1。
表1 简单测量图拼接耗时单位:s
通过表1可知,对于图形对象较少的河道带状测量图,10张测量图手动拼接总耗时是自动测量拼接总耗时的17.75倍;40张测量图手动拼接总耗时是自动测量拼接总耗时的23.08倍。由此可见,对图形对象较少的简单测量图,利用AutoLISP编程语言自动拼接效率更高。
3.2 复杂测量图
漳卫新河左堤洪水风险图编制是全国重点地区洪水风险图编制工作的一部分,漳卫新河左堤防洪保护区涉及河北、山东两省的9个县级行政区,保护区面积约5949km2,AutoCAD格式1∶10000电子测量图共计286张。
该类型测量图文件中图形对象较多,当需要拼接的复杂测量图超过20张时,结果文件过大,严重影响在AutoCAD中的操作,因此本次测试对比10张和20张测量图的拼接耗时。
测试结果如表2。
表2 复杂测量图拼接耗时单位:s
通过表2可知,对于图形对象较多的复杂测量图,10张测量图手动拼接总耗时是自动测量拼接总耗时的8.11倍;20张测量图手动拼接总耗时是自动测量拼接总耗时的8.33倍。由此可见,针对图形对象较多的复杂测量图,利用AutoLISP编程语言自动拼接效率较高。
(1)AutoLISP是AutoCAD内置的编程语言,功能强大,但在规划设计工作中应用较少。
(2)针对手动拼接测量图效率低下的问题,以AutoCAD作为平台,利用AutoLISP编程语言进行二次开发,实现测量图的自动拼接,并对比手动拼接测量图的耗时,结果说明采用AutoLISP自动拼接测量图,速度快,效率高,减少人为操作误差,提高了拼接的准确性,设计人员在规划设计工作中采用该方法,可显著提高工作效率。
[1]蓝屹生.AutoLISP学习导引[M].北京:中国铁道出版社,2003.
[2]黄晓宇.从AutoLISP走向Visual LISP[J].微电脑世界,1998,38.
[3]周绍烈.AutoLISP程序设计中的若干问题[J].大连铁道学院学报,1991(1).
[4]李世国.AutoCAD高级开发技术[M].北京:机械工业出版社,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-),男(汉族),河北广宗人,本科,主要从事水利规划设计工作,(Tel)18622282650。