搞射频和电源的兄弟应该都有这种经历版图在ADS里调了无数遍仿真曲线看起来也像模像样结果到了打样或者做结构散热配合的时候对方来一句“有没有DWG或者DXF”当场就有点懵。Gerber只能表达铜箔、阻焊和丝印机械工程师真正要看的板框、螺丝孔、散热焊盘位置一个都给不了。于是你只能在ADS的Layout窗口里对着图形发愁最后要么截个图发过去要么四处找人帮忙转换。这篇文章就专门聊这个事怎么把ADS里的PCB版图和散热器相关图形干净利落地导成DWG文件交给工厂。这个活儿看着简单实际坑不少尤其是单位转换一个25.4倍错误能让你整套结构配合全乱掉工厂那边和你互相确认尺寸可能就要折腾好几天。下面全部是实操过的东西照着做基本能一次搞定。1. 导DWG到底解决什么问题从仿真版图到工厂的最后一公里1.1 你大概率会遇到的三种导出场景先说场景不然你可能会觉得“导出DWG”就是个锦上添花的功能。其实这个需求在射频功放、电源模块、嵌入式板卡设计里非常常见。第一种是板框配合。PCB打样回来要装进外壳外壳是结构工程师用SolidWorks或者AutoCAD画的他需要拿到一块板的实际外形轮廓包括倒角、异形切割、螺丝柱位置。这种时候Gerber没法直接用但DWG拖进去就能一比一对齐。第二种是散热器配合。你的板子上有功率器件比如LDMOS、GaN功放管、大功率LDO底下有大面积接地焊盘要压在散热器底座上。散热器厂需要知道焊盘尺寸、位置、螺丝孔中心距否则做出来的散热器压不住管子热阻直接崩掉。这个场景尤其需要把“散热焊盘”和“螺丝孔”单独导出来还要标得一清二楚。第三种是仿真结果向外部交付。很多项目要求把关键走线区域、敏感电路位置、开孔位置整理成文档给到EMC工程师或者合作方评审。与其用截图不如直接从ADS导出DWG在CAD里做标注专业度和信息量都完全不一样。1.2 为什么不是Gerber而是DWGGerber本质上是光绘格式它的核心能力是描述“哪里该曝光、哪里该刻掉”是给PCB产线看的。它没有一个统一、直观的“实体尺寸”概念不同软件打开同一份Gerber显示比例、圆孔精度都可能不一样机械工程师用不起来。而DWG是AutoCAD的原生格式DXF是它的开放交换格式两者已经成了机械加工、结构设计领域的通用语言。散热器厂、机加工厂、外壳厂就算没有PCB设计软件也一定装得了CAD看图工具。你把DWG发过去对方可以直接测量、标注、做干涉检查效率不是一个量级。有人会问既然Gerber不行那我直接把ADS版图截图发过去行不行也行但那只能算“示意”工厂一放大就糊了孔位中心距没法精确量。真正到了散热器底座开孔、外壳螺丝柱定位这一步必须上矢量DWG/DXF。所以ADS的Layout数据天然要有一个走向通用机械格式的出口DWG就是这个出口。1.3 导出前先统一单位体系的底层逻辑你在ADS里画图时默认可能是mil密耳1 mil等于0.0254 mm。而机械、结构、机加工行业基本都用毫米。这就埋了一个坑ADS内部用一套单位存数据导出时让你选目标单位如果你选错了得到的DWG尺寸就是名义尺寸的25.4倍。这不是吓人。100 mm的板子如果不小心按inch导出在CAD里就是100 inch足足2540 mm比一张办公桌还大。工厂那边拿到的螺丝孔位中心距全都不对轻则打回返工重则整套散热器模具开错。所以导出之前必须想清楚三件事你的设计单位是什么、导出目标单位是什么、工厂打开时会用什么单位模板。这三件事统一了后面才不会再出问题。这也是我为什么要把“单位转换”和“导出操作”放在一起讲因为导出这一步的成败一半在单位设置上。2. 导出前必须做好的三件准备图层、单位与原点2.1 在ADS中建立一套“给工厂看”的图层规范ADS的Layout本身有默认图层体系比如cond导层、resist阻焊、silk丝印等等这些图层和仿真过程纠缠得很深。如果你直接把所有层都导出CAD里会变成一团乱麻工厂根本分不清哪个是板框、哪个是铜皮、哪个是散热焊盘。我的习惯是在ADS里新建几个专门用于机械交付的用户层然后只导出这些层。常见的命名规范是英文大写避免中文图层名在CAD里乱码。CAD图层名内容建议颜色BOARD_OUTLINEPCB外框轮廓白色HK_PAD散热焊盘区域黄色MNT_HOLE螺丝孔、定位孔红色SILK丝印或关键器件轮廓青色REFERENCE参考尺寸标记灰色具体操作上ADS里每个图形对象都有Layer属性你可以在属性编辑器里把板框矩形归属到BOARD_OUTLINE把散热焊盘归属到HK_PAD把圆形螺丝孔归属到MNT_HOLE。分层做完之后导出时只勾选这几个图层CAD那边打开就会非常清爽。这一步看着繁琐但实际上比“一股脑全导出去再在CAD里慢慢删”要省时间得多。尤其散热器配合场景你给工厂的DWG里如果混着一堆走线和过孔对方还得反复问你“这个黄色区域到底是不是要贴散热器的部分”沟通成本极高。2.2 显示单位与导出单位两套体系别搞混ADS里有两套单位概念容易混淆显示单位和导出单位。显示单位只影响你在屏幕上看坐标时读到的数字比如在Layout窗口状态栏显示“X 100 mil”还是“X 2.54 mm”它不影响数据库内部实际存储值。导出单位则是在“Export DXF/DWG”对话框里单独选的这一步才决定输出文件里的数值。更稳的做法是从设计一开始就把显示单位切到最终交付单位。在ADS Layout窗口的工具栏里一般有一个单位下拉菜单或者可以在Options Preferences里改Layout Units。我把显示单位设成毫米之后画板框时直接输入100、60脑子里就是毫米直觉导出时也选mm全程不用做任何心算出错概率直接降一半。如果你已经在mil显示下画完了图倒也不用返工导出时选mmADS会自己换算。但这里有个建议导出后的DWG一定要到CAD里复测一遍尺寸别指望软件自动换算永远不会出问题。2.3 原点偏移问题图形莫名飞到十万八千里外还有一个容易被忽略的坑图形原点。缩着画图时你会从某个位置开始摆放器件整个版图的几何中心可能离原点非常远。比如在ADS里从(3000, 2000) mil这个坐标开始布局导出后CAD打开图形就在第一象限离原点老远的地方。CAD默认显示范围不够大你按ZOOM Extents之前屏幕上一片空白工厂那边甚至会怀疑文件是不是坏了。处理办法有两种。如果这个板子只是导出自己用不需要和别的结构件坐标对齐那就把图形整体移动到原点附近再导出。ADS的Edit菜单下面有Move功能框选所有对象基准点选板框左下角目标点输入(0, 0)几分钟搞定。如果图形是要和外壳或者其他结构件做坐标对齐的那原点就不要乱动保持绝对坐标。这种情况下导出后我会在CAD里用ZOOM Extents把图形缩放到视野内确认没有飞出去才保存。不管哪种情况都要在CAD里做一次全图缩放检查这是交付前的基本动作。3. 手把手实操从ADS Layout导出DWG的完整流程3.1 一个具体例子带散热焊盘的射频功放板设定一个我做过的典型场景一块100 mm × 60 mm的射频功放板板中间有一块20 mm × 20 mm的顶层大面积散热焊盘用于功率管底部散热焊接四角有四个M3螺丝孔直径3.2 mm用来把板子锁到散热器底座上。在ADS Layout里我先把板框画出来点矩形工具在坐标输入栏输入(0, 0)作为左下角右上角输入(100, 60)这样板框就落在第一象限原点正好在板角上。这个习惯很重要导出后CAD里图形贴着原点工厂非常喜欢。然后在中间画一个矩形起点(40, 20)终点(60, 40)这一块设为HK_PAD图层。四个角画圆形直径为3.2 mm圆心的坐标分别是(5, 5)、(5, 55)、(95, 5)、(95, 55)设到MNT_HOLE图层。画图时要注意在ADS里如果要用mm输入可以先看单位显示状态如果你之前切成了mm直接输数字就行。如果没切那就要自己换算这个地方最容易出错所以我强烈建议先改显示单位再画。3.2 导出对话框关键选项逐项解读画完图形选中所有需要导出的对象在Layout窗口菜单栏找到File Export DXF/DWG部分版本显示为DXF弹出来的对话框才是关键。不同版本细节不一样但核心选项就是下面这几个。文件类型如果可以选DXF或DWG优先DWG如果只能选DXF也没关系导出后用CAD打开另存为DWG即可。ADS本身对DWG支持情况各家版本差异不小我遇到过输出DWG后线型丢失的情况反而DXF更稳定。单位这是整个导出过程最核心的选项。选mm不要选inch不要选mil。如果你画的图是mil单位ADS会自动换算成mm不用你手动处理。但换算完一定要到CAD里复测这个动作不能省。精度指小数点后保留几位。一般3到4位足够满足机械加工太少了圆弧和斜边会失真太多了文件体积变大且没有实际意义。mm单位下3位就能到微米级足够用。图层勾选你建好的BOARD_OUTLINE、HK_PAD、MNT_HOLE这些层。其他仿真用的默认层比如cond、resist如果想保留走线轮廓可以带上但如果是给散热器厂的结构配合图只导机械相关层就可以了。文本如果版图里有文字标注导出选项里大概率会有“Text as Lines”或者类似选项意思是可以把文字转成线段。我建议选这个否则CAD里字体缺失会显示成问号工厂看起来极其不专业。填充有些版本导出时会问你填充区域怎么处理。记住一个原则导出Outline轮廓不要导出Fill填充。填充在CAD里往往是一大片线条反而没法直接做区域操作。导出时不要直接覆盖源文件建议单独建一个文件夹比如“DWG_output”把每次导出的文件放进去。命名带上版号和日期例如“PA_Board_RevA_mm_20250205.dwg”这个习惯能帮你省掉很多和工厂沟通时的麻烦。3.3 在AutoCAD里做一次“交付前自检”导出之后不要急着发先自己验证一遍。我觉得这个验证步骤就相当于PCB投板前的DRC检查不做的话出问题的概率很大。CAD打开操作我建议这样来新建一张公制图纸模板选acadiso.dwt。很多时候直接双击打开DXF文件CAD会套用上次的模板单位可能就是英制的所以新建再插入比较稳。打开DXF文件或者用INSERT插入都行。先用ZOOM输入EExtents全图缩放确认图形确实存在且位置合理不会“空白一片”。然后输入UNITS打开单位设置对话框看“插入时的缩放单位”是不是毫米。如果不是说明你的当前图形是英制环境这时候测量的数值很可能有问题。接着用DI命令分别量一下板框长宽、散热焊盘尺寸、螺丝孔直径。实测100 mm × 60 mm板框是否真的量出100和60。孔直径是否接近3.2 mm。再输入BOBOUNDARY在板框内部点一下看能不能生成一条封闭的多段线。如果能说明图形封闭性没问题工厂拉伸实体、做干涉检查都方便。如果提示找不到有效的边界那说明板框线是断开的可能导出时被打散了需要后面再处理。最后保存成DWG。保存时可以在CAD里顺手放一个尺寸标注标出板宽100 mm。放在REFERENCE图层里工厂打开一眼就能看到参考尺寸后续沟通省心。4. 单位转换避坑指南不要被25.4这个数字毁掉整个项目4.1 25.4倍错误的成因与典型表现单位转换出问题九成都是同一个罪魁祸首25.4。这个数字是英寸和毫米之间的换算比例也是英制和公制在PCB/机械协作中最容易出事的点。想象一下你画了一个直径3.2 mm的M3螺丝孔导出时单位误选了inch。CAD里用公制模板打开这个圆会显示为直径3.2 inch实际等于81.28 mm比一个拳头还大。工厂看到必然发懵如果你没注意到整个散热器配合图全是错的这个孔位根本没法用。反之也一样。如果设计时是英寸单位却按mm导出数值会被缩小25.4倍。一个100 mm的板框导出后CAD显示只有3.937 mm小得肉眼几乎看不见。你还在纳闷怎么图形不见了工厂那边已经在怀疑人生了。25.4倍错误的典型表现还有板框和散热焊盘明明应该是同一坐标系下的相对位置结果两个图层之间尺寸比例完全对不上CAD里距离测量工具量出的数字和标注数字差了25.4倍导出的圆孔在拉伸成实体后明显比预期大或者小。出现这些现象第一反应就要往单位上想不要先去怀疑图形对不对。4.2 DWG、DXF的单位机制与CAD打开姿势为什么这个坑如此隐蔽因为DWG/DXF文件本身并不像一般人想象的那样“自带绝对单位”。DWG文件里有Drawing Units设置DXF文件头部有变量叫$INSUNITS很多第三方工具导出的DXF会把$INSUNITS写成0也就是无单位。无单位是什么意思就是CAD打开这个文件的时候不知道里面的数字到底代表毫米还是英寸它只能套用当前图形模板的单位。如果你的模板是英制里面写100它就当100英寸如果是公制它就当100毫米。所以同一个DXF在不同模板下打开物理尺寸天差地别。这也是为什么我反复强调“新建公制模板再打开”。用acadiso.dwt新建图形然后在命令行输入UNITS确认“插入时的缩放单位”是毫米。这一点确认了后面所有的测量才有意义。如果发现文件已经被以错误单位打开过也别慌。选中所有图形然后输入SCALE命令选择基点再输入25.4如果是太小了就输入1/25.4或者直接用0.03937作为缩放倍数就能把尺寸纠正回来。但这种事后补救容易漏选对象所以我更建议先把单位机制搞清楚导出时就选对省得后面折腾。4.3 单位自检三步法与参考尺寸标注我个人总结了一个单位自检三步法每次都这样验证基本能保证万无一失。第一步理论尺寸复核。导出前记录原始设计里几个关键尺寸比如板框100 mm、散热焊盘20 mm、螺丝孔直径3.2 mm、孔距50 mm。导出后到CAD里用DI命令量一遍所有数字必须和原始设计一致误差在0.01 mm以内才正常。第二步相对位置抽查。光量单个尺寸还不够还要量相对位置。比如四个螺丝孔的中心距水平方向是90 mm5到95垂直方向是50 mm5到55。这个数据直接决定散热器能不能对准锁上必须复测。第三步参考尺寸标注。在CAD里用DIM命令给板框和几个关键孔位加上尺寸标注放在REFERENCE图层。这样即使收文件的工程师不看说明也能从图面直接读到“板宽100 mm”这个信息。相当于给图纸加了一个约束单位错了也能被发现。还有一个土办法我很推荐在板角位置画一个边长10 mm的正方形参考块放在REFERENCE图层。工厂打开DWG后只要用DI量一下这个参考块是10就说明文件正常不是10那就是单位有问题。这个不起眼的十毫米方块关键时刻能救命。5. 常见问题速查与排查技巧5.1 封闭区域/多段线问题工厂拉伸不了实体CAD里有一段区域想拉伸成立体或者想做面域运算软件要求边界必须是一条完整、封闭的多段线。但ADS导出的DXF很容易变成一堆独立的Line线段尤其在异形板框或者圆弧过渡处交点处会断开。现象就是CAD图形看起来是封闭的但用BOBOUNDARY命令点内部区域时软件提示“无法找到有效的边界”或者生成不了面域。工厂那边做3D模型的时候就卡住了。原因是ADS导出时把图形按实体对象输出而这些实体在DXF里可能被表示为首尾相连但性质独立的线段。尤其是圆弧和直线相交的位置断点非常常见。解决办法是先用JOIN命令选中板框所有线段把连续端点合并成一条多段线。如果JOIN合并不了就用BO命令在板框内部点一下让CAD自动寻找边界并生成一个新的多段线。再用OVERKILL命令清理冗余线段把重叠、重复的对象删掉。最后用LIST命令查看对象类型确认已经是“LWPOLYLINE”或“REGION”。我习惯导出后都会做一遍这个流程不为别的就图个安稳。5.2 圆弧变折线、线宽丢失、文字乱码这几个问题虽然不会让尺寸出错但很影响图纸质量工厂收到图纸后第一印象就不好。圆弧变折线通常是因为导出精度设置太低。DXF里的圆和圆弧如果精度不够会被软件用很多小直线段拟合肉眼看还行放大后能看到明显的多边形效果拉伸实体时表面也不光滑。解决方法是把导出精度调到3到4位小数如果已经是最高精度那就在CAD里重新画一下关键圆弧尤其是螺丝孔这种直径要求高的地方。线宽丢失是个老大难。ADS里图层设置好的线宽导出到CAD后往往变成了默认线宽看起来全是细线。处理方式是在CAD的图层管理器里按图层设置默认线宽。比如BOARD_OUTLINE用0.3mmMNT_HOLE用0.15mm。这样输出打印的图纸层次感才清晰工厂师傅看着也舒服。文字乱码几乎是必然的。ADS里的字体和CAD兼容性很差直接导出会显示成问号或者奇怪的方块。所以我前面强调过导出时凡是有关文本的选项一律选“Text as Lines”或者“输出为几何线条”。这样做文字会变成由线段组成的图形虽然不能再编辑但肯定不乱码。给工厂的交付文件本来也不需要再改文字能看懂就行。5.3 给工厂交付文件的完整清单与命名规范最后整理一下交付惯例。导出一个DWG文件并不等于完整交付尤其散热器配合这种跨部门协作我一般会打包一套文件一起发过去。文件清单里除了DWG本尊最好附带一份很短的说明文档内容只需要写三句话单位是毫米、比例是1:1、关键参考尺寸是板宽100 mm。文件名同理要把板名、版本、单位、日期都写进去别用“新建文档.dwg”这种名字。比如这样命名PA_Board_RevA_mm_20250205.dwg这个命名方式的好处是工厂收到文件之后不用问就知道是哪个版本、用什么单位。版本号尤其重要否则你改了三次板最后发过去一个旧文件等回来才发现就晚了。说明文档可以是一个txt文件内容类似文件名PA_Board_RevA_mm_20250205.dwg 单位毫米mm 比例1:1 板框尺寸100 mm x 60 mm 螺丝孔M3直径3.2 mm中心距90 mm x 50 mm 参考基准左下角(0,0)几句话就能把核心信息讲清楚工厂那边少问一轮电话项目就快一天。历史经验告诉我一份没写单位说明的DWG平均要来回确认两到三次才能进入生产流程这个沟通成本远比花五分钟写说明要高。我自己干这行这么些年最大的体会是导出DWG这事技术含量不高但它是最考验细心程度的环节。单位、图层、原点、封闭性任何一个细节松懈后面都要付出几倍的时间来弥补。而且这种错误通常要在工厂试装或者开机加工才发现那时候真就是欲哭无泪。所以我现在每次导出前都会默念一遍图层分好单位选对原点归位CAD复测写清说明。这套流程走完文件发出去基本没有回头的。最后再分享一个小习惯导出的DXF文件我会顺手导入到立创EDA或者AD里转一圈再导出一次看尺寸有没有变化。用两个不同的软件验证同一个文件单位要是错了绝对逃不过这道交叉检查。