☰
SolidWorks工程图转DWG乱码问题解析与字体映射配置指南
2026/10/9 23:00:14 网站建设 项目流程

实际机械设计和非标自动化项目里,SolidWorks 工程图转成 DWG 给客户或加工厂是很常见的一步。真正让人头疼的往往不是转不出来,而是转出来之后用 AutoCAD 打开,标题栏中文全部变成问号,技术要求文字变成一行乱码,尺寸标注里的直径符号显示成方框。这类问题十有八九不是工程图本身坏了,而是 SolidWorks 在输出 DWG 时,字体和图层没有按预期映射到 CAD 环境。本文以 SolidWorks 输出 DWG 乱码问题为切入点,重点讲清映射文件的定位、读取、修改和应用流程,并提供一套从 SolidWorks 到 AutoCAD 都能复用的排查和验收方法。

文章适合三类读者:一是经常需要把 SolidWorks 工程图转成 DWG 给下游使用的工程师,二是负责公司 CAD 标准模板和转换规范的技术人员,三是刚接触 SolidWorks 转 CAD 流程、被乱码折腾过的新人。看完之后,你至少能完成三件事:定位本机 SolidWorks 的映射文件,修改字体映射规则解决中文乱码,以及在 CAD 端快速判断乱码到底是字体缺失还是映射配置错误。

1. 为什么 SolidWorks 转出的 DWG 会出现乱码

1.1 转换链路里,文字发生了什么

SolidWorks 工程图里的注释、尺寸、技术要求,在另存为 DWG 时并不是简单地把界面上的文字“拍扁”到图纸里。SolidWorks 会通过数据交换接口,把工程图中的文字对象转换为 DWG 文件里的 TEXT 或 MTEXT 实体。DWG 文件本身并不嵌入中文字体数据,它只记录字体名称、字符内容和文字样式信息。CAD 打开这个文件时,再根据字体名称去本机字体库中找对应的字体来渲染。

问题就出在这个环节。如果 SolidWorks 文档里使用的是“仿宋_GB2312”“@宋体”这类名称,而 CAD 机器上没有对应字体,或者映射文件里把 SolidWorks 的字体指向了一个不支持中文的 CAD 字体,那么文字内容虽然还在,显示出来却是问号、乱码或者空心方块。换句话说:乱码不等于文字丢失,往往是字体加载失败或字体替换错误。

1.2 乱码的几种典型表现,决定了排查方向

乱码不是只有一种样子。同样是图纸打不开中文,问号、乱码、空心字和文字消失对应的原因完全不同。先判断现象,再决定动哪里,效率会高很多。

现象本质优先级
中文全部显示为???CAD 找不到中文字体,用默认字体替代高
中文显示为“锟斤拷”“澶ц寖鍥”等乱码字符字符编码被错误解读,或字体映射到不支持中文的 SHX 字体高
文字显示为空心方块,或无边框方框字体是 SHX 字体且缺少大字体文件,或 TTF 字体不存在中
文字内容正常,但位置偏移、旋转角度不对文字样式对齐方式或字体宽度因子被改变低
文字完全看不到,但 CAD 状态栏提示有对象图层被关闭、冻结,或颜色与背景色相同中

实际排查时,优先检查占比最高的前两类:问号和乱码。这两类基本都是字体映射或字体缺失导致,而映射文件正是控制这个转换过程的配置文件。

1.3 映射文件在转档过程中的角色

SolidWorks 自带一个转档机制,输出 DWG/DXF 时会读取一个映射文件,告诉转换引擎三件事:SolidWorks 的字体名对应 CAD 的哪个字体;SolidWorks 的图层名对应 CAD 的哪个图层;SolidWorks 使用的线型对应 CAD 的哪种线型。映射文件的作用不是加密,也不是压缩,而是建立一套“原名到目标名”的对应规则。

如果映射文件里缺少某个字体,或者某条映射规则把中文字体映射到了一个只支持 ASCII 字符集的 CAD 字体,那么转出来的 DWG 必然乱码。理解了这一层,就能明白为什么网上很多“换 CAD 字体”“改系统区域语言”的偏方只能临时缓解,真正稳定可靠的解决办法是直接把映射文件配置对。

2. 先读懂映射文件,再动手修改

