昨天有同事问笔者以前的做的形文件和线型文件是怎么做出来的。时隔四五年,笔者实在想不起来形文件中形是怎样制作出来的。用google搜索一下,都是说用文本硬写出来的。搜索了一上午,总算明白了:CAD的express Tools自带制作形的功能。打开控制面板,添加或安装程序,找到cad2007,点添加/删除,在缓冲画面过后会跳出一个界面,你点第一个添加或删除功能,在接下来的选项中,你找到express tools 在前面的方框打钩,安装以后就出现了Express 的菜单,在Tools中有Make Shape的命令。笔者深感技术记录和分享非常重要。为了方便笔者检阅,特将CAD中的形和线型制作有关内容梳理如下:
一、形的特点
形式一种特殊实体,它是用直线、圆弧或圆定义的复杂图形对象,文本字体就是一种特殊类型的形。系统在调用形时,把其看做一个整体,既可以很方便地被绘入到图形中,也可以根据需要选定形插入点、缩放比例和旋转角度等, 以获得不同的位置和大小。
形的调用和块的调用有些类似,但AutoCAD对二者的定义完全不同。块比形易学、易用且通用性强。形的最大特点是节约大量内存和绘图效率高。
二、形的定义
在AutoCAD中,形的定义具有一定的格式和规定,用户必须严格遵守。每一个形的定义都包括一个标题行和若干个描述行。
1、标题行
标题行以*开始,说明形的编号、大小及名称。格式如下:
*形编号,定义的字节数,形名称
注:1)形编号:每一个形必须定义一个编号,占用一个字节,用整数表示。编号的范围在1-255之间,其中1-129已经被系统占用。用户只能用除此之外的其他编号,即130-255之间。
2)定义字节数:描述一个形所需要数据的字节数。
3)形名称:每一个形不仅具有一个编号,还必须赋予一个名称即姓名,且必须使用大写字母表示。注意,小写的形名不会被存入存储器中,会被系统忽略而无法被调用。
2、描述行
在形定义中,标题行之后是描述行。描述行用数字或字母来描述形的直线段、圆弧的大小和方向。直线段和圆弧采用不同的描述方法,形的描述采用描述码的形式。用于描述形的数字用逗号隔开,最后用0结束。描述可以用多行表示,但是每行的字符数不得超过128个。
在AutoCAD系统中,形的定义有两种编码:标准矢量码和特殊码。
例子:表示一个正方形的加一条对角线。
*195,6,BOM
010,014,018,01C,012,0
4、特殊码
由于定义的图形对象不同,如非标准方向线段,圆弧等,以及描述绘图过程中的各种状态如抬笔、落笔等,仅靠16中标准矢量线段是不能描述内容丰富的形。为此AutoCAD系统设定了特殊描述码,大大方便了形的描述。
特殊描述码的定义:
0 表示形定义结束
1 表示激活绘图模式(落笔)
2 表示停止绘图模式(提笔)
3 表示用代码的下一字节去除矢量长度,即比例缩小
4 表示用代码的下一字节去乘矢量长度,即比例放大
5 将当前位置压入堆栈,即保存当前位置
6 堆栈弹出当前位置,即恢复由代码
7 引用其它形,代码的下一字节指定了被引形的编号
8 当前位置绘制线段,代码的下两个字节指定了线段在X、Y方向上的相对位移
9 由当前位置开始绘制一系列的线段,代码后面的字节分别指定了各个线段在X、Y方向上的相对位移,最后以(0,0)为结束符
10 绘制八分圆弧
11 绘制分数圆弧
12 根据由X、Y位移和凸度绘制圆弧
13 多个指定凸度的圆弧
14 仅适用于垂直文字,用来将下一个字符绘制在前一个字符的下面
提示:在形定义的代码中可使用括号来增强可读性。
代码10:定义一段圆弧,代码后跟两个字节的参数以说明圆弧的结构。所定义的圆弧成为八分圆弧。如图2-7所示。这是因为它括约了一个或多个45°的八分圆弧,圆弧的起点和终点定义在一个八分圆弧的边界上。圆弧的定义为:
10,半径,(-)0SC
其中,半径为整数,一个字节,取之范围在1-255之间。第二个字节定义圆弧的绘制方向、起点和终点位置。
对于圆弧的方向规定如下:从起点画至终点,如果为逆时针方向,则取正值;反之,顺时针方向为负值。若为正值时,+可以省略。0为前导符,S表示圆弧起点在八分圆弧上的位置,其值为0-7的整数。C表示圆弧所跨越的八分圆弧的个数,其值为0-7的整数,在此0表示8个八分圆弧或一个完整圆。
例如:圆弧A :10,(2,014)。
*155,12,FIVE
1,9,(-5,0),(0,-4),(0,0),10,(3,-024),0
*156,17,TM
1,10,(1,020),2,8,(-2,0),1,9,(2,-3),(4,6),(0,0),0
*169,5,CIRCLE
1,10,(1,020),0
三、形的制作
1、可以在 AutoCAD绘图环境下制作图形实体之后 ,采用程序转换生成形文件脚本编码的办法制作形符号 ,但生成的形代码的字节数会较大 ,而且制作出来的图形也不一定美观 ,尤其圆弧段的显示最为明显。也可用Express Tools制作。
2、 完全手工编写的形文件 ,只要巧用心思 ,充分利用子形和圆弧等描述代码 ,就可以使得所生成的形符号不仅美观 ,而且形文件的字节数也很小。
; user.shp - user defined shapes
*1,4,TRAINGLE
020,016,01A,0
四、形文件的编译和加载
注意:当形文件编辑完成后,以后缀名为SHP的格式保存。
第一步:使用COMPILE命令
第二步:使用LOAD命令
第三步:使用SHARP命令
五、线型定义
1、线型定义格式
线型定义由标题行和模式行两部分组成。
(1) 标题行:由线型名称和线型描述组成,标题行以“*”为开始标记,线型名称和描述由逗号分开,其格式为:
*linetype-name [, description](*线型名称[,线型描述])
(2) 模式行:由对齐码和线型规格说明组成,中间由逗号分开,其格式为:
alignment,patdesc-1,patdesc-2, ...(对齐码,线型规格说明…)
例如:在acad.lin文件中对BORDER(边界线)的定义如下:
其中对齐码“A”表示该线型采用两端对齐方式,目前AutoCAD仅支持这一种对齐方式。
2、简单线型的定义
简单线型是由短划线(Dash)、点(Dot)和空格(Space)组合而成。在简单线型的规格说明中,正数表示其值为长度的短划线,负数表示其绝对值为长度的空格,0表示点。例如在BORDER的规格说明“A,.5,-.25,.5,-.25,0,-.25”中,.5表示0.5个单位长的短划线,-.25表示0.25个单位长的空格,0表示一个点。
3、复杂线型的定义
复杂线型是在简单线型中嵌入符号、字符串或形等其它素而成的。
(1) 在线型规格说明中嵌入文字的格式为:
["string",style,R=n1,A=n2,S=n3,X=n5,Y=n6]
其中:
“string”:嵌入的文字,须用双引号括起来。
style:嵌入文字所用的文字样式名。
R:嵌入文字相对于画线方向的倾斜角度。
A:嵌入文字相对于WCS坐标系中X轴正向的倾斜角度。
S:嵌入文字的比例因子。
X:嵌入文字在画线方向上的偏移量。
Y:嵌入文字在画线方向的垂向上的偏移量。
例如:在acad.lin文件中对“GAS_LINE”线型的定义如下:
*GAS_LINE,Gas line ----GAS----GAS----GAS----GAS----GAS----GAS--
A,.5,-.2,["GAS",STANDARD,S=.1,R=0.0,X=-0.1,Y=-.05],-.25
(2) 在线型规格说明中嵌入形的格式为:
[shape,shape file,R=n1,A=n2,S=n3,X=n5,Y=n6]
其中:
? shape:嵌入的形。
? shape file:嵌入形所在的形文件,该文件应在AutoCAD的系统路径中。
? R、A、S、X、Y的意义同上。
例如:在acad.lin文件中对“GAS_LINE”线型的定义如下:
*FENCELINE2,Fenceline square ----[]-----[]----[]-----[]----[]---
A,.25,-.1,[BOX,ltypeshp.shx,x=-.1,s=.1],-.1,1
编辑本段
4、线型的创建和修改
通过前面的学习已经了解了线型是如何定义和保存的,在此基础上对标准线型进行修改或自己创建新的线型。在AutoCAD 2002中提供了“-Linetype”命令对线型进行各种操作。现在就使用该命令在AutoCAD环境下创建一个新的线型和线型文件。
5、实例1 创建“INTERVAL”线型
(1) 运行AutoCAD 2002,在命令行输入:-linetype,AutoCAD在命令行提示:
Enter an option[?/Create/Load/Set]:C Enter
Enter name of linetype to create: INTERVAL Enter
此时,AutoCAD弹出“Create or Append Linetype File”对话框,如图32-2所示。
(2) 在“Create or Append Linetype File”对话框中输入线型文件名“user.lin”,并按下Save键返回。此时系统创建并打开了一个新的线型文件“user.lin”;
(3) 命令行提示用户输入描述文本和线型模式:
Descriptive text: Interval ____ ._. ____ ._. ____ ._. ____ ._. Enter
Enter linetype pattern (on next line):
A,1,-.125,0,-.125,.25,-.125,0,-.125 Enter
New linetype definition saved to file.
Enter an option [?/Create/Load/Set]: Enter
实际上,由于线型文件是ASCII格式的,因此用户可以在AutoCAD环境外使用任一文本编辑器直接打开或创建线型文件,并对其内容进行补充和修改。
6、实例2 创建“ARROW”线型
(1) 使用Windows附件中的“记事本”程序打开由实例一创建的“user.lin”文件。
(2) 在该文件中添加如下内容,如图32-3所示。
*Arrow,Arrow -->-->-->
A,.25,-.05,[">",STANDARD,S=.1,R=0.0,X=-.1,Y=-.05],-.1
(3) 进入AutoCAD 2002,载入线型文件“user.lin”,即可使用该文件中定义的“INTERVAL”和“ARROW”线型,图32-4显示了使用这两种线型的例子。
说明使用“-linetype”命令,如果该线型己在库文件中存在,则系统会提示用户该线型已经在库文件中定义,并询问用户是否重新定义。用户可对其重新定义来实现对已有线型的修改。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/96730.html