|
|
发表于 2007-9-30 10:52:49
|
显示全部楼层
来自: 中国广东广州
请查“帮助”
4 d& h7 Y8 x* K自定义手册
9 t5 z% U9 E" o7 G1 {6 b自定义线型1 Z* q4 Q# E! o( [) ^, @% Z- ^
自定义线型中的形4 L" B2 P* C4 H p# R
2 v" @6 I1 [2 l
1 t7 O! b0 ~% ~0 e2 Y( s" B" D
% U$ S# c, N4 L复杂线型可以包含嵌入的形(保存在形文件中)。复杂线型可以表示实用程序、边界和轮廓等等。 : m& O1 s$ f+ G8 N" A% q
, J! A9 Z+ z ]/ X* w
与简单线型一样,指定端点后可以动态地绘制复杂线型。直线中嵌入的形和文字对象总是完整显示,从来不会被截断。
) ?& O. W7 C! a Q, }' v
3 }- {2 t4 a8 b5 d9 i复杂线型的语法与简单线型的语法类似,都是一列以逗号分隔的图案描述符。除了点划线描述符之外,形和文字对象也可作为复杂线型的图案描述符。
3 w( G a* u$ J4 t! t
. F% v( t W0 [! @5 ]( _- g线型说明中的形对象描述符的语法如下所示:
$ ~4 h5 u2 I3 d& Y# R! D* {& T* g8 Y; w8 H
[shapename,shxfilename] 或 [shapename,shxfilename,transform] S9 L5 G8 Q! I# T; F: M( v# E
其中,transform 是可选的,可以是下列等式的任意序列(每个等式前都带有逗号): 4 v2 @& s0 K+ |9 o+ a/ B
( L3 d W4 C, {+ L9 M7 I. X
R=## 相对旋转
5 _- b+ O& D0 ?2 d) f, u" P# C! X& Y4 B$ q7 ~1 ?* D p9 d* Y
A=## 绝对旋转; Q; P1 e$ Q S
& B0 w4 C, w' H9 {- JS=## 比例. m$ d2 M0 C8 ]7 n3 e) F
6 v# |- h: ^+ f
X=## X 偏移 r" \9 h: a1 b7 Q0 r4 L/ c
+ l" w, P1 x# q! O1 |5 y* H0 MY=## Y 偏移
3 G" o1 x1 ~2 b0 ?7 E( V
[8 \- Z6 X2 y! }/ X在此语法中,## 表示带符号的十进制数(如 1、-17、0.01 等),旋转单位为度,其他选项的单位都是线型比例的图形单位。上述 transform 字母,使用时后面必须跟上等号和数值。/ k$ D" v0 ?" C5 D" a0 c
- U, C4 @$ `6 V2 b5 J
以下线型定义用于定义名为 CON1LINE 的线型,该线型由一条直线段、一个空格和来自“ep.shx”文件的嵌入形 CON1 这一重复图案构成。(请注意,必须将“ep.shx”文件放在支持路径中才能使以下样例正常运行。) / V* ~+ a% E9 ^: R
7 t$ P, ~2 Y: c( i7 p
*CON1LINE, --- [CON1] --- [CON1] --- [CON1]
; k, P6 m9 l! w u \A,1.0,-0.25,[CON1,ep.shx],-1.0
/ l7 H. T( k, V3 ?7 a/ D除了方括号中的代码以外,所有内容都与简单线型的定义一致。
" X' k; ]+ `0 M0 o1 H( O @' A R7 V/ M+ M# R
如上所述,总共有六个字段可用于将形定义为线型的一部分。前两个是必须的,位置固定;后四个是可选的,次序可变。以下两个样例展示了形定义字段中的不同条目。
7 f% ], {1 {+ Y7 ]- ~ s
! F' h- ]4 I+ ^+ C0 D[CAP,ep.shx,S=2,R=10,X=0.5]
9 H6 C) x/ p5 s上述代码对形文件 ep.shx 中定义的形 CAP 进行变换。在变换生效之前,将该形放大两倍,沿逆时针方向切向旋转 10 度,并沿 X 方向平移 0.5 个图形单位。
- e# H1 O3 e( y8 y7 B$ |
( K M3 x) B D$ _& M[DIP8,pd.shx,X=0.5,Y=1,R=0,S=1]
: A }6 c0 c. K' r+ k/ x上述代码对形文件 pd.shx 中定义的形 DIP8 进行变换。在变换生效之前,将该形沿 X 方向平移 0.5 个图形单位,沿 Y 方向上移一个图形单位,不作旋转,并且保持与原形大小相等。 ) P- l5 G0 [" ~( K; r& _0 H* b
: @" f- I& H6 x2 R! _1 M) I下面的语法把形定义为复杂线型的一部分:
, d* Q9 Z& W( b
0 F; b9 Q4 n/ \' B" E f: O[shapename,shapefilename,scale,rotate,xoffset,yoffset]
* W9 j" W1 q3 w& r& ~语法中字段的定义如下所示。, H; l# r2 u' }
+ x Y+ ~# [1 ^ S: ] y
shapename
2 [! G/ G. C ^$ k% j9 W9 _要绘制的形的名称。必须包含此字段。如果省略,则线型定义失败。如果指定的形文件中没有 shapename,则继续绘制线型,但不包括嵌入的形。 9 n$ _! K1 j" i* L/ p6 y# ~- [
8 l5 t a6 v; k4 b9 [) F% U) sshapefilename2 L& s; n Z8 U) V3 z; ^5 B
编译后的形定义文件 (SHX) 的名称。如果省略,则线型定义失败。如果 shapefilename 未指定路径,则从库路径中搜索此文件。如果 shapefilename 包括完整的路径,但在该位置未找到该文件,则截去前缀,并从库路径中搜索此文件。如果未找到,则继续绘制线型,但不包括嵌入的形。
Q0 ]; W; q* A1 M R# T+ T4 V. W$ \, [% T; v" a% {. N, e
scale
8 S$ U% t9 o; Y6 W9 ? QS=value。形的比例用作比例因子,与形内部定义的比例相乘。如果内部定义的形比例为 0(零),则 S=value 单独用作比例。 0 v5 r+ W8 M& p, Q! y. {7 Z
8 Z3 L* k G/ F/ Grotate+ a$ V9 o0 X+ ~: d; F' |
R=value 或 A=value。R= 指定相对于直线的相对或切向旋转。A= 指定形相对于原点的绝对旋转。所有的形都作相同的旋转,而跟其与直线的相对位置无关。可以在值后附加 d 表示度(如果省略,度为默认值),附加 r 表示弧度,或者附加 g 表示百分度。如果省略旋转,则相对旋转为 0。
5 |. L" [) G9 R7 l/ ` ?* k* u9 ?5 D% g/ Y# S
xoffset& N8 R& S3 Y0 J$ ^
X=value。形相对于线型定义顶点末端在 X 轴方向上所作的移动。如果省略 xoffset 或者将其设置为 0,则形不作偏移。如果要得到用形构成的连续直线,请使用此字段。该值不会按照 S= 定义的缩放比例进行缩放。" I! t' Z) u- b) K7 x! `" `) w
v) a- |. U! L% y
yoffset3 `: I2 S5 Z r
Y=value。形相对于线型定义顶点末端在 Y 轴方向上所作的移动。如果省略 yoffset 或者将其设置为 0,则形不作偏移。该值不会按照 S= 定义的缩放比例进行缩放。4 n3 s+ e9 y/ }3 X) m; B
& C- s) p7 D' T! R/ E
参见 |
|