2.1 映射文件在哪里,有哪些

不同版本的 SolidWorks 安装路径略有差异,但映射文件基本都放在安装目录下的 data 或 data/map 文件夹中。常见文件包括图纸映射文件、图层映射文件和线型映射文件。在默认安装路径下,可以在以下位置查找:

C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\data\map\ C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\data\

安装目录下可能不只一个映射文件,常见的关键文件有:

文件名作用
drawingmap.txt图纸输出映射,通常包含字体映射、图层映射和线型映射
solidworks.map图层和线型映射规则
sheetmap.txt图纸格式相关映射

不同版本目录结构和文件名不一定完全一致。如果本机找不到这些文件,可以在安装目录下搜索*.map、drawingmap.txt,或者打开 SolidWorks 的“另存为 DWG”选项界面,里面一般会显示当前使用的映射文件路径。这个路径才是最重要的,因为 SolidWorks 实际读取的是它在选项中指向的那个文件,而不是 data 目录下所有同名文件。

2.2 映射文件里到底写了什么

以常见的 drawingmap.txt 为例,文件内容通常是纯文本,每行一条规则,注释行以感叹号开头。文件里通常分成几个段落:字体映射、图层映射、线型映射。

典型格式如下:

! Font mapping SimSun, SimSun FangSong, FangSong ! Layer mapping 注释, 注释层 中心线, 中心线层

每条规则的含义是“逗号左边的 SolidWorks 名称,在转换时替换为逗号右边的 CAD 名称”。判断一段映射是否有效,关键看两件事:源名称是否与 SolidWorks 文档中的字体名、图层名一致;目标名称是否在目标 CAD 环境中真实存在。如果映射的两端都对不上号,转换器就会退回到默认值,默认值往往是乱码的根源。

2.3 修改前必须做的备份和编码确认

修改映射文件之前,建议先把原始文件复制一份到安全目录。原因有两点:一是映射文件属于 SolidWorks 安装目录下的程序配置文件,改动后如果规则写错,可能导致后续所有图纸转档异常;二是 SolidWorks 升级或修复安装时,可能覆盖安装目录下的映射文件,保留备份可以在升级后快速对比差异。

另外,映射文件的编码对中文规则非常重要。用 Windows 记事本打开时,如果文件看起来正常,保存时注意右下角编码方式。常见映射文件使用的是 ANSI 或 GB2312 编码,如果另存为 UTF-8,某些版本的 SolidWorks 可能无法正确解析中文规则。推荐做法是:打开后不做不必要的编码转换,直接编辑内容,保存时保持与原文件一致的编码。

注意:不要直接用“另存为 UTF-8”覆盖原有映射文件。很多人在这一步把原本正常的映射文件存成了 UTF-8,结果 SolidWorks 读取中文规则失败,乱码反而加重。

3. 字体映射配置,解决中文乱码的核心操作

3.1 找到字体映射段落,确认当前规则

打开 drawingmap.txt 后,先往下翻,找到字体映射区域。不同版本段落标记不太一样,常见的关键词有Font mapping、FONT之类。看到形如“字体名, 字体名”的行,就是字体映射规则。

假设当前内容是:

! Font mapping Arial, Arial SimSun, SimSun FangSong, FangSong

如果 SolidWorks 文档里使用的是“仿宋_GB2312”,而映射文件里根本没有这一条,转换时 SolidWorks 会按照默认规则处理,CAD 打开时很可能找不到对应字体。这时可以手动把规则补上,让 SolidWorks 的字体名指向 CAD 端的真实字体。

仿宋_GB2312, SimSun 黑体, SimHei 宋体, SimSun

这里把“仿宋_GB2312”映射到“SimSun”而不是“仿宋_GB2312”,原因很实际:CAD 机房里很多电脑的 Windows 字体目录里根本没有“仿宋_GB2312”,但几乎都有 SimSun(宋体)。映射的目标字体必须真实存在,否则规则写了等于没写。

3.2 中文字体和特殊符号的推荐映射组合

不同企业使用的 CAD 字体环境差异很大,有的用 Windows 的 TTF 字体,有的用天正或中望自带的 SHX 字体。以下是一组通用性较好的映射建议,适合大多数普通机械加工和装备制造场景:

