明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2210|回复: 8

[公告] 自定义SHX,求教(各位大版(GU_XL,高飞鸟、猫老师)与大侠)

[复制链接]
发表于 2013-10-12 13:33 | 显示全部楼层 |阅读模式
10明经币
本帖最后由 cheng5276 于 2013-10-12 13:38 编辑

近日公司采用的SHX文件中,有几个字符显示不正常,想着用 【GU_xl版的:SHX浏览器.VLX】配合EXPRESS TOOLS,修改这几个字符,碰到了问题。求指教,先拜谢各位大侠。

在此以“一、二、三”这三个汉字为例。
步骤如下:
1、通过此网站http://bianma.supfree.net/sos.asp?id=3985 查到“一、二、三” 的汉字编码为:0D2BB、0B6FE、0C8FD
2、通过EXPRESS TOOLS制作了cheng.shp形文件(“啊”的数据直接从其他SHX中复制过来)。
3、用CAD命令COMPILE编译cheng.shp为cheng.shx
4、在CAD中写文字“啊一二三”
存在的问题:
1、采用cheng.shx字体,单个字符输入“一” “二” “三”,显示无问题;
2、输入多个汉字时,因“啊”的SHP数据是来自其他正确的shx文件,故正确,但是自定义的“一” “二” “三”,出现了重叠。

拜请大虾们,为什么会出现重叠现象?请指教
搜了整个网络,基本无关于自定义shx的流程步骤。如能解决这个问题,本帖亦可作为自定义SHX的标准教程

以下为cheng.shp文件的内容:
*BIGFONT 7025,1,0A1,0FE
*0,4,Extended Font
13,13,0,0

*0B0A1,165,unspecified ;;汉字“啊”,直接从其他SHX文件中弄过来的,显示正确
2,8,(0,12),1,8,(0,-8),2,8,(0,8),1,8,(2,0),2,8,(0,0),1,8,(0,-8),2,
8,(0,1),1,8,(-2,0),2,8,(3,10),1,8,(0,-15),2,8,(0,15),1,8,(3,0),2,
8,(0,0),1,8,(0,-4),2,8,(0,0),1,8,(-2,-1),2,8,(0,0),1,8,(2,-1),2,
8,(0,0),1,8,(0,-5),2,8,(0,0),1,8,(-1,-1),2,8,(0,0),1,8,(-1,1),2,
8,(4,11),1,8,(6,0),2,8,(-1,0),1,8,(0,-14),2,8,(0,0),1,8,(-1,-1),
2,8,(0,0),1,8,(-2,1),2,8,(-2,3),1,8,(0,8),2,8,(0,0),1,8,(3,0),2,
8,(0,0),1,8,(0,-8),2,8,(0,1),1,8,(-2,0),2,8,(7,-5),0

*0D2BB,44 ;;汉字“一” ;;自己根据CAD express tools 制作的SHP文件数据
4,119,4,84,3,179,3,5,3,120,002,9,(5,69),(0,0),001,9,(127,0),(1,0),(0,0),002,9,(-127,-66),(-6,-3),(0,0),001,4,120,4,5,4
179,3,84,3,119,0

*0B6FE,56 ;;汉字“二”  ;;自己根据CAD express tools 制作的SHP文件数据
4,119,4,84,3,179,3,5,3,120,002,9,(37,96),(0,0),001,9,(63,0),(0,0),002,9,(-95,-48),(0,0),001,9,(127,0),(1,0),(0,0),002
9,(-127,-46),(-6,-2),(0,0),001,4,120,4,5,4,179,3,84,3,119,0

*0C8FD,68 ;;汉字“三” ;;自己根据CAD express tools 制作的SHP文件数据
4,119,4,84,3,179,3,5,3,120,002,9,(37,102),(0,0),001,9,(63,0),(0,0),002,9,(-63,-33),(0,0),001,9,(63,0),(0,0),002,9,(-95,-39)
(0,0),001,9,(127,0),(1,0),(0,0),002,9,(-127,-29),(-6,-1),(0,0),001,4,120,4,5,4,179,3,84,3,119,0


















附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

查看完整内容

