1、AutoCAD 平台下等高线程序检查的实现摘要:在地形图数据结构检查的过程中,利用程序来实现检查,可以大幅度降低生产成本,提高效率,本文主要是利用 AUTOLISP 语言编写程序来完成等高线所在图层及其属性值的检查,涉及到的软件平台为AutoCAD 关 键 词:AutoCAD 等高线 程序检查实现 中图分类号:C37 文献标识码:A 文章编号: 在地形图数据结构检查的过程中,应用程序来实现检查,可以大幅度降低生产成本,提高效率,现在以 AUTOLISP 语言编写的等高线检查程序为例,来谈谈自己的体会。 一 等高线数据结构检查主要包括: (一)线条设计规范检查 等高线线条设计规范检查主要是检查线
2、条是否符合规范和设计要求,主要包括: 线宽检查 线型结构检查 回头线检查 重复线检查 交叉线检查 (二) 图层和属性值检查 (三) 扩展属性检查 扩展属性检查主要指根据设计的要求,对特定的属性进行检查,主要包括: 属性码检查 属性层检查 属性值检查 二 等高线层、值相符检查程序代码的实现 AUTOLISP 语言是嵌套于 AutoCAD 内部的一种计算机表处理语言,其可以扩大图形的编辑功能,建立图形数据库和对数据库的访问和修改,其强大的功能使建立在 AutoCAD 平台下的地形图软件更能很好的满足客户的要求。 用 AUTOLISP 语言来编写等高线层、值相符检查程序,源码和说明如下: (defu
3、n C:DGXC() (setvar “cmdecho“ 0) (if (car (atoms-family 1 (“vl-load-com“) (vl-load-com) (setq dgj(getreal “n 输入等高距: “) (setq sqx(getstring “n 输入等高线首曲线层:“) (setq sqxk(getreal “n 输入首曲线宽度:“) (setq jqx(getstring “n 输入等高线计曲线层:“) (setq jqxk(getreal “n 输入计曲线宽度:“) (setq ss (xzj sqx jqx) (setq n (sslength ss)
4、 i 0 x 0) (repeat n (setq stm (ssname ss i) (setq object(vlax-ename-vla-object stm) (setq gcz (vla-get-Elevation object) (setq l_with(vla-get-ConstantWidth object) (if (= gcz 0) (vla-put-Color object 2) (setq tc(vla-get-Layer Object) (if (= dgj 2.5) (progn (setq km(rem gcz dgj) ; 为零对 (setq ys(rem (/
5、 gcz dgj) 4.0) ; 为零计曲线 (PROGN (setq km(rem gcz dgj ) (setq ys(rem (/ gcz dgj) 5.0) (if (/= km 0) (progn (vla-put-Color object 2) (setq x 1) ) (if (and (= ys 0) (= tc sqx) (progn (vla-put-Color object 2) (setq x 1) (if (and (/= ys 0) (= tc jqx) (progn (vla-put-Color object 2) (setq x 1) (setq i(+ 1 i
6、) (vlax-release-object object) (if (= x 0) (alert “等高线层、值都相符“) (setq kk (ssget “x“ (list (-4 . “ (-4 . “OR“)(cons 62 2) (-4 . “AND“) (if kk (alert (strcat “图内共有“ (itoa(sslength kk) “根曲线层、值不符,注意查改!“ ) (setq stm nil dgj nil km nil ys nil kk nil xx nil xxx nil) (setvar “cmdecho“ 1) (defun xzj(lay1 lay2
7、) (ssget “x“ (list(-4 . “) (-4 . “) (-4 . “AND“) 以上代码经运行后,能够很好的检查地形图等高线的图层、高程值和线宽是否与设计相符,并用不同的颜色值体现在窗口界面上。 四、结束语 国内很多的地形图编辑和入库软件都是建立在 AutoCAD 平台下的,因而利用 AUTOLISP 语言可以根据不同的需求进行二次开发,提高软件的编辑和检查功能,使我们在实际工作中大幅度降低生产成本,提高效率。参考文献 1陈伯雄等.VisualLISP 程序设计技巧与范例(第三版).北京:人民邮电出版社,2002 2胡仁喜等. AUTOLISP 机械设计高级应用实例.北京:机械工业出版社,2005 3邬伦等.地理信息系统.北京:电子工业出版社,2002 4黄杏元等.地理信息系统概论.北京:高等教育出版社,2001