SolidWorks 端字体CAD 端推荐字体说明
宋体 / SimSunSimSun最稳的中文 TTF 字体,几乎所有 Windows 都有
仿宋 / 仿宋_GB2312SimSun 或 FangSong优先 SimSun,避免 GB2312 字体在其他电脑缺失
黑体 / SimHeiSimHei标题栏常用,Windows 自带
ArialArial数字和英文,保留原映射
默认字体SimSun兜底方案,避免默认映射到不支持中文的字体

特殊符号也是经常出问题的点。直径符号Φ、度符号°、正负号±在 SolidWorks 里显示正常,转成 DWG 后变成问号,通常是因为目标字体不支持这些字符。此时不要把这些符号单独映射,更不要手工在 CAD 里逐个替换,正确做法是让文字整体使用支持中文和符号的 TTF 字体,例如 SimSun。TTF 字体对常见工程符号支持较好,而部分 SHX 字体如果不配合大字体文件,就会把高位字符显示成方框或问号。

3.3 标注文字和表格文字乱码的处理差异

普通注释文字乱码和尺寸标注乱码,修复路径略有差别。尺寸标注文字除了依赖字体,还依赖尺寸样式。如果 SolidWorks 转出的 DWG 里尺寸文字出现乱码,但普通注释文字正常,说明尺寸样式引用的字体可能是单独的映射规则,这时要去映射文件里检查尺寸相关字体项,或者转档后到 CAD 里打开标注样式管理器,把尺寸文字的字体统一改成 SimSun。

表格文字,比如 SolidWorks 的 BOM 表转成 CAD 表格后的乱码,经常和块定义有关。此时映射文件只能解决字体部分,表格样式本身还需要到 CAD 里调整。经验是:先保证字体映射正确,再处理表格样式,一条路走不通时不要反复重转同一份图纸。

3.4 保存映射文件时的编码注意事项

编辑完映射文件后,保存时最容易踩编码坑。直接用 Windows 记事本编辑时,默认保存为 ANSI,这种编码通常没有问题。如果用 Visual Studio Code 编辑,就要注意右下角的编码状态。如果原文件是 ANSI 编码,你在 VS Code 里看到的中文正常是因为 VS Code 自动猜对了编码,但保存时如果没有选择“保存为 ANSI”,而是按 UTF-8 保存,SolidWorks 读取时可能把中文规则解析成错误字符。

建议操作顺序是:用记事本打开映射文件,确认中文显示正常,修改内容,保存时只选 ANSI 或与原始文件一致的编码。修改完成后,重新打开一次文件,确认中文规则没有变成乱码,再做转档验证。

# 在 Windows 下快速备份映射文件 copy "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\data\map\drawingmap.txt" drawingmap_backup.txt

4. 把映射文件正确应用到 SolidWorks 输出

4.1 另存为 DWG 时的操作路径

修改完映射文件后,需要让 SolidWorks 在输出时使用这个文件。打开工程图后,依次操作:文件 -> 另存为,文件类型选择 DWG,点击右下角的“选项”按钮,进入 DWG/DXF 导出选项。

在导出选项对话框中,通常会有“激活自定义映射”或类似选项。勾选后,点击“映射文件”位置的选择按钮,指向你编辑好的映射文件。如果映射文件路径没有加载,SolidWorks 会使用安装目录下的默认文件,你之前的修改就不会生效。

文件 -> 另存为 文件类型: DWG 选项 -> 激活自定义映射 -> 选择映射文件 确定 -> 保存

这里最容易犯的错误是:改了安装目录下的原始文件,又没有在导出选项里重新指定映射文件,结果导出的规则还是旧的。建议把修改后的映射文件复制到一个独立目录,比如D:\CAD_Mapping\drawingmap.txt,在导出选项里统一指向这个文件。这样既避免直接改坏安装目录文件,也方便多台电脑共享同一份配置。

4.2 映射文件无法生效的常见原因

按照步骤配置后,如果转出的 DWG 仍然乱码,先不要急着改映射规则,按以下顺序检查:

