|
|

楼主 |
发表于 2012-7-11 09:34
|
显示全部楼层
四、字体文件的定制:6 b6 l: n7 d0 [4 d- k
在CAD中用户可自己定义扩展名为“ .shp”形定义字体文件。“ .shp” 形定义字体文件是ASCII 格式的文件,你可以使用文本编辑器或字处理器编辑进行编辑。 然后使用CAD 的“compile”命令编译该 ASCII 文件,编译后会形成扩展名为“ .shx”的形文件,此文件可使用“STYLE ”命令装载后使用。如果编译前的形定义文件定义了字体,则可用 STYLE 命令定义文字样式,然后用文字输入命令(TEXT、DTEXT 或 MTEXT)将字符写入图形中。1 t# d6 ?2 a) ^ h. U. K+ F
常见ASCII字体文件的编写格式如下:
0 L$ v0 N& y( `*0,4,Standard Font 10/23/91 ;字体必须包括的特殊形编号 0
6 s8 U* u7 q/ k. t3 k' t. x7 V6,2,2,0 ;定义字节行
" T5 M l2 G" G) ~1 c*10,7,lf ;标题行3 f* ^8 e! \0 B
2,0AC,14,8,(9,10),0 ;0AC为十六进制值/ K0 O8 [! P" x) v. B$ K% j7 r
*32,7,spc6 f( f* [4 d8 U: }3 y8 M
2,060,14,8,(-6,-8),02 y% x/ }; @" K d5 h1 N
以下略。+ H% i$ O' H! S2 l
形定义文件的每一行最多可包含 128 个字符,超过此长度的行不能编译。CAD 忽略空行和分号右边的文字。利用分号可以在形定义文件中包含注释。每个形说明都有一个标题行,以及一行或多行定义字节。这些定义字节之间用逗号分隔,最后以 0 结束。格式如下:*编号, 数据字节 , 名称 形定义字节1, 形定义字节2, 形定义字节3,...,0 下面为形各个字段的说明:1 X/ T! x) ]7 z* W" W
“编号”段1 k+ e8 [. f1 j5 H. _1 K
“编号”段在形定义文件中对应唯一的一个形,“编号”段的数字必须在 1 到 258 之间,带前缀星号。
- X% G+ h Y- x3 W% z9 ~5 v
0 X/ R0 \' x! O, ^1 V2 f- i如果定义的是字体文件,则“编号”段的数字编号要与定义的每个字符的 ASCII 码对应。
! V) r' H6 i4 X8 m h“数据字节” 段
; |+ ?( c; G1 @1 R% }4 x+ r4 R0 J2 v2 f用于描述形使用的数据字节数目,包括结尾的“0”。每个形最多可有 2,000 个数据字节。1 p8 Q) i# M- I0 G9 K- h
“名称” 段* t" l `( }+ ^) s5 p/ @$ _8 F
形的名称。形名称必须大写,以便于区分。包含小写字符的名称被忽略,并且通常用作字体形定义的标签。
) W) E3 o2 u2 R( J: Q“形定义字节” 段
/ b, O: M% _$ B( p2 K2 z每个定义字节都是一个代码,或者定义矢量长度和方向,或者是特殊代码的对应值之一。在形定义文件中,定义字节可以用十进制或十六进制表示。如果形定义字节的第一个字符为 0(零),则后面的两个字符解释为十六进制值。定义文件定义“ASCII字体”时,第一个形说明必须为特殊的形编号 0,以提供字体本身的信息。其格式如下:
8 c% G8 r, | E, a+ ^7 K*0,4,font-name
" L: v+ s2 S! h2 O- \- I& \above,below,modes,0
" `9 {% D0 X! n5 X( W0 _其中,above 指定大写字母从基线往上扩展的矢量长度,below 指出小写字母从基线下降的距离。这些值定义了基本字符尺寸,用作 TEXT 命令中指定高度的比例因子。
" n* A( V/ P' Q, A4 Q6 H+ wmodes 字节对水平字体应该为 0,对双向(水平或垂直)字体为 2。
0 y; F& c) q) B" bCAD 提供的标准字体包括一些 CAD 标注功能所需的其他字符。例如以下:
- z, E8 Y& K5 E4 d%%d 度符号 ( °)0 S* c @, ]' m3 g& X v+ h
%%p 正/负公差符号 (±)
! ?' Z- `2 ~! E, r3 ^%%c 圆直径标注符号 (φ)
* F9 Q% a1 K, i8 q' D%%o 打开或关闭上划线模式。
6 Y8 D; l2 e* s%%u 打开或关闭下划线模式。
! I' O, N6 x+ Z9 Q/ G%%% 绘制一个百分号。
& i! H4 l8 w# n; |( I7 X请注意:如果要定义“大字体”时,大字体形定义文件的第一行必须以“*BIGFONT”开始。 |
|