复杂线型可以包含嵌入的形(保存在形文件中)。复杂线型可以表示实用工具、边界和轮廓等等。
与简单线型一样,指定端点后可以动态地绘制复杂线型。直线中嵌入的形和文字对象总是完整显示,从来不会被截断。
包含形对象的线型图案描述符与简单线型的图案描述符类似。
线型说明中的形对象描述符的语法如下所示:
[shape_name,shape_filename] or [shape_name,shape_filename,transform]
其中, transform 是可选的,可以是下列等式的任意序列(每个等式前都带有逗号):
R=## 相对旋转
A=## 绝对旋转
U=## 正立旋转
S=## 比例
X=## X 偏移
Y=## Y 偏移
在此语法中,## 表示带符号的十进制数(如 1、-17、0.01 等),旋转单位为度,其他选项的单位都是线型比例的图形单位。上述 transform 字母,使用时后面必须跟上等号和数值。
以下线型定义用于定义名为 CON1LINE 的线型,该线型由一条直线段、一个空格和来自“ep.shx”文件的嵌入形 CON1 这一重复图案构成。(请注意,必须将“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 方向上移一个图形单位,不作旋转,并且保持与原形大小相等。
向线型说明添加形的格式如下所示:
[shape_name,shape_filename,scale,rotate,xoffset,yoffset]
比例、旋转、X 偏移和 Y 偏移的值必须表示为有符号十进制数字,例如 1、-17 和 0.01。
要绘制的形的名称。必须包含此字段。如果省略,则该线型定义失败。如果指定的形文件中不存在 形名称 ,将加载并使用该线型,但不包括嵌入的形。
已编译的形定义 (SHX) 文件的名称。如果省略,则该线型定义失败。如果 形文件名 为非限定(即,没有指定路径),则程序的支持路径将搜索该文件。如果 形文件名 是完全限定的,并无法在该位置找到该文件,那么此路径将被删除,并且程序的支持路径将搜索该文件。如果未找到该文件,将加载并使用该线型,但不包括嵌入的形。
要用于形的比例因子,形内部定义的比例将与其相乘。提供的比例因子必须带有前缀 S=,例如,S=.5 指示比例因子 0.5。如果形内部定义的比例为 0,S= value 将单独用作比例。
要显示在线型中的形的旋转角度。旋转角度必须带有前缀 U=、R= 或 A=。
该值后面可添加
形相对于线型定义顶点末端在 X 轴方向上所作的移动。提供的偏移必须带有前缀 X=,例如,X=.1 表示偏移 0.1。如果省略偏移或偏移为 0(零),则该形将不发生偏移。如果要得到用形构成的连续直线,请使用此字段。该值不会按照 S=value 定义的比例因子进行缩放。
形相对于线型定义顶点末端在 Y 轴方向上所作的移动。提供的偏移必须带有前缀 Y=,例如 Y=.1 表示偏移 0.1。如果省略偏移或偏移为 0(零),则该形将不发生偏移。如果要得到用形构成的连续直线,请使用此字段。该值不会按照 S=value 定义的比例因子进行缩放。