检查项方法
映射文件是否被选中重新打开“另存为”选项,确认路径正确
文件编码是否被改动用记事本重开映射文件,看中文规则是否可读
字体名称是否完全一致对照 SolidWorks 文档属性里的字体名,注意全角半角、空格、下划线
SolidWorks 是否重启部分版本的配置读取在启动时缓存,修改后建议重启 SolidWorks
转档版本是否过高输出为 AutoCAD 2018 或更高版本时,CAD 端版本过旧也可能显示异常

特别注意字体名称。SolidWorks 里显示为“仿宋_GB2312”的字体,在映射文件里写错成“仿宋 GB2312”或者“仿宋_GB2312 ”(尾部带空格),转换时都匹配不上。

4.3 转档后 CAD 端的基本验证

转出 DWG 后,不要只看图形整体效果,要放大到标题栏文字、技术要求文字、尺寸数字和 BOM 表格四个区域逐项确认。CAD 端验证时,可以双击文字对象打开属性面板,看“文字”栏里的实际内容。如果属性面板里的文字是正常中文,但界面显示问号,说明文字内容没有丢失,问题只出在显示字体上,按第 5 章的方法处理即可。

如果属性面板里的文字本身就是乱码,说明文字在转换过程中已经被错误映射或替换,需要回到映射文件和导出选项排查。

5. CAD 端排查乱码,别把字体缺失当成文件损坏

5.1 打开 DWG 提示缺少 SHX 字体

AutoCAD 打开 DWG 时弹窗提示缺少 SHX 字体,是常见现象。遇到这个提示不要盲目点确定,先看缺少的字体名称。如果缺少的是gbcbig.shx、hztxt.shx这类大字体文件,说明图纸里的中文文字样式依赖 SHX 大字体,而当前 CAD 环境没有安装对应文件。

处理方法有两种。第一种是点击弹窗中的“指定每个缺少的 SHX 文件”,手动选择本机已有的中文字体;第二种是在 CAD 中执行STYLE命令,打开文字样式管理器,把对应样式的字体改为SimSun或宋体。修改后全图文字会统一刷新显示。

对于“以后打开别人的图纸都不弹缺少字体”的需求,可以把本机的 SHX 字体库补充完整,或者通过 CAD 的字体映射文件指定替代字体。需要注意,替代字体只能解决显示问题,如果原来图纸里使用的中文大字体规则复杂,替代后可能出现部分字符错位或显示成方框。

5.2 用属性面板确认文字内容本身没有损坏

判断乱码是“显示问题”还是“内容问题”,一个非常实用的操作是选中乱码文字,打开属性面板(快捷键Ctrl+1),查看文字对象的内容属性。

选中文字 -> 按 Ctrl+1 -> 查看“文字”或“内容”字段

如果“文字”字段显示正常中文,说明 DWG 文件中的字符内容是正确的,乱码只是当前 CAD 字体替换导致。这种情况修改文字样式字体即可,不需要重新转档。如果“文字”字段本身就是乱码,说明问题出在 SolidWorks 转换环节,建议回到映射文件重新检查字体规则,再重新导出。

注意:在 CAD 里把文字打散成线段后再修改,会丢失文字属性,后续无法通过属性面板恢复。除非最终交付要求必须炸开文字,否则不要为处理乱码而把文字炸开。

5.3 CAD 端常见乱码现象速查表

现象可能原因检查方式处理建议
中文显示???文字样式引用的不是中文字体打开属性面板查看文字内容修改文字样式字体为 SimSun
中文显示为乱码符号映射文件把字体指向了非中文字体检查映射文件字体规则改为 SimSun 或本机已有中文字体
打开文件提示缺少 hztxt.shxCAD 缺少中文大字体查看字体缺失弹窗指定替代字体或补装 SHX 文件
中文正常,数字/符号显示方框字体不支持这些符号查看文字样式中的字体换成支持全字符集的 TTF 字体
输出为 PDF 时中文显示正常CAD 本身正常,转 PDF 驱动问题检查 PDF 打印样式打印设置中勾选“使用 TrueType 字体”

6. 生产环境下的转档规范

6.1 映射文件统一管理和分发

在个人电脑上修改映射文件很容易,但企业里面临的是多台设计电脑、多台 CAD 电脑,甚至还有外协厂家。最怕的是每台电脑的映射文件各改各的,A 电脑转出的图纸在 B 电脑打开正常,到 C 电脑又乱码。

