
我主力机上一直装着AD22.9就是22.11之前的那个老版本。倒不是没法升级而是这套老界面我用了太久Gerber导出、钻孔输出、坐标文件生成这些操作早已形成肌肉记忆。可身边的新同事总在出制造文件这一步翻车漏图层、精度不够、坐标原点对不上贴片机甚至有人把电源层的负片导出成了实心铜板子打样回来整板短路。AD22旧版导出Gerber这件事看着只是“点几下按钮”实际上藏着一堆只会在工厂端爆雷的细节。这篇文章就把我从AD14一路用到AD22积累下来的流程完整写一遍专门给22.11之前版本的AD用户从Gerber参数设置、钻孔文件、坐标文件一直讲到出厂前的检查方法。虽然界面是老版的但底层原理在后续版本同样适用看完你至少能少踩一半的坑。1. 为什么旧版AD22的Gerber导出值得单独写一篇版本分水岭与文件底层逻辑1.1 22.11前后的界面变化到底藏着哪些坑Altium Designer 22这个版本号其实横跨了一整年的迭代从22.0一路更新到22.11以后。其中22.11算是个比较明显的分水岭。在22.11之前制造输出的入口还是那套经典对话框File菜单下直接可以找到Fabrication Outputs点进去就是Gerber Files、NC Drill Files、Pick and Place Files三个独立窗口。操作路径短选项集中老用户闭着眼睛都能点完。到了22.11以及后续的AD23、AD24官方把制造输出流程逐步往Output Job和新的Fabrication页面统一很多选项的位置发生了变化。比如Gerber设置里的Layers选项卡在新版本中变成了表格化的选择界面钻孔文件也从原来的独立对话框更多地要求你通过Output Job来配置。这就导致一个很尴尬的局面网上大量教程的截图是AD20或者AD21的但你在AD22旧版上照着操作发现入口对得上到了AD23才发现全变了。很多人在这个过渡期被绕晕甚至误以为自己的软件装坏了。所以我要强调一个原则用哪个版本就找哪个版本的教程。如果你现在还在用22.11之前的AD22别看新版教程如果你已经升级到23以后也别拿旧版截图硬套。本文所有操作路径全部基于22.11之前的老界面这也是为什么我称之为“旧版全攻略”。另外要提醒的是AD22旧版的界面在新版眼中是“过时”但在实际使用中反而更顺手。新版的Gerber设置虽然表格化信息密度高但对于不常用的人来说老版这种“一个Tab一个Tab点下来”的引导方式反而更不容易漏步骤。1.2 制造文件包的完整构成图形层、钻孔与坐标数据很多新手以为Gerber就是“那一堆.gbr文件”其实完整交付给板厂的制造文件包至少包含三类数据第一类是图形层文件也就是Gerber本身。PCB的每一个物理层顶层铜、底层铜、中间信号层、内电层、丝印层、阻焊层、助焊层、板框层都会拆成独立的Gerber文件。每个文件记录的是该层上的所有图形走线、焊盘、铜皮、文字、开窗区域。RS-274X格式的Gerber会在文件头里嵌入光圈Aperture数据也就是绘制这些图形所用的“画笔”定义因此不需要额外附带D码文件。第二类是钻孔文件也就是NC Drill。它记录的是板上每一个孔的位置、直径、是否金属化。钻孔文件与图形层文件一样重要缺了它板厂不知道孔打在哪里。更准确地说Gerber里的焊盘决定了“铜环的位置”而钻孔文件决定了“钻头落下去的位置”两套数据必须严格对齐。第三类是坐标文件Pick and Place File它服务于SMT贴片环节是给贴片机编程用的。每一颗需要贴装的元件都要有一个坐标记录位号、所在的层、X/Y坐标、旋转角度、所在面。工厂拿到这个文件后才能告诉贴片机“这颗电阻吸起来之后放到哪个坐标、转多少度”。用个通俗的类比Gerber是给板厂看的“建筑图纸”每一层是一张透明胶片钻孔文件是图纸上“打孔位置清单”坐标文件则是装修阶段的“家具摆放图”告诉施工队每件家具落在哪个位置、什么朝向。三者各管一段缺一不可。2. 制造端对Gerber文件的要求参数设置对照与常见拒收原因2.1 单位、精度与格式三组参数决定文件容错率导出Gerber时最前面那几个参数看起来不起眼实际决定了工厂的CAM工程师能不能顺利打开你的文件。我见过不少设计本身没问题却在参数设置上被板厂打回来的案例所以先把这几个参数讲透。第一是格式默认选RS-274X就好。这是目前最通用的Gerber格式包含内嵌光圈支持正负片混合输出几乎所有板厂和CAM软件都能处理。Gerber X2是RS-274X的扩展版增加了层属性和文件元数据理论上更先进但很多中小板厂的CAM系统对X2支持得并不好打开时偶尔会报层属性识别错误。我的建议是除非工厂明确要求X2否则一律用标准RS-274X稳定压倒一切。第二是单位AD里通常用英制mil设计导出Gerber时也选Inches保持一致。如果工厂要求公制那就整体用mm导出不要混用。混用单位不会让文件出错但会在CAM处理时增加一层换算换算过程中产生的舍入误差可能让微小的间距问题被放大。第三是精度这是最容易忽略的一项。AD提供2:4和2:5两种格式数字的含义是整数位和小数位的位数2:4表示“两位整数、四位小数”单位是英寸时最小分辨率是0.0001英寸也就是0.1mil2:5表示“两位整数、五位小数”分辨率达到0.01mil。现代PCB走线间距动辄3mil、4mil0.1mil的精度看起来够用但在处理圆弧、大铜皮、异形焊盘的转换时2:4的舍入误差会在局部产生微小的锯齿或偏移密集区域有质量风险。我自己常年用2:5这个设置多花不了多少存储空间但能规避一大部分CAM处理时的精度问题。下面是常用配置的对照配置组合最小分辨率适用场景推荐度RS-274X / Inches / 2:40.1mil约2.54um间距宽松的简单双面板一般RS-274X / Inches / 2:50.01mil约0.254um常规多层板、高密度板强烈推荐RS-274X / mm / 3:31um工厂明确要求公制时可用RS-274X / mm / 3:40.1um公制高精度出片推荐另外还有个“前导零/尾随零”的选项这个要取决于工厂的CAM软件习惯。有的CAM软件习惯读取无前导零的坐标有的读取无尾随零。AD里一般在Advanced选项卡下可以设置最常见的组合是“Suppress leading zeroes”也就是省略坐标前多余的0。如果不确定就用默认值导出然后在CAM编辑器里打开确认坐标读取正确再发给工厂。2.2 板厂最怕见到的几类文件问题工厂的CAM工程师每天要处理大量设计文件他们对“文件问题”的容忍度很低因为一个参数不对可能整批板子报废。下面这几类问题是我实际遇到过的列出来给你避坑问题现象可能原因解决方向缺少钻孔文件只导出了Gerber图形层忘了生成NC Drill出Gerber后同步生成NC Drill文件内电层整片铜内电层被设为Signal层而非Plane层负片属性丢失在Layer Stack Manager中检查内电层类型丝印压焊盘丝印文字太大或位置不当工厂无法开窗调整丝印位置和线宽出片前检查丝印层板框断裂或重复板框线未闭合或多个机械层都有边框线只在机械层1画闭合板框导出前核对坐标文件原点与Gerber不一致坐标文件用默认绝对原点Gerber用了板子左下角原点统一起点设置两处采用同一个原点这里面最坑的是内电层负片问题。AD的层叠管理器里内电层有两种类型Plane和Signal。Plane类型的内电层在Gerber导出时会按负片处理也就是整片实心铜只在需要隔离的地方挖空。而Signal类型会按正片处理只有你画的走线区域有铜。如果你在设计电源层时用了一个Signal层铺铜来模拟电源平面Gerber导出后工厂看到的就是密密麻麻的走线而不是一整片干净的铜。反之如果你把有碎铜分隔的区域设计成了Plane负片输出时一些细小的隔离带可能显示不出来造成意外的短路。出片前必须回Layer Stack Manager确认内电层类型这点我放在第3章细说。3. 旧版AD22导出Gerber完整流程层叠检查到出片参数3.1 出片前必须做好的三项准备很多人一上来就点导出结果文件交付出去一堆问题。我自己的习惯是导出Gerber之前先做三件事加起来不到十分钟但能省掉后面大量麻烦。第一件事检查层叠管理器。进入Design菜单下的Layer Stack Manager确认板子的层数、板厚、铜厚参数符合设计预期。如果你画的是四层板要确保内电层被正确设置为Plane类型而不是Signal类型。我出过一次问题就是早期画板时图省事把一块电源层用的Signal铺铜后来改版时没改回Plane出片时工厂直接做成了整板网络混乱。从那以后每块板子在出Gerber前我都会强制检查一遍层叠。第二件事整理板框层。板框必须在机械层1Mechanical 1上并且画成一条闭合的线段链或闭合的矩形。很多人习惯在Keep-Out层画边框但Keep-Out层的定义是“禁止布线区域”在工厂端并不等同板框。另外其他机械层上的标注、尺寸线、说明文字在导出Gerber时不要勾选输出否则工厂的CAM工程师要花时间分辨哪些是板框、哪些是辅助标注。最稳妥的做法板框只在机械层1其他机械层全部隐藏不输出。第三件事设置好原点。在Edit菜单下选择Origin然后Set把原点放到PCB的左下角或者右下角。这个原点的位置非常关键因为后面导出的坐标文件、钻孔文件全部都以这个原点为参考。我习惯放在左下角便于工厂在CAM软件里快速定位。如果你用的是默认的世界原点坐标文件里的所有坐标可能是一个很大的数值虽然技术上没有错但会让工厂的编程人员很不舒服而且容易在换算时出错。这三件事做完再顺手跑一遍DRCDesign Rule Check确认没有未连接的飞线、间距违规、线宽违规就可以开始导出了。3.2 Gerber Files设置面板逐项说明在22.11之前的AD22里导出Gerber的入口是File菜单选择Fabrication Outputs再点Gerber Files。弹出的对话框有四个选项卡我一个个说。第一个选项卡是General这里选择单位Inches或Millimeters和格式2:4或2:5。如第2章所说我推荐用Inches加2:5。下面的“Apply to all”选项意思是你当前选择的单位会应用到所有输出层保持选中。第二个选项卡是Layers这是大多数人最容易漏选层的环节。你需要对照层叠管理器逐一勾选顶层和底层铜Top Layer、Bottom Layer、中间信号层如果有、内电层Internal Plane层一般会自动勾选、顶层和底层丝印Top Overlay、Bottom Overlay、顶层和底层阻焊Top Solder、Bottom Solder、顶层和底层助焊Top Paste、Bottom Paste。如果板子需要钢网Paste层必须导出如果不需要钢网也可以不勾但建议一律导出反正不占多少空间。还要勾选机械层1作为板框层以及Drill Drawing和Drill Guide这两个钻孔辅助层。这里有个小技巧不要让AD自动把所有层都勾上因为它会把一些你不想输出的机械层也带上。我通常是“只勾必要的层”其中机械层只勾M1其他机械层全部留空。这样工厂收到的Gerber文件数量清晰不会出现“不知道哪个文件对应哪一层”的问题。第三个选项卡是Apertures。这里最重要的选项是“Embed apertures”中文界面可能显示为“嵌入光圈”。RS-274X格式支持把光圈定义直接写进Gerber文件头工厂无需外部D码表即可识别。这个选项必须勾上。如果你用的是老式274D格式才需要额外生成D码文件但274D已经淘汰了不用纠结。第四个选项卡是Advanced。这里有三个细节值得注意第一个是坐标格式中的前导零/尾随零设置一般保持默认或按工厂要求调整第二个是“Plotter Type”默认按“Unsortedraster”或者“Sortedvector”都行不影响最终结果第三个是“Other”里的“Use software arcs”如果你画板时用了大量圆弧勾选这个可以用软件生成圆弧指令否则可能被拆成小线段文件大而且不够平滑。所有参数设置完后点OKAD会生成一个CAM文件也就是在项目里打开一个CAM编辑器的视图。到这个视图后再用File菜单里的Export把各层Gerber文件导出到指定目录。很多新手以为点OK就是在导出其实OK只是生成预览真正写文件要靠后续的导出步骤。这也是旧版让人困惑的一处现在统一说明。3.3 钻孔文件NC Drill的生成与检查Gerber图形层导出之后紧跟着就是钻孔文件。入口在File菜单下的Fabrication Outputs选择NC Drill Files。弹出的对话框设置单位、格式这里强烈建议与Gerber保持一致也就是Inches加2:5。NC Drill对话框里还有一个“Drill Drawing”选项选择生成钻孔图的方式你可以选择在每个孔的位置画一个符号也可以生成一个钻孔统计表。我建议都勾上因为工厂在AOI检测和倍率检查时需要对照钻孔图来确认孔径。点OK后同样会生成一个CAM视图里面能看到钻孔的分布和各孔径的Tool List。这一步一定不要跳过Tool List里记录了每一种孔径的数量、直径、孔总数。我会核对一下孔总数是否与设计一致比如设计里有100个过孔、10个安装孔这里显示总数110那就没问题。如果数字对不上说明有孔被漏掉了或者有孔重叠了需要回到PCB里修正。另外要注意微小孔的标注。如果板子上有0.3mm以下的过孔尤其是HDI板上的激光微孔普通的NC Drill可能无法表达正确需要配合盲埋孔设置和专门的微孔文件。旧版AD22对这种板子的支持比较繁琐我建议遇到HDI板时老老实实用Output Job来配置多层微孔输出或者至少咨询工厂要什么格式不要自己闷头导出。4. 坐标文件生成贴片编程的数据源怎么打4.1 坐标文件Pick and Place的格式与字段坐标文件在AD里对应的是Pick and Place Files也叫装配坐标文件。它和Gerber、钻孔文件的目标用户不同——Gerber给PCB制造厂坐标文件给SMT贴片厂。所以它不需要描述铜皮和孔只需要描述“每颗元件放在哪里”。常见格式有三种文本Text、CSV逗号分隔和FP格式。文本和CSV最通用Excel能打开贴片机编程软件也基本都支持。FP格式是AD早期用的固定宽度文本格式现在已经很少用。我一般选CSV方便工厂直接导入。字段方面一份标准的坐标文件至少包含这些列字段含义举例Designator位号R1、C5、U3Layer所在层Top / BottomX PositionX坐标10.5000Y PositionY坐标12.3000Rotation旋转角度90Side所在面Top / Bottom有些工厂还会要求加一列“Comment”或“Value”也就是元件型号或参数值。AD导出时可以在设置里勾选包含这些信息。多给一列不会造成问题所以我一般会把Value加进去方便贴片厂做上料核对。4.2 导出坐标文件的具体步骤在22.11之前的AD22里导出坐标文件的路径是File菜单选择Fabrication OutputsPick and Place Files。弹出的对话框里有几个关键设置第一个是Format选择CSV格式。第二个是Units推荐用Millimeters因为SMT贴片机的编程界面基本都以公制为主。如果你Gerber用英寸坐标文件用毫米也没问题只要在readme里写明即可。但我个人习惯是坐标文件统一用mm因为工厂大部分设备都是公制。第三个是“Include Layer”之类选项具体名称可能因版本略有不同总之确保CSV里包含Designator、Layer、X Position、Y Position、Rotation、Side这几列。点OK后AD会生成一个包含坐标数据的表格视图你需要在里面右键选择Export将该表格保存为CSV文件。注意这里和Gerber导出一样点OK只是生成预览真正写文件要靠Export步骤。导出后用Excel打开CSV文件检查三个地方一是底部元件是否都带Layer字段且只有Top和Bottom两个取值二是X、Y坐标是否与你设置的原点一致数值应为正数且在板框范围内三是有没有位号重复或者缺失。我曾经有一次改版后一颗新加的电容位号没更新导出坐标文件里出现了两个C12贴片时直接贴错从那以后我每次都会在导出后扫一眼位号列。4.3 原点一致性问题一个让人反复踩坑的细节坐标文件最容易出问题的地方是“原点不一致”。Gerber导出时的原点和坐标文件导出时的原点如果不一致贴片厂在编程时就必须做一次坐标偏置一旦换算出错整批元件的位置都会偏移后果非常麻烦。我遇到过一次真实案例一块四层板Gerber用左下角原点导出坐标文件却沿用了之前版本设置的板中心原点。板厂拿到文件后贴片编程时没有发现原点差异直接按坐标文件编程结果首件贴出来所有元件整体偏了半个板子。最后排查发现原点差了整整50mm。所以第3.1节里我反复强调导出前先设置原点。这个原点一旦定了Gerber、钻孔、坐标文件都必须基于它导出中途不要再改。如果你发现坐标文件里的X、Y数值整体偏大或偏小先回PCB里看一下Edit菜单下的Origin是不是原点被移动了。另外还有一个细节Bottom面的元件坐标。贴片机有两种工作方式一种是板子翻面后从Bottom面贴装另一种是底部带翻转旋转的贴装头。AD导出坐标文件时Bottom面的元件坐标是按照从Bottom面俯视的方向计算的也就是说如果你在Top面看板子某些Bottom面的元件坐标看起来可能是“镜像”的。这是正常现象不要在CSV里手动改否则贴片机反而看不懂。只要你在导出时正确选择了层并让工厂使用标准的贴片编程软件导入这个坐标就是对的。5. 导出后的质量检查用CAM编辑器验证文件5.1 CAM编辑器里怎么快速自查AD22旧版导出Gerber后会自动打开一个CAM编辑器视图部分版本叫CAMtastic。不要关掉它这是你出厂前做自检的最佳工具。在CAM编辑器里你能看到所有导出的层堆叠在一起。我的自查顺序是这样的先看层列表Layers标签页确认哪些层被导入了、哪些层缺失。对照PCB的层叠顶层、底层、内电层、丝印、阻焊、助焊、板框一层一层核对。如果内电层没有出现在列表里说明Layers选项卡里没勾选要回到Gerber Files重新生成。再看显示效果。把不需要的层关掉只保留板框和顶层检查板框是否闭合再单独打开顶层丝印和顶层阻焊检查丝印是否压到了焊盘打开阻焊层看开窗区域是否和焊盘完全重合。然后用量测工具测几个关键尺寸板框长宽、两组焊盘的间距、某个大铜皮到最近走线的距离。这能验证你的设计规则是否真的体现在了Gerber上。如果量出来的尺寸和PCB设计里的预期不一致说明导出过程中精度或比例出了偏差要及时排查。最后看钻孔文件。切换到钻孔层或者查看钻孔统计表确认钻头直径列表里没有离谱的数值比如0.1mm的超微孔出现在常规通孔板里。如果出现看看是不是某个过孔设置了错误的孔尺寸。5.2 我遇到的“看起来正常、下厂出事”问题清单有些问题在CAM编辑器里一眼就能看出来但有些人压根不检查等到板厂反馈才追悔莫及。下面这些都是我或同事实际踩过的坑逐条列给你第一个是丝印压焊盘。尤其是有密集引脚IC的时候丝印字符稍微大一点就会盖在焊盘上。板厂做阻焊时丝印区域不能开窗焊盘如果被丝印盖住焊接时可能虚焊。CAM编辑器里把丝印和阻焊层同时打开一眼就能看出来。处理办法是缩小丝印字宽或者把位号挪到空余位置。第二个是Paste层误删。钢网层Paste决定锡膏印刷的位置和形状。有些人画板时为了方便把Paste层上的图形做成了和焊盘完全一样这没问题。但改版时如果不小心删掉了某些元件的Paste图形或者把Paste层整体删了钢网开孔就会漏掉对应的焊盘上不了锡。导Gerber时一定要确认Paste层被正确导出并且在CAM编辑器里和焊盘层叠加对比。第三个是TrueType字体的丝印。AD默认的丝印字体是Stroke字体笔画字体但在放置文字时有人会切换成TrueType字体。这种字体在AD里显示得很漂亮但导出到Gerber后会被转换成大量线条如果在工厂的CAM软件里处理不当可能变成乱码或者方块。我吃过一次亏板子上的版本号丝印印出来成了几个黑块工厂也没提前说只能重新打样。解决方法是丝印文字统一用Stroke字体想要漂亮字体的话把字做成图形铺铜但不要用TrueType直接放在丝印层。第四个是板框层的开放性。如果你的板框线在机械层1上是一段段首尾相接但未完全闭合的线段CAD软件里看没问题但CAM软件里判断板框可能失败导致铣边时走刀路径出错。处理办法画板框时用连续线段一条完整的多段线或ARC链不要让线段之间有细微的缝隙。第五个是Keep-Out层被当作板框导出。很多从别的PCB工具转过来的设计板框画在Keep-Out层。AD里Keep-Out层默认不导出Gerber但如果你勾了它而板框在机械层1又不存在工厂就无法识别边界。强烈建议把板框统一放在机械层1Keep-Out层只用作布线禁止区不要承载板框信息。我在实际工作中还习惯做一步额外保险用第三方CAM工具打开导出的Gerber文件再看一遍。AD自带的CAM编辑器虽然方便但它是AD自己的渲染逻辑工厂用的可能是GC-CAM或CAM350两者的显示效果有细微差异。第三方工具打开后如果层对齐、单位、光圈都正常基本可以放心交付。6. 让导出成为半自动流程Output Job与交付物组织6.1 建立自己的Output Job一键输出配置前面讲的都是手动导出流程适合第一次接触的人理解每个环节的原理。但如果你每个月要出好几块板子的制造文件手点五个对话框效率太低而且每次都要重新勾选层、设置参数难免出错。AD的解决办法是Output Job。在File菜单下选择New然后Output Job打开一个输出任务编辑器。在这个编辑器里你可以把所有制造输出集中到同一个配置文件里Gerber Files、NC Drill Files、Pick and Place Files以及可选的ODB文件、 PDF装配图全部添加进去并把参数固定下来。配置好一次之后这个Output Job文件可以保存在项目文件夹里下次改版只需要运行这个Output Job所有文件就会按预设的参数一次性生成到你指定的目录。不同同事用同一份Output Job导出的结果完全一致不会出现“这个人的Gerber缺一层、那个人的坐标文件少一列”的混乱情况。我目前在项目里就是一套标准Output JobGerber用RS-274X、Inches、2:5钻孔文件同配置坐标文件用CSV、mm、四位小数同时输出一个PDF装配图和一个PCB 3D PDF。每次要打样我只需右键Output Job选择Run一分钟内拿到所有文件。剩下的时间全用来做这些文件的检查而不是重复做那些“设置参数、导出一遍、再设一遍”的体力活。6.2 交付给工厂的压缩包长什么样最后再聊聊交付物的组织。很多新手把一堆Gerber文件随便丢进一个文件夹压缩成zip发给工厂。工厂收到后文件名不清晰、层数对不上、还要自己分辨哪层是顶层哪层是底层体验非常差。更好的做法是建立一个统一的目录结构并且在压缩包里附带一个readme文件。我常用的目录结构是这样00_Readme存放工艺说明文件01_Gerber_RS274X存放所有.gbr文件02_NC_Drill存放钻孔文件和钻孔统计表03_PickAndPlace存放CSV坐标文件04_AssemblyDrawing存放装配图PDF05_ODB如果工厂要求放ODB输出命名规则方面我习惯用“项目名_板卡名_版本号_日期”作为根目录比如“SmartHomeGateway_NetModule_V1.2_20250105”。这样即使同一个项目多次打样一眼也能看出哪一版是最新的。readme.txt里我会写清楚这些内容板子名称、板厚、层数、铜厚 表面工艺沉金、喷锡、OSP等 阻焊颜色和丝印颜色 最小线宽、最小间距、最小孔径 坐标文件和Gerber的原点基准PCB左下角 单位说明Gerber用Inches坐标文件用mm这一段文字看起来不起眼但工厂的CAM工程师拿到你的文件后不需要来回发邮件确认工艺参数直接按readme开工整个流程顺畅很多。我发过几十次打样文件凡是附了readme的几乎没有接到过“请问你们板子用什么表面工艺”的电话。关于ODB补充一句ODB是一个整合了图形、钻孔、坐标、BOM等多种信息的制造数据格式AD22旧版里可以在File→Fabrication Outputs下找到ODB输出入口。它比零散的Gerber文件更结构化但部分工厂并不支持所以交付前先问清楚工厂要Gerber还是ODB不要自己揣测。我个人的做法是默认发Gerber工厂特别要求时再额外生成ODB。最后说一个我自己的习惯每次准备发文件给工厂之前会把“三件事”固定过一遍——DRC有没有清零、原点是否在左下角、Output Job是否重新run过一次。这三件事全过一遍再用压缩软件打包基本不会出低级差错。做硬件这一行很多问题不是设计得有多复杂而是交付前的细节没核对。Gerber导出这件事说到底就是把你的设计意图百分百准确传达给制造端少一点“我以为”多一点“我先检查”比什么技巧都管用。