AutoCAD中的线型定义

徐俊科 杨国东 石伟伟摘 要 本文论述了利用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 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 引 言 众所周知,线状符号库的建立是开发大比例尺地形图成图系统一项最基础的工作,线状符号库设计的好坏不仅是衡量一个成图系统优劣的重要标准,而且也是减少软件开发工作量、缩短开发周期的重要因素。
因此,迅速、高效、精确地建立线状符号库,具有重要的现实意义!本文拟就这一问题,以AutoCAD/R14为例加以论述2 AutoCAD中的线型定义 借助于AutoCAD中强大的线型定义功能可以方便、高效建立线状符号库AutoCAD的线型库是由CAD的线型定义文件定义的,该文件存放在以LIN为扩展名的外部文件中,AutoCAD中缺省线型库名为ACAD.LIN线型(Linetypes)是由若干点、划、间隔、型、文字等按照一定的顺序排列起来的循环体仅含有点、划和间隔的线型是简单线型(Simple Linetypes);不仅含有点、划和间隔而且嵌入了型或文字的线型称为复杂线型(Complex Linetypes),一个标准的CAD线型库含有41种简单线型和7种复杂线型虽然两种线型在用法上相同,定义起来却有很大差别,下边我们分别作以介绍2.1 简单线型(Simple Linetypes): 简单线型仅含有点、划和间隔三种元素,定义语法格式如下: *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图1 CAD在绘制线型时自动调整线型,使线的终点位于“划”上,而非点或间隔上使用简单线型可以快速地定义大车路、地类界等线型2.2 型(Shape): 型是构成复杂线型的重要对象,也是线型中变化最为灵活的元素 型类似块,含有型的Shp文件使用Compile命令编译,再用Load 命令装入方可使用使用时用Shape命令可以把型象块似的装入图形中但与块相比,型在储存与绘制上更具优越性型定义的语法格式如下: *shapenumber,defbytes,shapename specbyte1,specbytec2,specbytec3,...,0 在第一行描述中,shapenumber表示型序号,取1~258间的整型数,不得重复;defbytes表示型参数代码段个数;shapename是型名字。
第二行是描述型的若干代码段,既可以使用十进制也可以使用十六进制数,这些代码分为矢量长度、方向代码和特别代码 1)矢量长度、方向代码 矢量长度方向代码是一个三字符的字符串,首字符“0”表示后二字符是十六进制数;第二个字符表示沿某个方向的长度,取1~F;第三个字符是矢量的方向,取0~F,数值与方向的对应关系如图2所示:图2 如定义陡坎短线“|”的型: *200,2,doukan 014,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 Linetypes) 复杂线型的定义和简单线型类似放在.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,陡坎 TTTTTTTTTTTTTTTT A,1,[DOUKAN,xjk.shx,s=1,R=0],1 图3 在线型GAS的定义中用到了参数S、X、Y,实际工作中为了要把插入体放在线的中央,常需要调整这几个参数。
型象其他描述代码段一样占据一个代码段位置,绘制时,该型将依参数设定动态绘出 使用复杂线型可以定义陡坎、围墙等复杂的线状符号3 线状符号库的设计 利用CAD中的线型定义方法,便可以依规范完成线状符号库的建立 下表列举了一些简单线型的线型定义:线型名线型规格定义格式内部道路----A,1,-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 严格按测量规范进行线型定义在型定义和线型定义中合理设置缩放比例参数,可以保证最终出图时线型规格符合规范要求。
对一些复杂型的定义,可先用较大的规格定义,使用时再缩小,这样可以保证型在细节上与规范的一致性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) 。