Acad线型定义定制方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Acad线型定义定制方法
--------------------------------------------------------------------------------
作者:eachy 来源: 类别:AutoCAD软件应用、定制技术 日期:2002.01.23 今日/总浏览: 1/3208
AutoCAD 线型由线型定义文件定义。线型定义文件的扩展名为 .lin。AutoCAD 线型由一系
列用空格分隔的点和划组成,并可包含嵌入的形和文字对象。缺省的线型文件是 acadiso.lin。
用户可打印此文件,以便更好地理解如何构造线型。
仅由点、划和空格组成的线型称为简单线型;不仅包含点、划和空格,还包含嵌入的形和文
字对象的线型称为复杂线型。尽管 AutoCAD 对这两种线型的处理很相似,但它们的定义有很大
区别。
创建和修改线型定义:
有两种方法可创建和修改线型定义:一种是用文本编辑器或字处理器编辑 LIN 文件,另一
种是用 -LINETYPE 命令的“创建”选项。不能在命令行中创建或修改复杂线型。
一个线型文件可包含许多线型定义。用户可将自定义线型加入 acad.lin 文件或构造自己
的线型库文件。LIN 文件可通过分号引入注释,以分号开始的行中的任何文字都将被忽略。
在 LIN 文件中,每个线型用两行来定义。第一行定义线型的名称并提供可选的说明。
*linetype-name [, description]
这一行必须以星号开始,其后紧跟线型名称。如果有说明,则必须用逗号将它与名称分开,
而且不能超过 47 个字符。说明帮助用户了解线型的外观,AutoCAD 并不使用它。
第二行是描述实际图案的代码。
alignment,patdesc-1,patdesc-2, ...
这一行以对齐方式代码(当前只允许使用 A)开始,其后是用逗号分隔的图案描述(不允
许出现空格)。
线型不能在创建时自动加载到图形中,而需要用 LINETYPE 命令的“加载”选项来加载。
简单线型:
用户也许拥有具有如下重复图案的简单线型 DD1:
划,0.5 图形单位长度
空格,0.25 图形单位长度
点
空格,0.25 图形单位长度
该线型定义为
*DD1,____ . ____ . ____ . ____ .
A,.5,-25,0,-25
DD1 是线型的名称,description 字段是 LAYER Ltype ? 命令序列所显示的线型说明。
在此例中,说明是点划线图案的简单表示。
说明是可选的,可以是一系列点、空格和划,也可以是如同“此线型用于隐藏线”的注释。
如果要省略说明,则不能在线型名称后面加逗号;如果要包括说明,则其长度不能超过 47 个字
符。
alignment 字段指定在直线、圆和圆弧末端的图案对齐操作。当前,AutoCAD 只支持一种
对齐操作,通过在此字段中输入 A 加以指定。使用 LINETYPE 的“创建”选项时,A 是自动
输入的;但如果用文本编辑器创建线型
定义,则必须手动加入 A。AutoCAD 拒绝在 alignment
字段中接受任何其他字符。
每个 pat-n 字段指定组成线型的一个线段的长度。长度为正时,画一条实线段;长度为负
时,画一条空线段;长度为 0 时,画一个点。每个线型至多可以有 12 个线段长度定义,但这
些定义必须在一行中,并且总长度不能超过 80 个字符。
AutoCAD 通过 A 类对齐保证直线和圆弧的两端都是划。例如,假定创建一种称为 CENTRAL
的线型,显示重复的点划序列(通常用作中心线)。AutoCAD 在直线内部调整点划序列,使划和
直线的端点一致。图案匹配线条,因此至少第一划的一半可以与直线的端点重合。必要时,第一划
和最后一划可以被加长。如果直线很短,不能容纳一个点划序列,则 AutoCAD 在两个端点之间画
一条连续的直线。对于圆弧,图案也会作适当调整,使端点为划。圆没有端点,但 AutoCAD 会调
整点划序列以提供适当的显示效果。
A 类对齐要求第一划的长度必须不小于 0(点或实线段),第二划的长度应该小于 0(空线
段)。这种对齐至少需要两个划定义。在第一划和最后一划之间,图案从第二个划定义开始依次显
示,并且在必要时用第一个划定义重新开始图案。
复杂线型:
复杂线型说明与简单线型说明一样位于 LIN 文件中。复杂线型指定了用符号点缀的直线,该
直线可能是分段的。此线型可表示实用工具、边界、轮廓等等。与使用简单线型一样,也可指定复
杂线型绘制的端点。直线中嵌入的形和文字对象总是完整显示,从来不会被截断。
复杂线型的语法与简单线型的语法相似,都是用逗号分隔的图案说明单元清单。除简单线型的
点划说明单元之外,形和文字对象也可作为复杂线型的图案说明单元。
形和文字对象说明单元的语法如下所示:
形
[shapename,shxfilename] 或
[shapename,shxfilename,transform]
文字对象
["string",stylename] 或
["string",stylename,transform]
其中,transform 是可选的,可以是下列等式的任意序列(每个等式前都用逗号分隔):
R=## 相对旋转
A=## 绝对旋转
S=## 比例
X=## X 偏移
Y=## Y 偏移
在此语法中,## 表示带符号的十进制数(1、-17、0.01,等等),旋转单位为度,其他
选项的单位都是线型比例的图形单位。上述 transform 字母,使用时必须跟上等号和数值。
下面定义了名为 CON1LINE 的线型,该线型由直线段、空格和嵌入的形 CON1 的重复图
案构成。其中,形 CON1 来自文件 es.shx(注意:为使下例正确工作,必须将 es.shx 文件
放在支持路径中)。
*CON1LINE, --- [CON1] --- [CON1] --- [CON1]
A,1.0,-0.25,[CON1,es
.shx],-1.0
除了方括号中的代码以外,所有内容都与简单线型的定义一致。此样例展示了最简单的复
杂线型定义,该线型包含嵌入的形。
如前所述,总共有六个字段可用于将形定义为线型的一部分。前两个是必须的,位置固定;
后四个是可选的,次序可变。下面两个样例展示了不同的形定义项。
[CAP,es.shx,S=2,R=10,X=0.5]
此代码对形文件 es.shx 中定义的形 CAP 进行变换。在变换生效之前,将该形放大两倍,
沿顺时针方向切向旋转 10 度,并沿 X 方向平移 0.5 个图形单位。
[DIP8,pc.shx,X=0.5,Y=1,R=0,S=1]
复杂线型中的型:
此代码对形文件 pc.shx 中定义的形 DIP8 进行变换。在变换生效之前,将该形沿 X 方向
平移 0.5 个图形单位,沿 Y 方向上移一个图形单位,保持与原形大小相等,并且不作旋转。
如下语法把形定义为复杂线型的一部分:
[shapename,shapefilename,scale,rotate,xoffset,yoffset]
语法中各字段的定义如下:
shapename
要嵌入的形的名称。此字段必须。如果省略,则线型定义失败。如果指定的形文件中不存
在 shapename,则继续绘制线型,但不包括嵌入的形。
shapefilename
编译后的形定义文件 (SHX) 的名称。如果省略,则线型定义失败。如果 shapefilename
未指定路径,则从库路径中搜索此文件。如果 shapefilename 包括完整的路径,但在该位置未
找到该文件,则截去前缀,并从库路径中搜索此文件。如果未找到,则继续绘制线型,但不包括
嵌入的形。
scale
S=value。形的比例用作比例因子,与形内部定义的比例相乘。如果形内部定义的比例是 0,则
S=value 单独用作比例。
rotate
R=value 或 A=value。R= 指定形关于所嵌入直线的相对或切向旋转;A= 指定形关于原点的绝
对旋转。所有的形都做相同的旋转,而跟其与直线的相对位置无关。value 可以包括单位:d 表
示度(如果省略,则此单位为缺省值),r 表示弧度,g 表示百分度。如果省略旋转,则形相对
旋转 0 度。
xoffset
X=value。此字段指定形相对线型定义端点的末端在 X 轴方向上所作的移动。如果 xoffset 省
略或为 0,则形不作偏移。如果要得到用形构成的连续直线,请包括此字段。此值不会被 S= 定
义的比例因子所缩放。
yoffset
Y=value。此字段指定形相对线型定义端点的末端在 Y 轴方向上所作的移动。如果 yoffset 省
略或为 0,则形不作偏移。此值不会被 S= 定义的比例因子所缩放。
复杂线型中的文字:
带文字的复杂线型主要用于将文字当作形来处理。形和文字用法的主要区别在于:在图形中,文
字与文字样式关联,而形则直接与形文件关联
。与线型关联的样式必须在线型加载到图形之前即
已存在。
下例展示了包括文字样式的复杂线型定义。
*MCline, --- MC --- MC --- MC
A,1.0,-0.25,["MC",mystyle,S=1,R=0,X=0,Y=-0.25],-1.25
其中,MCline 是线型的名称,“--- MC --- MC --- MC”是 ASCII 说明。线型定义第二行的语
法如下:
["string",style,S=scale,R=rotate,X=xoffset,Y=yoffset]
语法中字段的定义如下:
string
要在复杂线型中使用的文字。
style
要嵌入的文字样式的名称。必须包括指定的文字样式。如果省略,则使用当前定义的样式。
scale
S=value。样式的比例用作比例因子,与样式的高度相乘。如果样式的高度为 0,则 S=value 单
独用作比例。
因为文字的最后高度由 S=value 和文字样式的相关高度共同决定,所以将文字样式的高度设为零,
更容易预测结果。另外,建议为复杂线型中使用的文字创建独立的文字样式,以免与图形中的其他
文字冲突。
rotate
R=value 或 A=value。R= 指定文字关于所嵌入直线的相对或切向旋转;A= 指定文字关于原点
的绝对旋转。所有的文字都做相同的旋转,而与其关于直线的相对位置无关。value 可以包括单
位:d 表示度(如果省略,则此单位为缺省值),r 表示弧度,g 表示百分度。如果省略旋转,
则文字相对旋转 0 度。
旋转在基线和额定大写高度所形成的框中居中进行。
xoffset
X=value。此字段指定文字相对线型定义端点的末端在 X 轴方向上所作的移动。如果 xoffset
省略或为 0,则文字将其左下角作为偏移进行变换。如果要得到用文字构成的连续直线,请包
括此字段。此值不会被 S= 定义的比例因子所缩放。
yoffset
Y=value。此字段指定文字相对线型定义端点的末端在 Y 轴方向上所作的移动。如果 yoffset
省略或为 0,则文字将其左下角作为偏移进行变换。此值不会被 S= 定义的比例因子所缩放。