|
|
发表于 2007-9-30 10:52:49
|
显示全部楼层
来自: 中国广东广州
请查“帮助”
7 D3 H$ g& `9 c0 [3 K自定义手册
0 I* S4 t( p+ V9 b6 ]4 P自定义线型, `6 |7 L5 r/ t. W5 {# G" m
自定义线型中的形& _ k6 ~; @) R$ W; _
8 B: S Q% S5 _
; a4 Z# W* x, N, w `
. b3 @$ E r& w O: F A复杂线型可以包含嵌入的形(保存在形文件中)。复杂线型可以表示实用程序、边界和轮廓等等。
$ q q) W# D$ P" W! O9 g) r' B( V# n9 Y$ F, L7 R' g6 c$ E0 ]% a; i
与简单线型一样,指定端点后可以动态地绘制复杂线型。直线中嵌入的形和文字对象总是完整显示,从来不会被截断。 & c, d9 a5 D* C. S! w0 \; _( x- M, |
" n' s3 \) c1 D$ b0 I$ ~复杂线型的语法与简单线型的语法类似,都是一列以逗号分隔的图案描述符。除了点划线描述符之外,形和文字对象也可作为复杂线型的图案描述符。 * g, @9 q3 s. V1 E' q
3 ^, X' q6 [+ E. ]) s
线型说明中的形对象描述符的语法如下所示:
' z7 K& W& h7 V p% F D' J
- ?, [8 }) w+ g5 B- {9 X5 ][shapename,shxfilename] 或 [shapename,shxfilename,transform]
/ u0 \1 F0 E, F/ r. m* O4 X其中,transform 是可选的,可以是下列等式的任意序列(每个等式前都带有逗号):
+ m* P! t+ H4 ~3 C- p# S' }+ x% l6 q. e7 T
R=## 相对旋转5 r1 r M! K4 j7 h* |
9 f: b3 F+ Y; ?% A' b0 aA=## 绝对旋转
2 Y- ~. G' y6 X9 T0 u5 f8 s9 y; i
$ O) U3 t6 n' A4 b9 Q6 L' }7 oS=## 比例
2 s0 I- ~5 j. s3 o. f& |; w! O$ e8 m/ @9 Y4 z) L4 S8 B2 E2 p3 h- c S
X=## X 偏移
9 @$ {5 c4 Z7 i& I2 [; }9 E. ~- \6 w9 k2 {8 V7 |
Y=## Y 偏移: t4 k; e! c- e; ?
9 Z; j) h- r* V" J
在此语法中,## 表示带符号的十进制数(如 1、-17、0.01 等),旋转单位为度,其他选项的单位都是线型比例的图形单位。上述 transform 字母,使用时后面必须跟上等号和数值。
9 w+ E) F( H. _' u: v% @
! Q; w, ]' t2 r: f以下线型定义用于定义名为 CON1LINE 的线型,该线型由一条直线段、一个空格和来自“ep.shx”文件的嵌入形 CON1 这一重复图案构成。(请注意,必须将“ep.shx”文件放在支持路径中才能使以下样例正常运行。)
4 P$ R/ G1 y: k: Q' `' L( M% r* x2 C h% G# Q
*CON1LINE, --- [CON1] --- [CON1] --- [CON1]
, N) z$ i0 Q2 |3 `( D M7 B: }7 qA,1.0,-0.25,[CON1,ep.shx],-1.0
8 W& ~4 |& \5 k! E/ d* T/ M除了方括号中的代码以外,所有内容都与简单线型的定义一致。
3 t, J$ i ]' I6 ^2 \- O+ q
E0 h7 z/ s7 F! q, [: i0 w如上所述,总共有六个字段可用于将形定义为线型的一部分。前两个是必须的,位置固定;后四个是可选的,次序可变。以下两个样例展示了形定义字段中的不同条目。
; j9 ^- m1 ] H# R) b1 u2 N
+ l9 Y% }4 M" P7 _# M8 ?- X7 E[CAP,ep.shx,S=2,R=10,X=0.5]
9 t+ T1 B2 d( E. ]上述代码对形文件 ep.shx 中定义的形 CAP 进行变换。在变换生效之前,将该形放大两倍,沿逆时针方向切向旋转 10 度,并沿 X 方向平移 0.5 个图形单位。 7 l% i- l2 m( m
4 E# H) h; R3 F6 P* i# x4 @[DIP8,pd.shx,X=0.5,Y=1,R=0,S=1]
! Q, O' R4 h% A$ O" s) P' o上述代码对形文件 pd.shx 中定义的形 DIP8 进行变换。在变换生效之前,将该形沿 X 方向平移 0.5 个图形单位,沿 Y 方向上移一个图形单位,不作旋转,并且保持与原形大小相等。
4 H0 S: {: s* ~; g
6 v. L2 h) X7 s- e2 h下面的语法把形定义为复杂线型的一部分:
2 v; a; D- R3 H" W3 G. }! C' z% k5 _( I% ?' |( a
[shapename,shapefilename,scale,rotate,xoffset,yoffset]
5 i$ U3 t$ T% T, ~0 c语法中字段的定义如下所示。$ U# C" m: @8 B6 n. w
- e" s4 `7 V+ a5 f6 m v' R3 Q1 ?
shapename + I1 |$ a) o1 T$ s) s A4 t
要绘制的形的名称。必须包含此字段。如果省略,则线型定义失败。如果指定的形文件中没有 shapename,则继续绘制线型,但不包括嵌入的形。
9 S2 \. K# l" w$ N; Q/ z9 \5 E: | }* L h* S
shapefilename! t, V6 j# C# M9 t6 J
编译后的形定义文件 (SHX) 的名称。如果省略,则线型定义失败。如果 shapefilename 未指定路径,则从库路径中搜索此文件。如果 shapefilename 包括完整的路径,但在该位置未找到该文件,则截去前缀,并从库路径中搜索此文件。如果未找到,则继续绘制线型,但不包括嵌入的形。
+ o: _( Q: h% Y. r$ y/ n" n* X4 Q7 I
scale, m$ [( _0 }) L5 A
S=value。形的比例用作比例因子,与形内部定义的比例相乘。如果内部定义的形比例为 0(零),则 S=value 单独用作比例。 0 }5 P$ x- c& O' J: \
n* s6 Q- h# ~, B/ [, Jrotate6 `3 o! p) ^0 L; G
R=value 或 A=value。R= 指定相对于直线的相对或切向旋转。A= 指定形相对于原点的绝对旋转。所有的形都作相同的旋转,而跟其与直线的相对位置无关。可以在值后附加 d 表示度(如果省略,度为默认值),附加 r 表示弧度,或者附加 g 表示百分度。如果省略旋转,则相对旋转为 0。
; y+ o1 @& T3 Y* l* a# H" \+ L' O" G6 d1 T' _* s, a+ P
xoffset
5 m Y; g: I. ^; }2 C/ }X=value。形相对于线型定义顶点末端在 X 轴方向上所作的移动。如果省略 xoffset 或者将其设置为 0,则形不作偏移。如果要得到用形构成的连续直线,请使用此字段。该值不会按照 S= 定义的缩放比例进行缩放。
1 Q2 j3 E3 @6 ?: y" o0 W" ?8 ?3 \: B2 P
yoffset* p( A7 Q5 i7 `9 L
Y=value。形相对于线型定义顶点末端在 Y 轴方向上所作的移动。如果省略 yoffset 或者将其设置为 0,则形不作偏移。该值不会按照 S= 定义的缩放比例进行缩放。
5 g5 Y- N( M! ^/ [3 }/ t9 Y$ s* S' m3 d# F( I1 m
参见 |
|