线型的多样性,是地形图绘制的特之一,可以说掌握了地形图中线型的定制和使用,就等于掌握了AutoCAD线型定制的全部内容。地(形)图行政区界线、道路、管线等都是用特殊的线型表示的,虽然在CAD中很少有可供使用的专用的地形图线型,但通过由AutoCAD提供的线型自定义功能,处理这些特殊线型也并不是一件困难的事。本文通过对地形图中典型线型的定制和使用的介绍,以帮助初学者掌握AutoCAD中线型的定制及使用。在这里把地形图中的线分为两大类:一类是普通意义上的线,象等高线、小路,输电线、长城线等,这样的自定义线尽管有的外形较复杂,但都把它归为同一类,因为它们在使用上是一致的,由同样的方式调用,同样可供line、pline这样的命令使用,是“真正的线”;另一类是所谓多线(或多重线)Multiline。多重线实质上是由多条线平行构置而成,对其定义好后,由多重线绘制命令mline,一次就可以把多条不同样式的平行线绘制成。Multiline(多线)作为一种“线”,比起用Offset(偏移)等命令来,在使用上自然有作为“线”的优越之处。 一、如何定制各种通用的性型可以把普通线型的分为三类:简单线型、带形(Shape)的线型、带文本字符串的线型。
(一)、如何编辑和调用线型文件线型文件是以.lin为扩展名的文本文件,可使用任何ASCII文本编辑器来编辑,如Windows的NOTEPAD记事本。将线型文件编辑好后最好保存在AutoCAD的路径中,如AutoCAD 安装目录下的\SUPPORT子目录中,这样就可以进入AutoCAD的缺省调用路径中。在线型文本中,可插入任何说明,只需在行首加上双分号“;;”。在AutoCAD中要调用自定义的线型,只需在线型调用对话框中,将待输入的线型文件名,能过浏览路径,选择确认自定义的.lin文件即可。(二)、如何定义象行政分界线这类简单的线型。这类线型是由重复使用的虚线、空格、点组成,如:*县界(宽.2),-.-.-.-.-.-.-A,2.0,-1.0,0,-1.0第一行中*号为标示符,标志一种线型定义的开始。“县界”为线型名,宽.2用以提示线宽为0.2mm。在AutoCAD2000中增加了线宽选择的工具条,就放在线型选择条的旁边,这是一个很有用的功能,通过它可以方便地设定所绘线的宽度,所以在线型名中设置宽度提示也更有意义。AutoCAD2000上新增的线宽设置功能,在缺省状态下只用于打印输出,如要在绘制时就能显示出来,需进入“Format”菜单,对“Lineweight”进行设置,选择“DisplayLineweight”。同时还有一个有趣的设置“AdjustDisplayScale”,即调节线宽显示的粗细倍数,这一设置,使得对于线宽的设置,仅在打印输出时是精确的,而在屏幕显示时是示意性的,使带宽度线条有更好的屏幕显示效果。线型名之后是用字符对线型形状的粗略图示描绘,表示县界线是点划线的形状。(描绘是示意性的,不对实际线型的形状产生影响)。第二行必须以A开头,表示对齐类型。正数2.0表示绘2个单位的短划线,负数-1.0表示一个单位的空格,数字0表示点。关于线型名,从AutoCADR14开始,就完全可以使用汉字作为线型名称,但在R14版中一般不要中英文混用,使用中文名后,如一定要使用字母或数字,只能用全角字符格式。在AutoCAD2000中就没有这些限制了。限于AutoCAD工具条中线型框显示的宽度,线型名不要超过10个汉字。
(三)、如何定义象高压线、城墙这类带形(Shape)定义的线型。在简单线型的定义中,插入形单元,则组成带形定义的线型。如高压线线型定义为:*高压线,<-.->A,.001,[CIRCLE,map.shx,s=0.4],-0.4,1.8,[ARROW,map.shx,s=1],11.0,[ARROW,map.shx,s=1.0,R=180],1.8第二行至第四行本为一行,是为了书写方便才作换行处理的。方括号内为形定义部分,三次引用了共两个形单元,CIRCLE为一个单位圆形,ARROW为箭头,两个形单元均放在名为map.shx的形文件
中。[ARROW,map.shx,s=1.0,R=180]的含义是这样的:ARROW为形名(Shapename),指箭
头,map.shx为存放ARROW的型文件名(Shapefilename),放在AutoCAD的执行路径中,s
即scalefactor(比例缩放因子),s=1.0就是将ARROW保持形定义中的大小,R即Rotationangle(旋转角度),R=180就是在ARROW插入时转向180度。形单元的完整定义如
下:[Shape_name,Shape_file_name,S=scale_factor,R=rotation_angle,X=x_offset,Y=y_offset]x_offset
和y_offset是形插入点在x和y方向上的偏移量,在定义地图线型时一般缺省不用,按0外理。此外R的缺省值为0,S为1,只有Shape_name和Shape_file_name是不能缺省的。具体叙述高压线的定义。第二行A后的数字0.001,是为了在形绘出过程中,将绘图笔移至开始,即落笔点一短线。接着绘一个半
径为0.4的圆形单元。绘过圆形后,数字-0.4的作用是留一个0.4绘图单位的空格,以使笔触移过圆形,后面的绘制不在圆形上重叠。接着绘1.8长的短线,再绘一个箭头-形单元。箭头后面是11个单位长的短线,再是一个转向180度的箭头和1.8个单位的短线。
(四)、如何定义带文本字符串的线型在简单的线型中插入文本字串,就构成了带文本字符串的线型。这种方式在地形图的处理中用得不多。下面的例子比较典型地体现了其定义方
法,S、R、X、Y的意义和上文中对形单元的引用相同。在AutoCAD2000中,文本字串可以使用中文,但在使用线型之前必须在所绘的图形中定义好所使用的中文字体。*分界线,分界线分界线A,20,-.5,["分界线",中等线体,S=1,R=0.0,X=0,Y=-.5],-5
(五)、生成形(Shape)的捷径
1.形的定义过程中,前后有两种文件形式:.shp和.shx。.shp是文本文件,可以使用任何文本编辑器来编辑形的定义的.shp文件。在AutoCAD的命令行中用compile命令可将.shp文件编译成.shx文件。.shx文件是形供AutoCAD直接调用的文件,在用load命令调入.shx文件后,使用shape命令就可以像使用块一样插入形所描绘的图形。
2.下一段落的三行文字,是绘制地图时定义的形文件(Map.shp)中关于城跺的定义,第一行双分号后是
说明文字,可以任意使用中英文或字符。第二行*号表示一个定义的开始,*号所在的行是关于形的一般信息的标题行,其中“2”为城跺的形定义在Map.shp中的排序号,“6”为数字描述行的字节长度,“GWALL”为形的名称。从第三行开始是数字描述行,这些数字支配着一支“虚拟的笔”,控制着它的移动和起落,靠它来把形“绘制”出来。;;城跺*2,6,GWALL003,5,034,040,03C,0
3.自定义形比定义线型要复杂一些,AutoCAD中有详细的介绍,看起来当然比较费劲,全面学会它还得下点功夫不可。不过这里有一条捷径,我已调试好一个公开的LISP程序make_shape.zip,它能将绘制的DWG图形自动转换为形文件,放在站点/~7color上与各位朋友私下共享。不过使用AutoCAD2000的朋友就用不着这个程序了,因为AutoCAD2000的“Express”就自带制作形的功能。“Express”是R14中“bonus”的升级版,“Makeshape”就在其“Tools”中。
二、如何绘制高速公路这样的多重线(Multiline)象公路和高速公路这样的线体,是由几种不同颜的线组成的,这种线型就很适合用Multiline来绘制。多重线的操作方法如下:1.在菜单“Format”栏下选多线风格“MultilineStyles”,进入其对话框。
2.在“MultilineStyles”对话框中,第一项是“Current”,显示着现有的多重线名,这个被显示的多重线将被作为新建多重线的模板,因此应按“下三角”从已有的线型中选择最合式的一个,缺省的是“STANDARD”。在“Name”中,缺省显示的名称是所选定的模板线型的名称,应输入一个新的名称,并在“Description”中输入适当的描述和说明文字。
3.按“Add(添加)”钮后,就将此线名加入到目前库中了。下面就开始进行多重线的设置。
4.按“”,进入“ElementProperties(元素属性)”对话框,设置多线中的各元素。
5.在该对话框中,用鼠标选择已存在的元素(线条),就可对其Color(颜)、Linetype(线型)、Offset(偏移)三个参数进行更改,其中“偏移”是指所选定的(线)元素离中心线的距离,在中心之上为正,之下为负值。
6.在AutoCADR14中,增强了在此指定Linetype(线型)的功能,这是一个很有用的功能,按此功能钮后,进入“SelectLinetype”选择线型,如果当前的可选线型少,还可以通过“”调入自定义的各种线型。能调用自定义线型这一功能,使得多重线实际上具有了绘制图案条带和花边的功能,而这在以往是只有通过编程才能实现的。
7.要增加元素(即线条),按“Add”钮,并随即指定其偏移量、颜、线型三个参数值。所有的线设置好后,就可以“OK”退出,返回到主界面“MultilineStyles”,进入“”的设置。
8.在多重线属性“MultilineProperties”中,“Caps”的一些选项主要决定线头的形状。很有价值的一项功能是“Fill(填充)”,选中“On”,然后设置填充颜“Color”,所选定的颜将作为背景充填在多线中。
9.实例:定义“高速公路”线型,使用四条黑连续线,偏移量分别是9.5、8.5、-8.5、-9,再用棕填
充即可。
10.保存。按“Save”钮后,选择一个.mli多线库文件,即可将此线型添入到此mli库中。注意:应该每建一个线型保存一次,因为每次“Save”的都是当前所建的线型。
11.使用。在菜单“Format”栏下选“MultilineStyles”,进入其对话框,在“Current”中选中所要使用的线型名,若所要的线型不在列表中,可通过“”调入按钮,选择mli库文件,调入预先定义的线型。在“Current”中显示的线型就是当前缺省的线型,使用Multiline工具钮或“mline”命令就可以进行绘制了。
CAD线型
第一,定义简单的线型
很多用AutoCAD的人用惯了AutoCAD,但从来没有接触过自定义的问题,现在我们就来定义一个简单的线型。用文本编辑软件(如Windows自带的写字板、记事本均可),新建一个文件,文件内容如下:
*Dhx,Border-.-.-
A,10,-2,0,-2
然后将文件另存为后缀为lin的文件,如user.lin,然后进入AutoCAD,加载刚才的线型文件,试试看,是不是很漂亮的点划线?
现在我来谈谈刚才那个文件中个字段的含义。
第一行,"*"代表注释行,"Dhx"为自定义的线型名称,后边的"Border-.-.-"为线型描述,如是自己使用且能记的话,可省略描述。
第二行,为线型第一部分,"A"为对齐方式,后边我们再讲,"10"表示画10单位长的线,"-2"表示2单位长的空格,"0"表示原点,"-2"表示2单位长的空格。
线型文件:AutoCAD所定义的型文件是一种*.Shp类型的文件,并包含具有特殊格式的文本,实际使用的线型文件是经过编译后的ASCII码格式的*.Shx文件。
线型定义文件的格式:
a.标题行:标题行是以"*"开始,说明型的编号、大小及名称。标题行如下所示:
*Shapenumber(线型编号),defbytes(定义字节数),Shapename(线型名)
b.描述行:用数字或字符来描述型中所包含的线段、弧的大小和方向。
线型定义文件的描述码:描述直线段矢量的码占用一个字节,高4位表示矢量的长度,低4位表示矢量的方向。共分成16个标准方向的矢量。凡是符合这16个标准方向的矢量就可以写出其编码,该编码包含该矢量的大小与方向。
型定义文件的特殊码:由于要定义的对象不同,如直线段、圆弧、以及要描述的各种状态入抬笔空走,落笔画线、型定义结束等等。设定了一些特殊码加以描述。其定义为:
码定义
000线型定义结束
001启动绘图模式(即落笔画线)
002关闭绘图模式(即抬笔空走)
003用下一字节除矢量长度
004用下一字节乘矢量长度
005将当前为止压入堆栈
006将栈中内容弹出到当前位置
007画出由下一字节给出的子型
008由下两个字节给出X-Y位移,绘制非标准矢量
009给出多个X-Y位移量来绘制非标准矢量,并必须由(0,0)结束
00A由下两个字节定义八分圆弧
00B由下五个字节定义任意部分圆弧
00C由X-Y位移和凸度定义圆弧
00D绘制多段圆弧
00E只在垂直文本方式处理下一个命令
*TVline,CATVLineTVTV
A,30,-1,[["TV",STANDARD,S=5,R=0.0,X=0.0,Y=-2],-3
把上面这段代码加到上次定义的user.lin(当然也可以新建一个后缀为lin的文件)
线型定义的第一行:*TVline,CATVLineTVTV
是注释行,
第二行:A,30,-1,["TV",STANDARD,S=5,R=0.0,X=0.0,Y=-2],-3
开始的"A"仍然是对其代码,30是30单位的直线段,-1代表间隔一个单位,方括号内"TV"表示在线型上出现的文字,STANDARD表示"TV"文字的自型,S=5表示文字比例为5,R=0.0表示文字的转角为0,X=0.0表示文字的水平偏移为0,Y=-2表示文字下沉2单位,后边的-3表示文字与线段的距离。
在定义线型的时候,有时候因线型文字字形的不同,可能会出现文字的位置不合适,此时就要适当调整线段与文字间的距离(定义中的-1,-3),有时还要调整文字的比例S=,文字的偏
移X=,Y=,只要将三个等式右边的数值细心调整,最后就会得到自己满意的线型。
在该线型定义中,用户不仅可以使用已有的字型,还可以使用自定义的"型",使线型带有图形符号。
*CNC_LINE,CNClineCNC--CNC--CNC--CNC--CNC--CNC
A,50,-25,["CNC",线型,S=12,R=0.2,X=0.0,Y=-6],-65
一般文件中";;"代表注释行。可以利用它来添加一些注释性文字,以增强文件的可读性。
第一行没有什么特别的,跟简单线型定义一样,是线型名和线型的简单描述。
第二行的A当然是对齐符号,数字的意义仍然与前面一样。我们集中精力来看文本的嵌入。"CNC"是嵌入的文本,注意必须加上双引号。"线型"是文字样式的名字,如果当前图形中没有该样式,则AutoCAD不允许使用该线型。"S=.2"确定文本的比例系数为0.2。如果使用固定高度的文本,AutoCAD会将此高度乘以比例系统数;如果使用的是可变高度的文本,则AutoCAD会把比例系统数看成绝对高度。"R=0"表示文本相对于当前线段方向的转角。0表示文本与所给线段方向一致,这也是缺省值。"X=-.1,Y=-.1"为可选项,它们确定相对于当前点的偏移量。缺省时AutoCAD将文本字符串的左下角点放在此当前点。X就是当前线段的方向,Y则是垂直于线段向上的方向。这两个偏移量将使文本的定位更精确。