齐冬梅,郑加柱
(南京林业大学土木工程学院,南京210037)
随着数字化测图的迅速发展和广泛使用,多数测绘单位已经把AutoCAD作为地图数字化和数字化测图的一种工具。但是,随着AutoCAD应用领域的不断扩大,其应用的地物符号也越来越复杂化,AutoCAD的基本绘图系统已不能适应当今测绘行业所面对的各种复杂符号,必须进行定制和开发,才能满足地图数字化的要求[1]。而地形图图式是国家统一颁布执行的标准,是测绘符号设计和编码的依据。本文就依据GB/T 20257.1—2007《1∶500 1∶1000 1∶2000地形图图式》中规定的符号大小和方向等要素,并对其进行仔细研究和分析的基础上,根据AutoCAD绘图特点,介绍用文本编辑器和MKLITPE命令定制地形图线型的具体方法。
AutoCAD提供了标准线型库acad.1in和acadiso.1in。用户在绘图时,可根据需要选择其中的线型,当这些标准的线型满足不了要求时,就需要制作特殊的线型。
在AutoCAD中,线型可分为简单线型和复合线型。简单线型是指有宽度的实线和各种点划线,如小路、地类界等。复合线型是在简单线型的基础上插入文本或形,如栅栏、围墙等。线型文件是一种纯ASCII码格式的文本文件,一个线型文件中可以定义多种线型。因此,可以用任何一种文本编辑器 (如WINDOWS的NOTEPAD记事本)或字处理器来编辑线型文件。线型保存在扩展名为.1in的文件中。用户定义的新线型既可以加在标准线型文件acad.1in或acadiso.1in的后面,也可以自己创建新的线型文件 (如newLtype.lin)。
在线型文件中,每一种线型的定义都可定义为两行。具体格式如下:
其中,第一行定义了线型的名称及线型说明。在该行中必须以“*”打头,然后是线型名和可选的线型说明。如果需要给出线型的说明,则必须通过逗号与前面的线型名称分开,线型说明是可选项,可以是用ASCII文字对线型图案的简单表示,也可以是线型的扩展说明,还可以是注释 (例如“此线型用于隐藏线”)。线型说明允许省略,此时线型名后不能有逗号。
第二行是定义线型图案的代码。以字母A开头,A为线型的对齐方式,目前,AutoCAD仅支持这一种对齐方式。这种对齐方式将保证直线的端点处为短划线。后面的dash-n用来指定组成线型图案的线段长度。若长度为正,则表示是下笔段,即为要画出的线段;若长度为负,则表示为提笔段,即空出长度为该值的间隔;若长度为零,则表示要绘出一个点。
简单线型由短划线、点和空格组成。在地形图中主要包括公路、小路、房屋实边线等,这些线型比较简单。下面以定义县级行政区界线为例来说明如何使用文本编辑器定制简单线型。
用任一文本编辑器打开acad.1in或acadiso.1in文件,或新建一个文件newLtype.lin,newLtype.lin必须保存在与标准线型acad.1in或acadiso.1in文件相同的路径中,在AutoCAD 2007中为C:/Documents and Settings/Administrator/Application Data/Autodesk/AutoCAD 2007/R17.0/chs/Support。在newLtype.lin文件中加入下面两行内容:
保存此文件并退出文本编辑器,即完成线型的定义。代码说明:第一行中“*”为标识符,标志一种线型定义的开始。“县界”为线型名,之后是对线型形状的简单描绘 (描绘是示意性的)。第二行必须以“A”开头,表示对齐方式。正数4.5表示绘4.5单位长的短划线,负数-1.75表示空1.75单位长的空格,数字0表示绘出一个点。
1 .3 .1 复合线型的定义格式
复合线型除了包含短划线、点和空格外,还包含形或文本对象。复合线型的定义格式与简单线型基本相同,不同之处在于还可在定义的线型中嵌入文本字符串或形文件 (.shx)中的形。复合线型定义的具体格式如下:
其中,嵌入文本字符串的定义语法为:
嵌入形的定义语法为:
其中:Text是嵌入的文字,须用双引号括起来。Text_style_name是嵌入文字所用的文字样式名。如果当前图形中没有Text_style_name,则AutoCAD不允许使用此线型。Shape_name是嵌入的形名。Shx_file_name是嵌入的形所在的编译后的形文件名。其余五个字段,R=n,A=n,S=n,X=n和Y=n为可选项。其后面的n表示各参数的值。
R表示文本或形相对于当前画线方向的倾斜角度。在系统默认情况下该选项值为0,表示文本或形的方向与当前线段方向一致。
A表示形或文本相对于世界坐标系的X轴的绝对倾斜角度。当文本或形总是以水平形式出现而与线段的方向无关时,A=0。用户可以指定R和A,但两者不能同时指定。如果两个都没有指定值,则AutoCAD将采用R=0。R和A默认以度(d)为单位,如果希望以弧度或梯度作为单位,那么数字后面必须加r或g。
S用来确定文本或形的比例因子。如果使用固定高度的文本样式,AutoCAD则将该高度乘以n。如果使用可变高度的文本样式,AutoCAD则会把n当作是绝对高度。对于形而言,该比例因子会使形按确定的比例放大或缩小。
X和Y用于确定文本或形相对于线型定义所确定的当前点的偏移量。默认情况下,AutoCAD将文本字符串的左下角或形的插入点放在当前点上。X的值使文本或形沿着当前线段方向移动。大于0时和当前线段方向相同,小于0时相反。Y的值使文本或形沿当前线段方向垂直的方向 (逆时针)移动,大于0时与该方向相同,小于0时相反。这两个值将使文本或形的定位更精确。
1 .3 .2 复合线型的定制
在进行复合线型的定制时,可以把形或文本同时嵌入到同一种线型中。下面分别介绍复合线型的定制方法。
(1)定义带形 (Shape)的线型。
以堤、陡坎、斜坡为例,这三种线型都嵌入了一个共同的形 “︱”。其描述代码为:
以上代码说明:第一行是标题行。以“*”开头,形的编号为135,由6个字节定义,形名为“KAN”。
第二行为描述行。 “014”为一个描述字节,其中的0表示后边两个字符是十六进制数,1代表1个矢量长度,4代表矢量的方向。整个字节表示从定义点落笔,向4方向划1个单位长度线段。“2”表示提笔,和后面的“01C”一起表示向C方向空移1个单位长度,“1”表示落笔,和后面的“01C”一起表示向C方向划1个单位长度线段,“0”表示形定义结束。(形的定义在这里不再赘述,有兴趣的读者可以参考AutoCAD“帮助”→“自定义手册”→“形和形字体”→“创建形定义文件”)
用文本编辑器或字处理器将上述代码写入新建的newshape.shp文件中,并保存在C:/Documents and Settings/Administrator/Application Data/Autodesk/AutoCAD 2007/R17.0/chs/Support路径下。
形文件必须编译后,其中定义的形才能被调用。在AutoCAD命令行键人COMPILE命令,当显示“选择形或字体文件”对话框时,从相应路径下选择形定义文件newshape.shp开始编译。编译后在同一路径下自动生成同名.shx文件,即newshape.shx。用LOAD命令加载编译后的形文件newshape.shx后,定义的形就能被SHAPE命令调用或用来定制复合线型。
用文本编辑器新建或打开线型文件newLtype.lin,在文件后面加入堤、陡坎、斜坡的线型定义,具体如下,结果如图1所示:
图1 包含形对象的复合线型Fig.1 Complex linetype including shape object
(2)定义带文本字符串的线型。
定义像地面下的污水管道带有文字的线型,如图2所示,具体定义如下:
图2 污水管道Fig.2 Sewage conduit linetype
*热力管道
(3)定义同时带文本和形的线型。
定义架空的热力管道的复合线型。假设墩架图
图3 热力管道Fig.3 Heating pipe linetype
其中的形定义如下:
用文本编辑器定义的线型,其代码都是在英文半角状态下输入。线型定义完后并不能直接用来进行绘图操作,必须进行加载后才能调用。在Auto-CAD中,打开“线型管理器”对话框,利用“加载”选项打开“加载或重载线型”对话框,在文件中选择线型文件newLtype.lin后,既可显示所有的自定义线型,随后即可加载所需线型。新线型被加载到“线型管理器”对话框中后,在“线型管理器”对话框中选取新定义的线型,并将该线型置于当前图层中,最后单击“确定”按钮,返回到绘图窗口,即可使用所定义的新线型进行绘图。
在AutoCAD完全安装的情况下,可以利用Express Tools提供的MKLITPE命令来定制线型。用户无需了解线型的定义格式,也无需反复测量各种数据,只需先绘制出构成线型的各元素,然后激活MKLITPE命令,按照命令提示选择构成线型的各元素对象,即可生成所需的线型[2]。MKLTYPE命令可以定义一个基于所选对象的新线型,而且不需要加载,在“线型管理器”中就能看到,是线型定义的快速有效方法。其命令行提示如下:
这里的线型元素既事先绘制好的点 (dot)、线(line)、文本 (Text)和形 (Shape)。AutoCAD将用这些对象的位置、长度等数据来自动生成线型代码。
线型的多样性,是地形图绘制的特色之一,可以说掌握了地形图中线型的定制和使用,就等于掌握了AutoCAD线型定制的全部内容[4]。地形图的境界线、道路、管线等都是用特殊的线型表示的,而在AutoCAD中却很少有专用的地形图线型。通过本文的介绍,用户可以定制实际需要的线型,同样能够达到事半功倍的效果。
[1]高永芹.测绘CAD[M].北京:中国电力出版社,2008.
[2]杨德星,王 顺.快速定制符合工程设计的CAD线型与图案[J].煤矿机械,2003(9):67 -69.
[3]章斌全.AutoCAD进阶教程[M].北京:中国宇航出版社,2003.
[4]李海祥,许艺朦,陈 刚.浅谈AutoCAD线型库制作[J].测绘与空间地理信息,2008,31(4):200 -202,205.