建议把映射文件作为标准化配置统一管理。做法是:选一台基准电脑,整理一份验证通过的映射文件,放到共享盘或版本管理仓库中,命名为drawingmap_std.txt。其他设计电脑在 SolidWorks 导出选项中统一指向这个共享文件。SolidWorks 升级后,先在基准电脑上验证新版映射文件兼容性,确认无误后再下发给其他电脑。

映射文件需要维护版本。每次修改前,建议在文件头部的注释区域记录修改日期和内容:

! 2025-01-10: 增加 仿宋_GB2312 -> SimSun 映射 ! 2025-01-10: 调整 图层映射,尺寸线统一进入 尺寸线层

这样修改历史有迹可循,出问题也能快速回滚。

6.2 SolidWorks 文档字体统一,减少转档差异

映射文件能解决转换规则问题,但无法解决源文档本身字体混乱的问题。如果设计员在 SolidWorks 文档里使用了各种自定义字体,有的字体机器上有、有的没有,映射文件再全也覆盖不了所有情况。

推荐做法是在公司标准工程图模板里统一字体。标题栏、技术要求、尺寸标注分别指定固定字体,例如标题栏用“黑体”,技术要求用“仿宋_GB2312”,尺寸用“宋体”,并且在新模板里把字体名固定写死。这样映射文件只需要覆盖少数几种字体,维护成本大幅降低。

实际操作时,可以打开 SolidWorks 的“文档属性”窗口,找到“注释”“尺寸”“表格”等分类,把默认字体统一设置为宋体或黑体。保存模板后,新建工程图会自动使用这套字体配置。已有工程图如果字体已经五花八门,可以用“替换字体”工具批量统一后再转档。

6.3 批量转换后的抽检清单

用 SolidWorks 任务调度器批量把几十张工程图转成 DWG 时,逐张检查不现实,但也不能转完直接发出去。建议按图纸类型抽检,每类至少抽一张重点检查。抽检项包括:标题栏中文是否正常,技术要求是否可读,尺寸文字是否包含乱码,图层是否按预期合并,线型比例是否合适。

批量转档时,映射文件路径要格外注意。任务调度器打开的是 SolidWorks 后台进程,如果映射文件是网络路径且权限不足,后台转换可能读取不到自定义映射文件,直接使用默认配置,导致整批图纸乱码。处理方式是先把映射文件复制到每台设计电脑本地,或确认共享目录具有读取权限。

7. 从映射文件出发,建立完整的 DWG 转档检查清单

7.1 转档前检查清单

转档前花两分钟检查以下项目,能避免绝大多数乱码:

  • SolidWorks 文档中的文字字体是否都在映射文件里有对应规则
  • 映射文件的编码是否为 ANSI 或与原始文件一致
  • 导出选项里是否勾选了自定义映射文件
  • 映射文件路径是否是独立管理目录,且所有电脑都能访问
  • SolidWorks 文档的单位和 DWG 输出单位是否一致,避免尺寸错误与乱码混淆
  • 目标 DWG 版本是否低于或等于 CAD 端使用的版本

7.2 转档后验收清单

DWG 打开后逐项确认:

  • 标题栏单位、图号、名称文字是否与 SolidWorks 一致
  • 技术要求段落是否完整显示,无问号、无乱码
  • 尺寸文字中的直径符号、度符号、公差符号是否正常
  • 图层列表是否符合预期,没有出现大量自动生成的杂乱图层
  • 用属性面板抽查三处文字,确认内容字段与实际文字相同
  • 用不同 CAD 软件各打开一次,确认跨软件显示无差异

7.3 下一步扩展方向

映射文件解决的是“字体名 -> 字体名”的转换问题。实际转档规范还可以延伸到图层映射、线型比例、图框替换和批量自动化。比如多层 SolidWorks 图层统一映射到 CAD 的“0”层,或者把 SolidWorks 的孔标注映射成 CAD 的直径标注样式,这些都可以在映射文件或导出选项里继续配置。对经常出图的团队来说,建议把“SolidWorks 转 DWG”从一次性的手工操作,升级为一套有标准模板、有统一映射文件、有转档后抽检的规范化流程。字体映射只是第一步,但这一步做扎实,乱码问题就解决了一大半。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询