change fonts when converted to cad file format

我们将SolidWorks的工程图转换到AutoCAD的文件格式(dwg,dxf)的时候经常会遇到的一个问题就是乱码,比如显示一堆的问号 ???。

这通常是编码或者由字体造成的,特别是中文汉字,日文,韩文等等。

下面介绍几种方法来解决这个问题。当然了,由于乱码这个问题非常的顽固,仅使用下面的一种或两种方法并不能解决问题,最好能综合使用。

1、在SolidWorks工程图中统一好字体

推荐使用”汉仪长仿宋“(好像是SolidWorks2010开始自带)。因为乱码通常是中文字体造成的。在SolidWorks中如果设定的字体是非中文字体,在SolidWorks中显示是没有问题的,会被自动替换成操作系统默认的中文字体。但是在AutoCAD中就不行了,所以,需要仔细检查SolidWorks中设定的字体。统一替换字体的方式是主要有两个方法:

  • 修改工程图模板、图纸格式、材料明细表等里面引用的字体,并导出一份绘图标准,保证新建文件使用的是正确的字体。
  • 统一替换旧的工程图文件的图纸格式和绘图标准。(方法可以参照LiteTools批量工具的教程)
字體

图:绘图标准里面设置字体(注意:不止图中的“注解”一处,其他项也有设置字体)

字體2
字體3

图:确保明细表使用的是文档字体,否则绘图标准不起作用

图:确保注释等使用的是文档字体,否则绘图标准不起作用

2、选择导出AutoCAD 2007及以上的版本以及TrueType字体

从SolidWorks工程图转出DWG,DXF的时候,可以选择CAD文件格式的版本,从2007版开始支持UniCode编码,因此,中文不容易出现乱码。

save

图:转dwg格式时的推荐设置

3、使用字符映射表

字符映射表是SolidWorks提供的一个文本文件,主要功能是用于在导出CAD的时候将指定的SolidWorks字体替换成另一个字体在CAD中使用的字体。但,这个仅限于使用AutoCAD标准字体(.SHX),而不是TrueType字体。所以,要使用这个映射的话,需要将字体改为“仅限于AutoCAD标准”。

常见的汉字SHX字体有:HZfs.SHX,  HZHT.SHX,  HZKT.SHX,  HZTXT.SHX,  HZDX.SHX等。

该文件通常位于SolidWorks的安装目录,比如 C:\Program Files\SOLIDWORKS\data\drawfontmap.txt

fontmap

如上图,有3列,分别规定了DWG/DXF的字体,SolidWorks中的字体,以及字体的缩放比例。

4、尽量选择DXF格式

DXF格式在不同软件间交换数据时具有更好的兼容性和通用性。