大侠愧不敢当,我也只懂一点皮毛,也不知怎么演示。shp其实就相当于一支笔在屏幕中把字写出来。开始写字就把笔移动到起点位置落笔,然后按shp中规定的方向和坐标把字写出来,最后把笔抬起来,移动到下一个位置的起点。“002,9,(127,-29)”中002就是表示字写完了,把笔抬起来。9表示后面跟一个坐标即(127,-29)。“002,9,(127,-29)”整个就是把笔抬起来并移动到下一个字的起点。不过(127,-29)中127太大,使得字间距太大,可以根据你 ...
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-10-12 13:33 | 显示全部楼层
大侠愧不敢当,我也只懂一点皮毛,也不知怎么演示。shp其实就相当于一支笔在屏幕中把字写出来。开始写字就把笔移动到起点位置落笔,然后按shp中规定的方向和坐标把字写出来,最后把笔抬起来,移动到下一个位置的起点。“002,9,(127,-29)”中002就是表示字写完了,把笔抬起来。9表示后面跟一个坐标即(127,-29)。“002,9,(127,-29)”整个就是把笔抬起来并移动到下一个字的起点。不过(127,-29)中127太大,使得字间距太大,可以根据你的字体文件适当减小。你的字定义为“002,9,(-127,-29)”就相当于把笔抬起来,回到起点位置,所以下一个字的起点就和第一个字的起点重合了,所以写出的字就会重合在一起。说得比较啰嗦,不知说清楚了没有,其它的咱也不懂,你可以看帮助关于shp定义的内容。
回复

使用道具 举报

发表于 2013-10-12 16:44 | 显示全部楼层
你定义的一,二,三每次写完抬笔回到落笔点位置,使得这三个汉字的落笔点都在同一个位置,当然要重合在一起了。应该写完一个汉字后抬笔向右移适当位置作为下一个汉字的落笔点,而不是写完回到落笔点。

评分

参与人数 1明经币 +1 收起 理由
cheng5276 + 1

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-10-12 20:35 | 显示全部楼层
本帖最后由 cheng5276 于 2013-10-12 20:37 编辑

谢谢,我试着重新做了遍,还是不对,圆处是定义形文件时,各自的基点。
估计是我曲解了您的意思(基点不能那样设),大侠能请您图示不?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

 楼主| 发表于 2013-10-13 18:15 | 显示全部楼层
继续自顶,恭请高人继续指点
回复

使用道具 举报

发表于 2013-10-13 19:12 | 显示全部楼层
帮你改了一下,你可以对照比较一下不同之处,不过右移127有点大,你自行调整到合适的大小。
*0D2BB,44 ;;汉字“一” ;;自己根据CAD express tools 制作的SHP文件数据
4,119,4,84,3,179,3,5,3,120,002,9,(5,69),(0,0),001,9,(127,0),(1,0),(0,0),002,9,(127,-66),(-6,-3),(0,0),001,4,120,4,5,4
179,3,84,3,119,0


*0B6FE,56 ;;汉字“二”  ;;自己根据CAD express tools 制作的SHP文件数据
4,119,4,84,3,179,3,5,3,120,002,9,(37,96),(0,0),001,9,(63,0),(0,0),002,9,(-95,-48),(0,0),001,9,(127,0),(1,0),(0,0),002
9,(127,-46),(-6,-2),(0,0),001,4,120,4,5,4,179,3,84,3,119,0

*0C8FD,68 ;;汉字“三” ;;自己根据CAD express tools 制作的SHP文件数据
4,119,4,84,3,179,3,5,3,120,002,9,(37,102),(0,0),001,9,(63,0),(0,0),002,9,(-63,-33),(0,0),001,9,(63,0),(0,0),002,9,(-95,-39)
(0,0),001,9,(127,0),(1,0),(0,0),002,9,(127,-29),(-6,-1),(0,0),001,4,120,4,5,4,179,3,84,3,119,0

评分

参与人数 1明经币 +1 收起 理由
cheng5276 + 1

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-10-13 23:53 | 显示全部楼层
多谢,我看出您动了几个127的正负。
大侠,关于SHP数据生成,您能给我演示下么?谢谢了
回复

使用道具 举报

 楼主| 发表于 2013-10-14 21:07 | 显示全部楼层
原来如此,多谢多谢。
回复

使用道具 举报

 楼主| 发表于 2013-10-15 21:12 | 显示全部楼层
本以为以解决,刚换了个复杂的字,“阀”的shp数据如下,还请高手指点,这种该如何改呢?
*0B7A7,150
4,137,4,73,3,156,3,4,3,128,002,9,(55,108),(0,0),001,9,(3,-23),(9,-34),(11,-20),(7,-11),(12,17),(0,0),002,9,(-27,65),(0,0)
001,9,(11,-14),(0,0),002,9,(6,-20),(0,0),001,9,(-10,-20),(-14,-17),(-20,-11),(0,0),002,9,(-6,57),(0,0),001,9,(55,0),(0,0)
002,9,(-62,3),(0,0),001,9,(0,-71),(0,0),002,9,(8,96),(0,0),001,9,(-27,-45),(0,0),002,9,(30,59),(0,0),001,9,(63,0),(0,-119)
(-16,3),(0,0),002,9,(-81,125),(0,0),001,9,(16,-20),(0,0),002,9,(-23,-3),(0,0),001,9,(0,-105),(0,0),002,9,(0,0),001,4,128
4,4,4,156,3,73,3,137,0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-2 13:38 , Processed in 1.069048 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表