1、徐俊科 杨国东 石伟伟摘 要 本文论述了利用 AutoCAD/R14 线型定义功能建立大比例尺地形图线状符号库的方法、技巧及所应注意的问题,并给出了部分线型的定义。关键词 AutoCAD 大比例尺地形图 线状符号 线型 型The Development of Linear Symbols for Large-scale Map Using AutoCADXu Junke(LangFang Pipeline Institution,Hebei,065000)Yang Guodong Shi Weiwei(The Dep.Of Survey Engineering,ChangChun Univer
2、sity of Science&Technology,130026)Abstract:This paper is on how to develop Linear Symbols for large-scale map using AutoCAD,some skills,advice and examples are given.Key Words:AutoCAD,Large-scale map,Linear symbols,Linetypes,Shape1 引 言众所周知,线状符号库的建立是开发大比例尺地形图成图系统一项最基础的工作,线状符号库设计的好坏不仅是衡量一个成图系统优劣的重要标准,
3、而且也是减少软件开发工作量、缩短开发周期的重要因素。因此,迅速、高效、精确地建立线状符号库,具有重要的现实意义!本文拟就这一问题,以 AutoCAD/R14为例加以论述。2 AutoCAD 中的线型定义借助于 AutoCAD 中强大的线型定义功能可以方便、高效建立线状符号库。AutoCAD 的线型库是由 CAD的线型定义文件定义的,该文件存放在以 LIN 为扩展名的外部文件中,AutoCAD 中缺省线型库名为ACAD.LIN。线型(Linetypes)是由若干点、划、间隔、型、文字等按照一定的顺序排列起来的循环体。仅含有点、划和间隔的线型是简单线型(Simple Linetypes);不仅含有
4、点、划和间隔而且嵌入了型或文字的线型称为复杂线型(Complex Linetypes),一个标准的 CAD 线型库含有 41 种简单线型和 7 种复杂线型。虽然两种线型在用法上相同,定义起来却有很大差别,下边我们分别作以介绍。2.1 简单线型(Simple Linetypes):简单线型仅含有点、划和间隔三种元素,定义语法格式如下:*Linetype-name ,Descript_ionAlignment,Patdesc-1,Patdesc-2第一行定义了线型名和特征,“*”后是线型的名字,再后边是描述段(不得超过 47 个字符,可以缺省),这两个参数都将在 Linetype 对话框中显示。第
5、二行代码以特征码 A 开始,AutoCAD 目前只识别特征码 A。其余代码是一系列以逗号间隔开的特征码段,每个代码指定一段组成该线型的单元,在简单线型中,正数表示一段以该数值为长度的绘出的线;负数表示一段以该数值为长度的非绘出的线(即间隔),零表示点。这样的代码段在线型定义中最多有12 个。图 1“村界”所对应线型定义为:*cj,村界- - . - - . - -A,4,-1,4,-1,0,-1,4,-1图 1CAD 在绘制线型时自动调整线型,使线的终点位于“划”上,而非点或间隔上。使用简单线型可以快速地定义大车路、地类界等线型。2.2 型(Shape):型是构成复杂线型的重要对象,也是线型中
6、变化最为灵活的元素。型类似块,含有型的 Shp 文件使用 Compile 命令编译,再用 Load 命令装入方可使用。使用时用Shape 命令可以把型象块似的装入图形中。但与块相比,型在储存与绘制上更具优越性。型定义的语法格式如下:*shapenumber,defbytes,shapename specbyte1,specbytec2,specbytec3,.,0在第一行描述中,shapenumber 表示型序号,取 1258 间的整型数,不得重复;defbytes 表示型参数代码段个数;shapename 是型名字。第二行是描述型的若干代码段,既可以使用十进制也可以使用十六进制数,这些代码分
7、为矢量长度、方向代码和特别代码。1)矢量长度、方向代码矢量长度方向代码是一个三字符的字符串,首字符“0”表示后二字符是十六进制数;第二个字符表示沿某个方向的长度,取 1F;第三个字符是矢量的方向,取 0F,数值与方向的对应关系如图 2 所示:图 2如定义陡坎短线“|”的型:*200,2,doukan014,0“014”表示沿“4”方向从当前位置以一个单位画一矢量,“0”是线型定义结束标志。2)特殊代码特殊代码可以用来定义一些包括圆(弧)在内的更为复杂的线状符号的型。特殊代码有 16 个(0F),其含义如下:代码 说 明000 型定义结束001 激活绘图模式(落笔)002 暂停绘图模式(抬笔)0
8、03 将矢量长度用下一参数去除004 将矢量长度用下一参数去乘005 将当前位置坐标放入堆栈006 从堆栈中取出坐标作为当前位置007 绘制下一参数所对应子型008 X-Y 偏移绘线段009 X-Y 偏移绘折线,以(0,0)结束00A 用后边二参数定义若干八分圆弧00B 用后边 5 个参数定义弧的片段00C 用 X-Y 偏移和弦高定义一段弧00D 用 X-Y 偏移和弦高定义多段弧00E 垂直文本每一特殊代码都有其特殊语法要求,限于篇幅,在此不一一赘述。详细使用可参看AutoCAD R14 Online Help。2.3 复杂线型(Complex Linetypes)复杂线型的定义和简单线型类似
9、放在.LIN 文件中,它按照指定的端点,动态嵌入型和文字,对嵌入体不做剪切,自动将端点调整到线段上。复杂线型的代码可以是型与文字嵌入体。线型描述中有关型和文字嵌入体的语法格式如下:shape:shapename,shxfilename,transformtext:“string”,stylename,transform这里 transform 作为参数组是可选项,可以是以下参数:R相对旋转A绝对旋转S缩放比例XX 偏移YY 偏移下边是图 3 所示两个复杂线型的定义:*GAS_LINE,Gas line -GAS-GAS-GAS-GAS-GAS-GAS-A,12.7,-5.08,“GAS”,ST
10、ANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27,-6.35*DOUKAN,陡坎 TTTTTTTTTTTTTTTTA,1,DOUKAN,xjk.shx,s=1,R=0,1 图 3在线型 GAS 的定义中用到了参数 S、X、Y,实际工作中为了要把插入体放在线的中央,常需要调整这几个参数。型象其他描述代码段一样占据一个代码段位置,绘制时,该型将依参数设定动态绘出。使用复杂线型可以定义陡坎、围墙等复杂的线状符号。3 线状符号库的设计利用 CAD 中的线型定义方法,便可以依规范完成线状符号库的建立。下表列举了一些简单线型的线型定义:线型名 线型规格 定义格式内部道路 - A,1,
11、-1,1,-1大车路 A,8,-2,8,-2地类界 A,0,-1.6,0,-1.6下表列举了一些复杂线型的型定义、线型定义:线型名 线型规格 型 定 义 线 型 定 义陡岸 *150,14,DOUAN034,2,02c,5,1,3,10,0c0,6,2,0A4,1,0A0,0 *DOUAN,陡岸 FFFFFFFFFFFFFFFFFFA,1,DOUAN,xjk.shx,1栅栏、栏杆*143,6,HANGSHU3,2,10,1,000,0*140,2,DOUKAN014,0A,2,-1,HANGSHU,xjk.shx,4.5,DOUKAN,xjk.shx,2.54 技巧及应注意的问题4.1 严格按
12、测量规范进行线型定义。在型定义和线型定义中合理设置缩放比例参数,可以保证最终出图时线型规格符合规范要求。对一些复杂型的定义,可先用较大的规格定义,使用时再缩小,这样可以保证型在细节上与规范的一致性。4.2 有一些复杂符号,即使用型也不能表示,这时可以在字库中定义符号,把符号以文字的形式调用。4.3 对于不同比例尺的地图,可在 Linetype 对话框的 Global scale factor 栏内调整线型比例来满足不同比例尺地图对线状符号的要求。5 结束语作者利用文中所述方法,完成了大比例尺地形图成图系统的线状符号库的建立工作。实践证明,使用该方法建立线状符号库,方便、快捷、维护使用方便,不仅
13、能够满足大比例尺地形图成图的需要,还缩短了软件开发周期,取得了一定的经济效益!作者简介:徐俊科,男,工程师,毕业于长春科技大学测量工程系。现在廊坊管道设计院勘测队工作。联系地址:河北廊坊管道设计院勘测队 065000。杨国东,男,副教授,长春科技大学测量工程系主任。主要从事“3S“集成理论及 GIS 应用研究。作者单位:徐俊科 (河北廊坊管道设计院,065000)杨国东 石伟伟 (长春科技大学测量工程系,130026)参考文献1.AutoR14 联机手册.AutoCAD 14.0 Online Help2.美George Omura. 徐有光等译.AutoCAD14 从入门到精通.电子工业出版社,1998(3)