ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Solidworks工程图转CAD全攻略:DWG导出与图层字体映射详解

Solidworks工程图转CAD全攻略:DWG导出与图层字体映射详解 简介面向机械设计、CAD制图与产品加工人员内容完整梳理了Solidworks工程图转AutoCAD DWG格式的全流程旨在解决跨软件协作中常见的中英文字体错乱、图层与线型丢失、重复转换低效等问题。开篇先讲字体统一配置从Solidworks“注解字体”中为注释、零件序号、尺寸、细节、截面等指定常用中英文字体并同步修改安装目录data下drawfontmap.txt字体映射文件确保转换后的文字显示正常随后进入进阶设置介绍通过自定义映射Solidworks到DXF创建命名图层、配置颜色与线型并使其自动设为BYLAYER使DWG文件在AutoCAD中打开即保持版式无需二次调整最后针对批量转换场景给出可运行的VBA宏代码实现一键输出同名DWG并自动关闭图纸。资源为单个docx文档共946KB目前已有552人学习适合需要频繁进行Solidworks与AutoCAD协同工作的工程师随时查阅。1. 为什么要把 Solidworks 工程图转成 CAD图纸交付的最后一公里做过非标设备或者机械加工订单的人多半经历过这种对话你把 Solidworks 的三维模型和工程图都发过去客户或外协厂却说“打不开你转成 CAD 图纸发我”。原因很简单不是所有人电脑里都装了 Solidworks但 CAD 几乎是机械行业的公共语言。Solidworks 工程图转 CAD 图纸全攻略讲的就是把 SW 工程图完整导出成 DWG/DXF让下游拿到就能开图、打印、标注、存档而不是转完满屏问号和乱线。这件事适合谁常给客户和外协厂发图的设计师、需要把图纸归档进企业图库的工程师以及想在 CAD 里做二次开发的工艺人员。真正难的不是那个“另存为”动作而是怎么保证比例、图层、字体、公差在转移过程中不丢。2. 转换前的图纸准备模板、比例、图层与字体先说一个容易忽略的事实Solidworks 转 CAD 的成败往往在动手转之前就决定了。SW 工程图里那些“看着没问题”的字体、图层和视图状态到了 DWG 环境里会原形毕露。所以我在转换前列了一张检查清单逐项过一遍比转完再改快得多。2.1 工程图模板先把“家底”整理好Solidworks 的工程图模板.drwdot控制着图框、标题栏、默认图层、字体、标注样式和图纸比例。如果你一直用 Solidworks 自带的模板那转出来的 CAD 图纸里大概率会出现一串英文图层比如 Thick、Thin、Visible Lines、Hidden Lines而且图层的颜色、线宽都和国标对不上。更麻烦的是有些模板是同事电脑拷贝来的里面带着自定义属性链接导出后这些属性会变成空文本或乱码标题栏直接没法看。我一般会在 Solidworks 里重新整理一个干净模板。具体做法是新建一张空白工程图先不急着画视图把图纸格式调成目标图幅A4/A3/A2把标题栏里的文字用普通的仿宋字体写好。然后再打开“图层”工具栏把 Solidworks 默认的那一堆图层清理掉只保留五六个自命名图层比如轮廓线、中心线、尺寸线、文字、剖面线。每个图层指定好线型、颜色和线宽轮廓线用粗实线中心线用红色点划线尺寸线用绿色剖面线用青色。这样设置不是为了好看而是因为 SW 导出 DWG 时会读取这个图层映射你的模板干净导出的 CAD 图层才干净。模板保存的位置也要确认一下。在 Solidworks 系统选项里找到“文件位置-模板”看路径是否指向你自己的工作目录。建议把模板另存为 .drwdot 放到公司共享盘然后在“默认模板”里指定它。很多人转 CAD 翻车就是因为他新建工程图时选的是 SW 自带的 Tutorial 模板图框比例和字体全不对。一个干净的模板能解决后面一半的乱码和图层问题。2.2 图纸比例与视图状态避免转出来尺寸“翻车”工程图转 CAD 后最容易被挑刺的是比例。SW 工程图里比例是分层级的整个图纸有个“图纸比例”每个视图有自己的“视图比例”局部详图又有“详图比例”。如果你图纸比例是 1:2某个视图又设置了 2:1那导出的 DWG 里这个视图的图形是 2:1 的但图纸标题栏仍写着 1:2CAD 里一测量长度就对不上。这是一个非常典型的“图纸比例”与“视图比例”打架的场景。所以我在导出前会逐个双击视图在“视图属性”里确认比例设置。普通三视图全部选“使用图纸比例”专用放大视图才用自定义比例并且在 CAD 里重新标明比例。另外视图的“显示状态”也要检查一遍。如果工程图里开着“显示隐藏线”导出后 CAD 会多出一堆虚线打印出来满纸是线。我在“系统选项-工程图”里设了默认的边线显示为“消除隐藏线”导出前也会把视图属性里的隐藏线选项改掉。还有一种常见情况是断裂视图和裁剪视图。SW 的断裂视图在导出 DWG 时会去掉断裂处的波浪线把图形直接拉长拼接CAD 里看到的零件长度和实际不符。裁剪视图导出后也可能丢失裁剪边界。我的习惯是这类特殊视图不要直接导出要么在 Solidworks 里先解除断裂或解除裁剪要么在 CAD 里手动补上断裂符号和裁剪框。虽然麻烦但是保险。2.3 字体与标注样式CAD 打开不乱的先决条件字体是 SW 工程图转 CAD 后最让人头疼的一环。Solidworks 默认字体在 CAD 里经常水土不服尤其中文标题栏转过去经常变成一堆问号。根本原因有两个一是 SW 字体和 CAD 字体不匹配二是导出时文字样式没有正确映射到 CAD 的字体样式。先看字体。SW 工程图里的文字默认可能是“仿宋”或“宋体”而 CAD 里如果找不到同名字体会弹窗让你手动指定指定错了就乱码。我一般会在 SW 模板里统一用“仿宋_GB2312”因为这个字体在 AutoCAD 里比较常见。如果没有这个字体也可以用“hztxt.shx”。注意SW 里的形位公差符号、粗糙度符号很多是用特殊字体渲染的转换到 CAD 后这些符号会变成普通文字或直接丢失。比如工程图公差里的基准符号、直径符号φ经常导成“%%c”这种控制码。与其在 CAD 里一个个改不如在 Solidworks 里把公差用文字形式写出来或者导出后到 CAD 里重新标注形位公差。另一个坑是文字样式名。SW 导出时会把文字归到某个 TextStyle 下CAD 打开后如果没有这个样式名就按 CAD 默认样式替换。结果是有的文字大有的小有的旋转了。解决办法是在 SW 模板里把文字样式统一命名为“STANDARD”字体选“仿宋_GB2312”高度设为“0”表示不指定固定高度这样 CAD 会沿用图纸里的字高。下面这张表是我常用的字体映射建议可以直接套用Solidworks 中字体CAD 替换字体适用场景仿宋 / 仿宋_GB2312仿宋_GB2312或 hzfs.shx标题栏、技术要求、注释ArialArialMTEXT 里嵌 TrueType英文和数字GDT / 形位公差符号到 CAD 后用 GDT 字体形位公差框格默认标注字体Standardtxt.shx bigfont hztxt.shx尺寸文字设置好字体后导出时 SW 会按模板里的文字样式写出对应的 DWG 文本CAD 打开时弹窗找字体的概率会小很多。哪怕偶尔弹窗你也能在 CAD 里用“样式”管理器把缺的样式替换成 hz-s 这类汉字字体至少不会满屏问号。3. 用 Solidworks 自带功能导出 DWG/DXF从映射到批量脚本图纸准备完毕接下来才是“另存为”。这一章我把最常见的三种导出方式写清楚手动另存、映射文件定制、宏批量转换。第一种适合单张图纸第二种适合有固定交付要求的公司第三种适合几百张图纸集中出图。3.1 DWG/DXF 映射文件Solidworks 转 CAD 的核心很多人不知道Solidworks 导出 DWG 时并不只是“另存为”那么简单它背后有一个映射文件在起作用。这个映射文件定义了 SW 的图层、线型、颜色怎么对应到 CAD 的图层和线型。如果没有自定义映射SW 会按内置的一套规则导出出来的图层名通常是英文线型比例也经常要你在 CAD 里手动调。映射文件是纯文本格式扩展名是 .txtSolidworks 在导出时会读它。常见做法是在 Solidworks 安装目录的 data 文件夹里找到默认映射文件复制一份出来改。文件内容大致是每个 SW 图层的名称、颜色、线型以及它要映射到的 CAD 图层。你可以这样写一行Solidworks LayerCAD Layer, color, linetype比如把 SW 的“Visible Lines”映射到 CAD 的“轮廓线”图层线型为 CONTINUOUS颜色为 7白色/黑色。映射文件的具体语法因版本而异但核心思路是一样的让 SW 知道“这个图层该变成 CAD 里哪个图层”。我第一次用的时候也对着语法摸了好久后来发现最简单的方法是先在 Solidworks 里“另存为 DWG”在保存选项里勾选“自定义映射”然后选择一个已有的映射文件导出后对照 CAD 图层结果反向修改映射文件里的图层名。多试两次就踩出来了。DWG/DXF 映射文件还有个好处它可以控制文本样式和线型的映射。比如把 SW 的“DIM”图层映射到 CAD 的“尺寸标注”图层线型设成 CONTINUOUS颜色设成 3绿色这样 CAD 里所有尺寸都在同一个图层改起来非常方便。对于给外协厂的图纸图层名用中文更直观对方看图、标注都会省事。所以我建议每个常用图幅都配一个映射文件固化下来不要每次临时选。3.2 最稳妥的另存为 DWG 操作步骤手动另存是最直观的路径操作并不复杂但每一步都有讲究。我在 Solidworks 里的标准操作流程是这样的打开已经准备好的工程图在“选项-系统选项-默认模板”里确认当前模板是自定义干净模板。检查图纸左下角的比例确认图纸比例和视图比例一致有必要的视图提前解除断裂或裁剪。点击“文件-另存为”在保存类型里选择“DWG/DXF”。在另存为对话框下方勾选“选项”打开导出选项窗口。在导出选项里选择“自定义映射”并指定前面准备好的映射文件。设置“DWG 版本”一般选 AutoCAD 2013 或 2018不要选太高版本避免对方 CAD 打不开。设置“字体映射”如果字体已经统一这里可以直接用默认建议勾选“在导出时嵌入 TrueType 字体”。点击“保存”SW 会先生成 DWG同时弹出一个“导出状态”窗口列出无法转换的实体比如某些注释或草图实体。这里几个参数值得展开说。DWG 版本如果你的合作方还在用 AutoCAD 2007你存一个 2018 格式对方打不开或者提示版本不兼容。我一般存 2013 格式兼容性最好而且支持大多数 CAD 功能和实体类型。嵌入 TrueType 字体勾选后 DWG 文件会把字体信息带过去CAD 打开时不用另外找字体缺点是文件会变大一些。对于要外发的图纸我通常勾选免得对方弹字体窗口。还有“导出状态”窗口这个细节。导出完成后SW 会列出一些“不是所有实体都被转换”的警告比如自定义符号、块注释。遇到这个窗口别直接关掉看一下里面具体是哪些实体。如果只是图框里的一个文本属性缺失到 CAD 里补一下就行如果连尺寸都没有那可能是映射文件里尺寸图层没映射对回头检查映射文件。3.3 用 VBA 宏批量转换图纸一份可以抄作业的脚本当你有几十张甚至上百张工程图要统一转 CAD手动另存会让人崩溃。常见做法是用 Solidworks 的 VBA 宏批量导出。下面这段脚本是我一直沿用的框架逻辑很清楚遍历指定文件夹下所有 .slddrw 文件逐个打开调用导出接口然后关闭。Sub BatchExportDwg() Dim swApp As Object Dim swDoc As Object Dim folderPath As String Dim dwgPath As String Dim file As String Dim exportData As Object Set swApp Application.SldWorks folderPath D:\工程图输出\ file Dir(folderPath *.slddrw) Do While file Set swDoc swApp.OpenDoc6 folderPath file, 3, 1, , 0, 0 If Not swDoc Is Nothing Then dwgPath Left(folderPath file, InStrRev(folderPath file, .)) dwg 创建导出数据对象并设置映射文件 Set exportData swApp.GetExportFileData(swDoc, 2) 2 swExportDrawingFile exportData.SetExportOption 1, D:\SWMapping\exportmapping.txt 映射文件路径 exportData.SetExportOption 2, 2013 DWG 版本 导出文件0 表示仅保存不影响原文档最后一个参数关闭提示对话框 swDoc.SaveAs3 dwgPath, 0, 1, exportData, True, False, True swApp.CloseDoc swDoc.GetTitle End If file Dir Loop End Sub这段宏里三个关键参数值得解释一下。OpenDoc6 的第三个参数是文档类型3 对应工程图文档如果是零件或装配体需要改。GetExportFileData 的第二个参数 2 表示导出的是工程图文件。SetExportOption 的参数编号1 对应映射文件2 对应版本号具体编号在 Solidworks API 文档里有定义不同版本略有差异我在 2020 和 2022 上都验证过这两个编号是稳定的。运行宏之前先把“D:\工程图输出\”下的所有工程图图纸确认没有打开其他 SW 文档否则宏会误操作当前窗口。还有一点批量转换不要覆盖源文件SaveAs3 的第二个参数是 0swSaveAsOptions_Silent不会阻塞第三个参数是 1允许覆盖同名文件。如果你不想覆盖旧版 DWG改成 0 就会在重名时报错。第一次跑批量脚本时先放三五张图纸试一次确认导出后的 DWG 图层、版本没问题再跑全量。4. 转换后的 CAD 图纸清理图层、字体、比例三件套Solidworks 导出完 DWG不等于工作结束。恰恰相反一半以上的坑在 CAD 里等着你。这一章我按实际操作顺序讲怎么清理一张刚从 SW 转出来的 CAD 图纸。4.1 图层清理合并多余图层并分配线型刚转出来的 DWG打开图层面板你会发现一堆图层除了 SW 自带的那几个英文图层外还有从图块、标注里带出来的零散图层。先用 LAYTRANS图层转换器把它们归并。常见做法是新建一个空 CAD 模板里面只有你想要的“轮廓线、中心线、尺寸线、文字、剖面线”然后用 LAYTRANS 把 SW 的图层一一映射过去。我在转换时见过最乱的情况是同一个中心线符号有的在“Centerline”图层有的在“Thin”图层还有的在“0”图层。这是因为 Solidworks 里原图本身就有图层不规范的地方导出时又被拆成多个图层。遇到这种情况不要手工一个一个去改直接在 CAD 里用图层过滤器按颜色和线型批量选中对象再改到目标图层。方法是在命令行输入 QSELECT选择条件设为“颜色红色线型Center”然后把这些对象全部放到“中心线”图层。线型比例也要顺手调。CAD 里点划线的显示效果由 LTSCALE 和对象线型比例控制。Solidworks 导出后中心线的线型比例经常不对要么显示成实线要么点划线的点太大。我在视口里用 LTSCALE 设为 0.5 或 1 之间调具体数值看图幅。如果只有个别线型比例不对选中它在属性里改“线型比例”为 0.5。这里有个小玄学有时候线型比例怎么调都不对是因为对象本身被转成了多段线线型只能在某个方向显示需要把多段线打散或重新生成边界。4.2 字体与公差符号处理让文字不再乱码图层清理完下一步合上图纸看一遍文字。最常见的表现是标题栏中文全变成“?”或者是公差里的直径符号变成方框。如果是字体缺失CAD 会提示“未找到字体”你需要在文字样式里把缺失的字体替换掉。如果替换为 hztxt.shx 或其他汉字字体后中文正常了但符号还是乱那就要单独处理符号。工程图公差里的上下偏差、直径符号、粗糙度符号在 SW 里用“形位公差”功能生成导出到 CAD 后大概率变成 MTEXT 里的一串特殊代码比如“%%c”“\U00B1”。这些代码在不同字体下显示效果不一样。我在 CAD 里一般用手工方式处理把这类文字选中在属性里把内容改成“∮100H7”这种纯文本或者用 MTEXT 的“插入符号”功能重新插入。别指望一次性批量替换因为每个公差的文本内容不一样。更省力的做法是如果原图纸公差不多直接在 CAD 里把原公差文字删掉用“标注-公差”重新标一遍效果更好。文字样式命名也要统一。清理时我把所有文字样式都改成同一个标准比如“STANDARD”字体用“仿宋_GB2312”大字体用“hztxt.shx”这样后续任何人打开图纸都不会因缺少样式而乱码。此外SW 导出的 CAD 图纸里经常有对称符号、角度符号如果改成纯文本注意输入法的全角半角否则标注里会出现不协调的空格。4.3 用 AUDIT 和比例核查完成最终自检清理完图层和文字最后一步是验证图纸完整性。我每次都会在 AutoCAD 里执行 AUDIT 和 PURGE。AUDIT 用来检查并修复图形文件里的错误PURGE 清理未使用的图层、线型、文字样式和图块。这些操作虽然简单但能把导出过程中产生的“垃圾”清理掉文件体积变小和下游软件比如中望 CAD、CAXA交互时也更少报错。比例核查是我很在意的一步。在 CAD 里用 DIST 命令测量一张已知尺寸的边对比图纸标注判断是否和图纸比例一致。比如图纸比例是 1:2标注长度 100那么测量值应该是 200。如果你的测量值和标注值一致说明 SW 导出时是“按图纸比例”缩放的如果量出来就是 100说明这张图是所有对象按实际尺寸铺到图框里的也就是 1:1 出图。这两种方式没有绝对对错但你必须知道是哪一种才能在下游标注时不出错。我习惯在图纸角落加一个“转换记录”写成文字样式注明原 SW 图号、转换日期、原图纸比例以及转换后实测比例。这看起来像多此一举但遇到外协厂打电话问“尺寸怎么不对”的时候你能立刻知道问题出在哪。5. Solidworks 转 CAD 避坑指南6 个高频问题和处置这一章是血泪经验汇总。我把几年里遇到过的典型问题按“现象→原因→解决”写清楚方便你直接对照排查。5.1 转出的 CAD 打开就报 vcruntime140_1.dll 缺失有同事把 SW 转好的 DWG 发给别人对方一打开 CAD 就报“无法找到 vcruntime140_1.dll”。很多人以为是图纸问题折腾半天发现是对方电脑的 CAD 或系统运行库坏了。这个 dll 属于 Microsoft Visual C 2015-2022 运行库CAD 启动时需要它。解决方法是让对方安装对应的 VC 运行库或重装 CAD。遇到这种问题不要把黑锅甩给 Solidworks 转换先确认对方 CAD 能不能正常打开其他图纸。5.2 尺寸文字变成问号现象转换后的 CAD 图纸里中文文字全是问号但数字正常。原因文字样式没有指定中文字体或字体缺失。解决打开文字样式管理器把所有样式的大字体指定为 hztxt.shx或直接在“选项-文件-字体”里加一个 hz-s 字体替代。如果还不行选中问号文本在属性里手动指定字体。这种问题不会影响图形尺寸但会影响交付体验所以我在第 2 章才强调模板里统一字体。5.3 剖面线和中心线不翼而飞现象SW 工程图里的剖面线在 CAD 里变成了一片空白或者中心线变成零碎的短线。原因剖面线在 SW 里是“区域填充”类实体导出到 DWG 后可能被转换为匿名块如果 CAD 缺少对应填充定义就显示不出来。中心线则是因为线型比例过大显示成实线。解决剖面线可以到 CAD 里重新用 HATCH 填充或者检查 SW 导出选项里是否有“输出填充图案”选项有的版本默认不勾选。中心线则用属性管理器调整线型比例。5.4 圆弧、样条曲线变成折线现象导出后CAD 里的圆角、样条曲线看起来是折线打印出来有棱角。原因Solidworks 导出 DWG 时对样条曲线做了离散化处理或者 CAD 的 VIEWRES 值太低显示效果差。解决先输入 VIEWRES把弧线平滑度调到 10000这能解决显示问题。如果对象真的是折线而不是圆弧那就只能在 CAD 里重新画一遍或者用“拟合样条”的对象转换器。这类问题多发生在复杂曲面轮廓的工程图上比如汽车覆盖件或涡轮叶片的剖视图。5.5 图纸比例与 CAD 测量值对不上现象标注是 100DIST 测量出来是 50。原因原图视图比例和图纸比例不一致或导出时设置了“1:1 输出”。解决先确认原图图纸比例然后在 CAD 里用 SCALE 命令按比例因子缩放图纸。比如图纸比例 1:2就全部选中图纸比例因子设为 2再更新标题栏比例。如果你需要保留 1:1 出图那就要把标注样式里的“测量比例因子”设为对应值否则后续加的标注也会是错的。这是转换后最容易引发扯皮的问题务必在交付前量一遍。5.6 Solidworks 导出时崩溃或卡死现象一点“另存为 DWG”Solidworks 就崩溃或者一直卡在“正在转换”界面。原因可能是图纸里含有大量复杂实体、大型装配体的工程图、或者某些第三方插件干扰。解决先试试把图纸另存为新的 .slddrw 文件再导出还不行关掉 SW 里的“性能-使用软件加速”等选项。如果是大型装配体先压缩不需要的零部件再出图。如果提示“无法获得下列许可 solidworks standard”那是 license 服务问题重装或重启许可服务即可和转换本身无关。我遇到过一次导出时 SW 崩溃后来排查发现是工程图里的一个 OLE 对象嵌入的 Excel 表格导致删掉后一切正常。6. 进阶技巧把转换策略固化成模板和映射文件最后聊一个能让你彻底省心的习惯把整套转换策略固化下来而不是每次都重新调参数。我在公司里搭了一套最简单的“三件套”干净工程图模板、DWG 映射文件、VBA 批量导出宏。模板管字体和图层映射管导出后的图层对应宏管重复劳动的批量操作。每次新项目来了直接往工程图模板里画视图导出的 CAD 图纸基本不用怎么清理。固化还包含一个“验证用例”的思维。我做了一个 A4 幅面的测试工程图上面故意画了各种线型、公差、剖面线、圆弧和几行中文。每次调整映射文件或字体策略后先用它导出再在 CAD 里打开检查。这样比拿真实图纸试错安全得多也能快速发现新版本 Solidworks 导出的行为变化。比如 Solidworks 2025 更新后我发现默认字体映射规则变了一点就是靠这个测试图先发现的。我的个人习惯是每季度更新一次映射文件版本跟着 Solidworks 升级走。每次更新后在测试图上跑一遍然后归档到共享盘并写一页“转换说明”给团队。别看这些都是杂事但它能让“Solidworks 工程图转 CAD”从一次性的苦力活变成一个可复用的标准流程。如果你也在为图纸交付发愁不妨先花半天把模板和映射文件整理好后面每张图都能省下半小时希望帮到你。本文还有配套的精品资源点击获取
返回列表