自定义线型的方法:
线型定义概述 ................................................................. 1 简单自定义线型 ............................................................... 1 自定义线型中的文字 ........................................................... 3 自定义线型中的形 ............................................................. 4
线型定义概述
线型名称及其定义确定了特定的点划线序列、划线和空移的相对长度以及所包含的任何文字或形的特征。可以使用 AutoCAD 提供的任何标准线型,也可以创建自己的线型。 线型样例
在一个或多个线型定义文件(扩展名为 .lin)中定义了线型。一个 LIN 文件可以包含许多简单线型和复杂线型的定义。用户可以将新线型添加到现有 LIN 文件中,也可以创建自己的 LIN 文件。要创建或修改线型定义,请使用文本编辑器或字处理器编辑 LIN 文件,或者在命令提示下使用 LINETYPE 命令编辑 LIN 文件。
创建线型后,必须先加载该线型,然后才能使用它。
AutoCAD 中包含的 LIN 文件为 acad.lin 和 acadiso.lin。用户可以显示或打印这些文本文件,从而更好地了解如何构造线型。
简单自定义线型
在线型定义文件中用两行文字定义一种线型。第一行包括线型名称和可选说明。第二行是定义实际线型图案的代码。
第二行必须以字母 A(对齐)开头,其后是一列图案描述符,用于定义提笔长度(空移)、落笔长度(划线)和点。通过将分号 (;) 置于行首,可以在 LIN 文件中加入注释。
线型定义格式
线型定义的格式为
*linetype_name,description A,descriptor1,descriptor2, ...
例如,名为 DASHDOT 的线型定义为
*DASHDOT,Dash dot __ . __ . __ . __ . __ . __ . __ . __
A,.5,-.25,0,-.25
这表示一种重复图案,以 0.5 个图形单位长度的划线开头,然后是 0.25 个图形单位长度的空移、一个点和另一个 0.25 个图形单位长度的空移。该图案延续至直线的全长,并以 0.5 个图形单位长度的划线结束。该线型如下所示。 __ . __ . __ . __ . __ . __ . __ . __
LIN 文件必须以 ASCII 格式保存,并使用 .lin 文件扩展名。以下介绍了关于线型定义中每个字段的其他信息。
线型名称
线型名称字段以星号 (*) 开头,并且应该为线型提供唯一的描述性名称。
说明
线型说明可以帮助用户在编辑 LIN 文件时更直观地了解线型。在“线型管理器”和“加载或重载线型”对话框中也显示了该说明。 说明是可选的,可以包括
? ? ?
使用 ASCII 文字对线型图案的简单表示 线型的扩展说明
注释,例如“此线型用于隐藏线”
如果要省略说明,则请勿在线型名称后面使用逗号。说明不能超过 47 个字符。
对齐字段 (A)
对齐字段指定了每个直线、圆和圆弧末端的图案对齐操作。目前,AutoCAD 仅支持 A 类对齐,这保证了直线和圆弧的端点以划线开始和结束。
例如,假定创建一种名为 CENTRAL 的线型,该线型显示重复的点划线序列(通常用作中心线)。AutoCAD 将在每条直线上调整点划线序列,以使划线和直线端点重合。图案将调整该直线,以便该直线的起点和终点至少含有第一段划线的一半。如果必要,可以拉长首段和末段划线。如果直线太短,不能容纳一个点划线序列,则 AutoCAD 将在两个端点之间绘制一条连续的直线。对于圆弧也是如此,将调整图案以便在端点处绘制划线。圆没有端点,但是 AutoCAD 将调整点划线序列,使之显示起来更加合理。
用户必须在对齐字段中输入 a 以指定 A 类对齐。
图案描述符
每个图案描述符字段指定了构成线型的线段长度,以逗号分隔(禁用空格):
? ?
正十进制数表示相应长度的落笔(划线)线段。 负十进制数表示相应长度的提笔(空移)线段。
?
长度为 0 的划线将绘制为一点。
每种线型最多可以输入 12 种划线长度规格,但是这些规格必须在 LIN 文件的一行中,并且长度不超过 80 个字符。用户只需包含一个由图案描述符定义的线型图案的完整循环体。绘制该线型时,AutoCAD 使用第一个图案描述符绘制开始和结束划线。在开始和结束划线之间,从第二个划线规格开始连续绘制图案,并在需要时以第一个划线规格重新开始图案。
A 类对齐要求第一条划线的长度为 0 或更长(落笔线段)。第二条划线长度应小于 0(提笔线段或空移)。A 类对齐至少应具有两种划线规格。
自定义线型中的文字
线型中可以包含字体中的字符。包含嵌入字符的线型可以表示实用程序、边界、轮廓等等。与简单线型一样,指定顶点后即可动态绘制直线。嵌入直线的字符始终完整显示,不会被截断。
嵌入的文字字符与图形中的文字样式相关。加载线型之前,图形中必须存在与线型相关联的文字样式。
包含嵌入字符的线型格式与简单线型格式类似,都是一列以逗号分隔的图案描述符。
字符描述符格式
在线型说明中添加文字字符的格式如下所示:
[\
这种格式被作为描述符添加到简单线型。例如,名为 HOT_WATER_SUPPLY 的线型定义为
*HOT_WATER_SUPPLY,---- HW ---- HW ---- HW ---- HW ---- HW ---- A,.5,-.2,[\
这表示一种重复图案,以 0.5 个图形单位长度的划线开头,然后是 0.2 个图形单位长度的空移、具有一定缩放比例和位置参数的字符 HW 以及另一个 0.2 个图形单位长度的空移。文字字符来自指定给 STANDARD 文字样式的字体,缩放比例为 0.1、相对旋转角度为 0 度、X 偏移为 -0.1、Y 偏移为 -0.05。这样的图案延续至直线的全长,并以 0.5 个图形单位长度的划线结束。该线型如下所示。
请注意,向右上挑的总长为 0.2 + 0.2 = 0.4,文字原点在 X 方向上相对于首次向右上挑的端点偏移 -.01 个单位。等价线型为
*HOT_WATER_SUPPLY,---- HW ---- HW ---- HW ---- HW ---- HW ---- A,.5,-.1,[\
整个向右上挑仍然是 0.1 + 0.3 = 0.4,但是文字原点在 X 方向上未发生偏移。 以下介绍了关于字符描述符中每个字段的其他信息。要使用的值是带符号的十进制数字,例如 1、-17 和 0.01。 文字
要在线型中使用的字符。 文字样式名称
要使用的文字样式的名称。如果未指定文字样式,AutoCAD 将使用当前定义的样式。 比例 S=值。要用于文字样式的缩放比例与线型的比例相关。文字样式的高度需乘以缩放比例。如果高度为 0,则 S=值的值本身用作高度。 旋转
R=值或 A=值。R= 指定相对于直线的相对或相切旋转。A= 指定文字相对于原点的绝对旋转;即所有文字不论其相对于直线的位置如何,都将进行相同的旋转。可以在值后附加 d 表示度(度为默认值),附加 r 表示弧度,或者附加 g 表示百分度。如果省略旋转,则相对旋转为 0。
旋转是围绕基线和实际大写高度之间的中点进行的。 xoffset X=值。文字在线型的 X 轴方向上沿直线的移动。如果省略 xoffset 或者将其设置为 0,则文字将没有偏移,并且会变得复杂。使用该字段控制文字与前面提笔或落笔笔划间的距离。该值不能按照 S=值定义的缩放比例进行缩放,但是它可以根据线型进行缩放。 yoffset Y=值。文字在线型的 Y 轴方向垂直于该直线的移动。如果省略 yoffset 或者将其设置为 0,则文字将没有偏移,并且会变得复杂。使用此字段控制文字相对于直线的垂直对齐。该值不能按照 S=值定义的缩放比例进行缩放,但是它可以根据线型进行缩放。
自定义线型中的形
复杂线型可以包含嵌入的形(保存在形文件中)。复杂线型可以表示实用程序、边界和轮廓等等。
与简单线型一样,指定端点后可以动态地绘制复杂线型。嵌入直线中的形和文字对象始终完整显示,不会被截断。
复杂线型的语法与简单线型的语法类似,都是一列以逗号分隔的图案描述符。除了点划线描述符之外,形和文字对象也可作为复杂线型的图案描述符。 线型说明中的形对象描述符的语法如下所示:
[shapename,shxfilename] or [shapename,shxfilename,transform]
其中,transform 是可选的,可以是下列等式的任意序列(每个等式前都带有逗号):
R=## 相对旋转 A=## 绝对旋转 S=## 比例 X=## X 偏移 Y=## Y 偏移
在此语法中,## 表示带符号的十进制数(1、-17、0.01 等等),旋转单位为度,其他选项的单位都是线型比例的图形单位。上述 transform 字母,使用时后面必须跟上等号和数值。
以下线型定义定义了名为 CON1LINE 的线型,此线型由直线段、空移和嵌入的形 CON1 的重复图案构成。其中,CON1 来自 ep.shx 文件。(请注意,必须将 ep.shx 文件放在支持路径中才能使以下样例正常运行。)
*CON1LINE, --- [CON1] --- [CON1] --- [CON1] A,1.0,-0.25,[CON1,ep.shx],-1.0
除了方括号中的代码以外,所有内容都与简单线型的定义一致。
如上所述,总共有六个字段可用于将形定义为线型的一部分。前两个是必须的,位置固定;后四个是可选的,次序可变。以下两个样例展示了形定义字段中的不同条目。
[CAP,ep.shx,S=2,R=10,X=0.5]
上述代码对形文件 ep.shx 中定义的形 CAP 进行变换。在变换生效之前,将该形放大两倍,沿逆时针方向切向旋转 10 度,并沿 X 方向平移 0.5 个图形单位。
[DIP8,pd.shx,X=0.5,Y=1,R=0,S=1]
上述代码对形文件 pd.shx 中定义的形 DIP8 进行变换。在变换生效之前,将该形沿 X 方向平移 0.5 个图形单位,沿 Y 方向上移一个图形单位,不作旋转,并且保持与原形大小相等。
下面的语法把形定义为复杂线型的一部分:
[shapename,shapefilename,scale,rotate,xoffset,yoffset]
语法中字段的定义如下所示。 shapename
要绘制的形的名称。必须包含此字段。如果省略,则线型定义失败。如果指定的形文件中没有 shapename,则继续绘制线型,但不包括嵌入的形。 shapefilename
编译后的形定义文件 (SHX) 的名称。如果省略,则线型定义失败。如果 shapefilename 未指定路径,则从库路径中搜索此文件。如果 shapefilename 包括完整的路径,但在该位置未找到该文件,则截去前缀,并从库路径中搜索此文件。如果未找到,则继续绘制线型,但不包括嵌入的形。 比例
S=值。形的比例用作缩放比例,与形内部定义的比例相乘。如果形内部定义的比例是 0,则 S=值单独用作比例。 旋转
R=值或 A=值。R= 指定相对于直线的相对或切向旋转。A= 指定形相对于原点的绝对旋转。所有的形都作相同的旋转,而跟其与直线的相对位置无关。可以在值
后附加 d 表示度(如果省略,度为默认值),附加 r 表示弧度,或者附加 g 表示百分度。如果省略旋转,则相对旋转为 0。 xoffset X=值。形相对于线型定义顶点末端在 X 轴方向上所作的移动。如果省略 xoffset 或者将其设置为 0,则形不作偏移。如果要得到用形构成的连续直线,请使用此字段。该值不会按照 S= 定义的缩放比例进行缩放。 yoffset Y=值。形相对于线型定义顶点末端在 Y 轴方向上所作的移动。如果省略 yoffset 或者将其设置为 0,则形不作偏移。该值不会按照 S= 定义的缩放比例进行缩放。