AUTOCAD下地图符号库的制作
2014-01-03郭海录
摘 要:文章通过利用Autocad图符功能及其自带的二次开发语言Autolisp进行Autocad下地形图点状和线状以及面状符号库的设计。该方法对在Autocad下绘制地形图及对地形图的编辑具有重要的实用价值。
关键词:AutoCAD;AutoLisp;语言;地形图;线状符号
1 引言
AutoCAD是优秀图形软件,但是对于地形图来说想要直接在Autocad下实现方便的绘制及编辑,还有些困难,尤其是一些复杂的线型和复杂的独立符号。如果用其本身的功能把这些符号画出来,这样不仅费时费力,而且图面也不美观,精度有时也达不到。为了解决这一不足,我们利用AutoCOD开放的体系结构和强大的二次开发功能,通过对AutoCAD内部数据结构的探讨,应用AutoLisp语言,编写一系列地形地物点状和线状自动编辑的程序,运用这些程序,在绘制和编辑大比例地形图时就可以仅需画出中心点或者其主线,然后利用程序自动生成符号。
2 Autocad下符号库的建立方法
地形图图式是国家统一颁布的标准,也是符号库设计和编码的依据,本文是依据国家编制的1:500大比例尺地形图图式来设计本符号库的。
2.1 点状符号
在地形图中点状符号较多,如下水井、路灯等都是点状符号,我们可以逐一把这些符号制作成图块的形式,然后再逐一插入。但这样又带来了一些问题,因为我们插入独立符号时要记住插入的命令,這样又加大了编图者的劳动强度。所以为了统一管理,方便查询,我们把所有的独立符号制作成幻灯片库并定制菜单,这样使用者就可以只看图形而不需考虑具体的命令是什么了。下面就是点状符号库的制作过程:
a.首先,制作点状符号的块,为了便于管理我们把所有的点状符号块放在同一目录下。就路灯来说,先按国家的大比例尺地形图图式制作出下水井,如图 1 所示,
图1 块的制作图
这样我们就把下水井的块制作下来了,但这时我们要注意一点的就是在制作图块的时候,我们要注意地物的插入点问题,也就是地物的中心点,因为我们在程序中要利用到地物的插入点。
b.制作幻灯片
打开一个已做好的块文件,如上述的下水井符号,然后用mslide命令生成幻灯片文件,把所有的点状符号都按以上方法生成幻灯片文件。
c.制作幻灯片库
在MS-DOS下把所有的幻灯片做到库里面去。
d.定制相应命令
虽然我们幻灯片库已做好,但是我们还不能实现插入的功能,所以我们要定制相应的命令,以达到可以方便插入的效果。在插入独立符号时,我们需用到以下程序:
插入独立符号
(defun dlfh(km cm ys / fa pt)
(command "layer" "m" cm "c" ys "" "")
(setq pt (getpoint "\n 插入基点:"))
(while pt
(if (or (= km "WBF") (= km "BYQ"))
(progn
(setq fa (getangle pt "\n 给出符号方向:"))
(command "insert" km pt blc "" (* fa 57.3))
)
(command "insert" km pt blc "" 0)
)
(setq pt (getpoint "\n 下一个插入点(回车结束):"))
)
(princ)
)
注意这里我们定义了一个blc的变量,之所以定义这个变量,是因为我们在做地形图时,可能有时是1:500的,有时是1:1000的等等,而对于依比例尺的符号来言,在1:500和1:1000中是不一样大小的,为了解决这个问题我们定义了blc这个变量来解决插入不好比例大小的问题。
2.2 线状符号的制作
线状符号表示地理空间中的一维地物和地理现象,在图上长度依比例尺而宽度不依比例尺表示的元素符号,线状符号都有一条有形或无形的定位线,线状符号的定位都是由定位线决定的,定位线是线状符号的基础。分析线状符号的构造,线状符号可分为下面两类:
2.2.1 简单线状地物符号
图2 简单线状符号
该类符号可分解为曲线、直线虚线、点画线等简单线型。
2.2.2 复杂线状地物符号
在定位线两端点间按一定规则插入若干图元或线划,称作复杂地物线状符号,它与普通线型符号的区别在于使用各种图元组合而成,符号的重复遵循一定规则。复杂线型符号根据构造符号时插入图元的规则不同,可分为“行树类”和“管线类”两类。
行树类是指在连接点间沿连线方向均匀地绘制指定图元或线段而形成的线型符号,如,行树、狭长灌木林。这一类线状符号符号的最大特点是插入的图元的重复具有周期性,属有规律类,如图3。
图3 有规律的线状地物符号
管线类是指在两个连接点上及其中间插入所需图元,且必须两点以上才能出现符号的复杂线型符号,如高压电力线,低压电力线,通讯线,如图4。这一类符号从表面上看和行树类符号没有区别,但实际上和行树类有很大差别,主要体现在这一类符号中的重复部分是不定周期的。
图4 管线类地物符号
3 结束语
利用上述办法我们可以实现大多数地形图符号的设计,基本上可以满足城市地形测绘的要求。而且在很大程度上减轻了编图者的劳动强度,美化图面,提高绘图精度,基本实现了绘图的自动化,具有很高的实用价值。
参考文献
[1]郭朝勇筹.AutoCAD R14(中文版) 二次开发技术.华大学出版社.
[2]AutoLispVlisp函数全集.chm.
[3]吴永进,林美樱.Autolisp&DCL基础[M].北京:中国铁道工业出版社,2003.
[4]梁雪春.Autocad二次开发技术指南[M].北京:清华大学出版社,2001.
[5]《1:500、1:1000、1:2000地形图图式》GB/T20257.1-2007.
作者简介:郭海录(1981-),男,工程师,主要从事于工程测量及GIS,注册测绘师。