最近不知道为什么有点强迫症!
非要把shx字体转成fnx字体给UG使用(其实UG的字体比gbcbig.shx细节更多更漂亮)。
最近解决了一部分,强迫症解除了,记录一下。
方法如下:
一、shx字体解析
shx字体可以通过shx2shp转换为shp格式的字体文件,shp字体文件为文本文件,打开:
*号后面代表了字符,7,142,5,2,8,(42,79),1,8,(-5,1)这些括号里面的是相对坐标,本以为1是落笔,2是抬笔,结果试了好几次,不对!!!发现2是落笔,1是抬笔。
那么所有的字符和落笔抬笔的坐标全都有了,这个字形的信息足够了,shx字体解析可以搞定了。
二、UG fnx字体解析
UG的fnx字体可以由fnt字体编译,fnt字体是文本文件,打开MD是开始划线的坐标LD是连线的下一点的坐标。用的是绝对坐标。那么由此知道了UG的字体构成,可以生成UG字体了。网上能搜索到更详细的信息。
三、转换
这部分用python比较方便,读取shp文件转换成fnt文件就好了,然后编译成fnt就可以给UG用了。
转换用的渣渣代码:

附一份在UG中的显示状态,其中不少字是自己改过的:

当然了UG的字体也能转出来shx给CAD用,
至此CATIA UG CAD的字体可以互转了!强迫症解除了啦啦
以上仅是测试验证想法接触强迫症,写点小脚本挺有意思的就是了,其实也并不会在实际中使用。