- UID
- 29344
- 积分
- 145
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2003-2-14
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
论坛上常刊登有关形文件方面的文章,在此本人不想重复,现谈一些并不常见的用法及解释。
1.在Unicode形文件中,文字的定义行都是以下规定格式,以ROMANS.SHP为例:
*0000A,9,lf
“*0000A”---字符的编号,在此以16进制码表示,如用10进制表示,此处应为“*10,”。
也可用计算器进行换算,如编号小于*0007F(10进制127)也可从帮助文件中的自定义手册查找ASCII 码换算表, “9,”---下一行中共有9个字符;
“lf”---字符的名称,此处表示换行符号。至于为什么是换行符号,仍可从ASCII 码换算表中查取,也可利用下述方式查取。
在Unicode形文件中的名称有许多“?”,其实它的名称并非是“?”,而是它的名称在WINDOWS系统中无法正确显示,然而在CAD图形中却是可以表示的,可通过输入文字来了解其含义。以“*000C0,43,uc^?”为例:
用计算器在16进制状态下输入C0(数字0),将其转换成10进制得192,在CAD图形中采用单行文字方式输入%%192,也可直接输入“\U+00C0”, 由此可看到“uc^?”的字符原为“a(A)”且字顶上有一撇。通过了解字符的含义,可定义自己所需的形文件。
2.当大字体与字母混写时,其大小很不协调,字母总比汉字大一号,非常难看。曾有人采用比例缩小方式将其统一。即在字母形文件每一句的开头加上“3,5,4,4,”,这里3,5,表示将字母缩小1/5,4,4,表示将字母扩大4倍,意味着整个字高比例系数为0.8,然后在每一句的末尾加上“3,4,4,5,0”,再将其比例还原。这确实是一个办法,但太繁琐。其实根本不需这么麻烦,只需在形文件中改动一个字即可实现。以ROMANS.SHP文件为例,从形文件中将“21,7,2,0,0,0”改成“24,7,2,0,0,0”即可。其解释为:21表示大写字母整个高度被划分的单元网格数量,7表示小写字母在基线向下延伸的距离,2表示可双向(水平或垂直)书写的字体,最后三个0,0,0分别表示为Unicode,可以内嵌的字体以及结尾。改动后相当于字母的高度缩小了21/24。最后将修改后的ROMANS.SHP放入CAD的FONTS文件夹中,用COMPILE命令编译成ROMANS.SHX文件(以下修改文件均采用此编译方式)。
3.上述修改字高方式可用于任何Unicode字体,然而对于TXT.SHP文件却并不完全适用,虽然将6,2,2,0,0,0改成7,2,2,0,0,0后,其字体可缩小为6/7,但整个字母及数字将偏下于汉字的左下方,对于并不十分讲究的使用人来讲,毕竟比原先的字体漂亮多了。如要达到尽善尽美,则6,2,2,0,0,0无需改动,而采用类似于上述第2项的方式进行调整。以数字1的定义为例,首先将“*00031,18,n1……”改为:
*00031,28,n1
2,3,5,031,4,4,14,8,(-1,-6),054,1,012,06C,2,018,1,020,2,020,14,03A,3,4,039,4,5,0
由于改动后比原先多了“3,5,031,4,4,”“ 3,4,039,4,5,”共10个字符,故需将“*00031,18,n1……”改为“*00031,28,n1……”。其中“3,5,***,4,4,”的含义与上述相同,即字高比例系数为0.8,所不同的是031表示在缩小1/5后,将字体的起点向X的正方向移动3格、Y的正方向移动1格(详见帮助文件的自定义部分),039表示反向移动复位。
常用字母的名称范围:数字n0~n9,大写字母 uca~ucz,小写字母lca~lcz。如某些特殊字符也需修改,其名称范围可从ASCII 码换算表中查取。
4.在CAD的帮助文件中,介绍了利用“[”“]”及“{”“}”键实现上、下标功能。但采用帮助文件中的定义,下标偏离太远,几乎到了下一行,且比例失真,实用意义不大。现将其调整如下,首先删除下列语句:
“*0005B,37,klb
……”
“*0005D,37,krb
……”
“*0007B,54,klbr
……”
“*0007D,54,krbr
……”
用下列语句覆盖:
*0005B,7,super_on
2,0E4,3,5,4,3,0
*0005D,7,super_off
2,4,5,3,3,0EC,0
*0007B,9,sub_on
2,3,5,8,(0,-28),4,3,0
*0007D,9,sub_off
2,3,3,8,(0,28),4,5,0
以上修改的是ROMANS.SHP文件,该字体的单元网格高等于21,对于网格高等于21的Unicode字体都可采用以上定义。若修改TXT.SHP文件,由于TXT字体网格高等于6,故需将以上定义中的E换成4,28换成8即可。
5.TXT字体中的大写字母“O”呈长方形,本人觉得不好看,若你也有同感,可修改*0004F,17,uco”语句,将其4个角去掉,用下列语句将相关部分覆盖。
“*0004F,23,uco
2,14,8,(-2,-6),040,014,1,01A,028,016,044,012,020,01E,04C,2,02F,14,8,(-4,-3),0”
6. 在《AutoCAD应用技巧44例》一文中,作者提出形位公差中的圆度符号失真,认为GDT.SHP文件的2号及4号字符中采用127°定义圆度不妥,应为90°。对此,本人持有不同见解。GDT.SHP文件中的2号及4号字符中采用00C码定义圆弧,而00C码规定的半圆定义就是127,并非90°(角度),只有00B码才采用角度定义圆弧。如采用00B码定义圆弧,其效果与00C码一样,但定义编写麻烦,因此不存在圆度失真问题。
7.CAD形位公差中的圆跳动符号与国标不相吻合,国标规定圆跳动符号为实心箭头,箭角为30°,标注角为60°;而CAD的符号却为空心箭头,标注角为45°,箭角为45°。如需与国标一致,可修改GDT.SHP文件的第5句——“*5,16,005”,将其修改为:
*5,37,005
5,8,(36,63),7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,4,182,3,10,083,6,0
*6,17,006
9,(-12,7),(48,55),(-24,-69),(-12,7),(0,0),023,4,4,3,5,0
对修改后的语句解释为:新增的第6句定义了箭角为30°的空心箭头,为绘制实心箭头,在6句的末尾,向内移动并变换4/5的比例。第5句的“7,6, 7,6,……”为反复引用第6句共13次,从而以多个(一个比一个小的)空心箭头近似的取代了实心箭头 。
8.CAD2000中所用的大字体Gbcbig.shx宽高比有点失调,显得过分瘦长,AUTODESK公司在2004版本中有所改善,其宽度约是以前版本的1.1倍。因此若用CAD2004来打开CAD2000以前版本的文件,其Gbcbig.shx字体的宽度将增大1.1倍,反之,若用CAD2000来打开CAD2004的文件(另存为2000版本),其Gbcbig.shx字体的宽度将缩小为原先的约0.9。对此,若文件中Gbcbig.shx字体数量不多,则可忽略不计,当有大段的Gbcbig.shx字体时,则不得不给予足够的注意。
9.值得提醒的是,经编译后的形文件只能在自己的电脑上使用,若将CAD图形在他人电脑上打开或打印,所有修改后的字体仍将恢复原先的状态。也许有人说,这还不简单,将修改的字体复制到他人电脑上,不就行了吗。是的,这样做是能解决问题,但别人却不一定喜爱经你修改的文件,尤其是自定义的上、下标字体。其实,还有更好更简单的办法---将自定义字体与图形放在同一个移动盘或文件夹中,在别人电脑上打开CAD图形时,首先会在CAD图形所在的移动盘或文件夹中寻找并使用相关的字体,即使在他人电脑里已有同名字体时也不例外。这样一来,既满足了当前使用需求,同时他人电脑的字体也未受任何影响。第8条的情况也可采用此方法来解决。各类*shp形文件可从CAD-R14版本的光盘中获取。 |
|