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