|
|
发表于 2007-9-30 10:52:49
|
显示全部楼层
来自: 中国广东广州
请查“帮助”2 }! L q% n" i* x4 ]6 q
自定义手册. @# r7 {. v( E2 G. m
自定义线型- U4 H. \8 V- D2 m. z
自定义线型中的形; Y/ N% g. j8 g4 ^; B) E- h6 ?
" t$ G7 ]5 }9 G5 k0 }5 F$ l
* p |% i. P* S+ V+ A5 ~
# u6 [" T' d/ @- Q/ {* s+ | O复杂线型可以包含嵌入的形(保存在形文件中)。复杂线型可以表示实用程序、边界和轮廓等等。
8 k: y# r/ y4 o$ y( {; Z6 n
. o2 U; n: Z% t5 k' `与简单线型一样,指定端点后可以动态地绘制复杂线型。直线中嵌入的形和文字对象总是完整显示,从来不会被截断。 $ |. W4 U" m% i, Q5 I5 X. k
w# V8 a! ~ }
复杂线型的语法与简单线型的语法类似,都是一列以逗号分隔的图案描述符。除了点划线描述符之外,形和文字对象也可作为复杂线型的图案描述符。 " m5 W/ ]. @% y3 n' o4 a
) e* f7 s! _* H! `1 t线型说明中的形对象描述符的语法如下所示: ' `5 ^: O! X9 ]
/ N: W: C. Q8 e3 t/ ~2 Q[shapename,shxfilename] 或 [shapename,shxfilename,transform] % ]6 v# Q& t. M; M
其中,transform 是可选的,可以是下列等式的任意序列(每个等式前都带有逗号): 2 g8 i0 a M0 p9 _
% C5 x- x3 F! d* }3 }! I
R=## 相对旋转
9 P4 H' U, q8 D% D+ v8 s
4 Y% `( i& c# R, J# k' ]; IA=## 绝对旋转
% D8 b, R7 b g" `( e
' M7 e& w/ o9 l: E0 RS=## 比例5 m6 R% ?, g# z6 ]1 a
$ g R0 F: C9 e) ]8 |# UX=## X 偏移
& W4 v, Y! [ ]: U2 O* [6 Q' m" J6 E9 l
* e/ m6 P, i( m! R, ZY=## Y 偏移: ?* M, A/ q" j
% d1 D2 f8 S7 W0 o K在此语法中,## 表示带符号的十进制数(如 1、-17、0.01 等),旋转单位为度,其他选项的单位都是线型比例的图形单位。上述 transform 字母,使用时后面必须跟上等号和数值。4 z3 ?" e/ n/ a, _. k
- y0 m" _1 x% t4 V' ]
以下线型定义用于定义名为 CON1LINE 的线型,该线型由一条直线段、一个空格和来自“ep.shx”文件的嵌入形 CON1 这一重复图案构成。(请注意,必须将“ep.shx”文件放在支持路径中才能使以下样例正常运行。) + s5 }/ B* D4 O
$ t3 u7 i* O5 @6 N2 T*CON1LINE, --- [CON1] --- [CON1] --- [CON1]
% g+ q/ Q" O UA,1.0,-0.25,[CON1,ep.shx],-1.03 V( `3 p3 |6 W0 c1 U
除了方括号中的代码以外,所有内容都与简单线型的定义一致。 ?( d. S5 U7 D V$ E' Z
. h9 ]! K0 D. M8 |7 Z+ A
如上所述,总共有六个字段可用于将形定义为线型的一部分。前两个是必须的,位置固定;后四个是可选的,次序可变。以下两个样例展示了形定义字段中的不同条目。
) ~2 s ?" Y$ J. A
6 [: e( }' |; N$ o% ?[CAP,ep.shx,S=2,R=10,X=0.5]
( b$ m: O( J4 N% t1 {上述代码对形文件 ep.shx 中定义的形 CAP 进行变换。在变换生效之前,将该形放大两倍,沿逆时针方向切向旋转 10 度,并沿 X 方向平移 0.5 个图形单位。
8 W& y$ X% J( h, T# Y5 m& w
4 [! B2 }4 Z& s" P& M0 j) Y[DIP8,pd.shx,X=0.5,Y=1,R=0,S=1]
% B% b$ R! d* l0 l& l: \% L上述代码对形文件 pd.shx 中定义的形 DIP8 进行变换。在变换生效之前,将该形沿 X 方向平移 0.5 个图形单位,沿 Y 方向上移一个图形单位,不作旋转,并且保持与原形大小相等。 , K- e6 G$ w4 `
* }9 e1 ]# p; e3 S下面的语法把形定义为复杂线型的一部分: 2 `3 G' c) c; p0 T& }8 [4 ]' N
6 m* Z) u2 Z9 A5 l& P, Z[shapename,shapefilename,scale,rotate,xoffset,yoffset]
5 ^7 F3 B6 p6 a8 V语法中字段的定义如下所示。
; |$ [/ I- v* Z9 L8 Y: a! E( L2 d Q' q
shapename
% G! m' ^- ~. p* {; A' _' J要绘制的形的名称。必须包含此字段。如果省略,则线型定义失败。如果指定的形文件中没有 shapename,则继续绘制线型,但不包括嵌入的形。
3 [* [/ Y* }- ?$ X. [2 h- E4 Y7 ^3 p1 {/ J' j/ [1 r: b& K
shapefilename6 ]% M0 r0 J; y4 Z- m: x
编译后的形定义文件 (SHX) 的名称。如果省略,则线型定义失败。如果 shapefilename 未指定路径,则从库路径中搜索此文件。如果 shapefilename 包括完整的路径,但在该位置未找到该文件,则截去前缀,并从库路径中搜索此文件。如果未找到,则继续绘制线型,但不包括嵌入的形。 $ K! l U( Z- x2 B& r- A- N" R
- P: G" s* a7 l3 v: ^9 Mscale
. Y' T$ X( h- ~/ H7 ?# S2 aS=value。形的比例用作比例因子,与形内部定义的比例相乘。如果内部定义的形比例为 0(零),则 S=value 单独用作比例。
3 ?5 N3 O% u+ c7 J
/ P0 h; O, s# srotate7 m; d, Z6 Q8 y, s+ K7 K& M6 }
R=value 或 A=value。R= 指定相对于直线的相对或切向旋转。A= 指定形相对于原点的绝对旋转。所有的形都作相同的旋转,而跟其与直线的相对位置无关。可以在值后附加 d 表示度(如果省略,度为默认值),附加 r 表示弧度,或者附加 g 表示百分度。如果省略旋转,则相对旋转为 0。( G, e _4 B. R3 y
( s3 {5 c' M+ X1 u1 q# J1 oxoffset
5 W) |9 |9 |" x) r7 w- O: r* I0 VX=value。形相对于线型定义顶点末端在 X 轴方向上所作的移动。如果省略 xoffset 或者将其设置为 0,则形不作偏移。如果要得到用形构成的连续直线,请使用此字段。该值不会按照 S= 定义的缩放比例进行缩放。
8 `) V/ j# o- e; c0 l/ u3 b' c! O, ?9 p
yoffset
+ G5 b0 v! W0 U" w+ r7 \Y=value。形相对于线型定义顶点末端在 Y 轴方向上所作的移动。如果省略 yoffset 或者将其设置为 0,则形不作偏移。该值不会按照 S= 定义的缩放比例进行缩放。
* n* V& B. y! N0 V4 m7 M% p2 o! q# k. S
参见 |
|