
1. 从一块被工厂退回的板子说起画完PCBDRC全绿3D预览看着也挺顺眼结果发给板厂之后收到一封邮件“Gerber文件层缺失钻孔文件格式不识别请重新输出。”这种事我遇到过不止一次身边刚入行的朋友更是经常踩坑。问题往往不在设计本身而在于从设计文件到生产文件这“最后一公里”没走对。Altium Designer 23下面统一叫AD23导出Gerber这件事说简单也简单菜单点几下就出来了说复杂也复杂层选错一个、格式选错一项、钻孔文件和Gerber对不上板子做出来就是废的。这篇内容就是围绕AD23导出Gerber文件这个具体操作展开的。我会把整个流程拆开讲清楚每一层是干什么的、为什么这么选、参数背后的含义是什么、导出之后怎么自查、出了问题怎么排查。不管你是第一次导出Gerber的新手还是已经出过几次板但偶尔还会被工厂打回的老手都能从这里找到可以直接照着做的步骤和避坑经验。核心关键词会自然贯穿全文AD23、Gerber、NC Drill、IPC-D-356A、CSV这几个词基本覆盖了从光绘文件到钻孔文件再到网表比对文件的完整链路。先说清楚一个基本认知Gerber文件不是“一个文件”而是一组文件的集合。它描述的是PCB每一层的二维图形信息板厂拿到这组文件之后用它来制作光绘底片再经过蚀刻、层压、钻孔等工序把板子做出来。所以Gerber导出的本质是把你设计软件里的层信息翻译成板厂设备能读懂的标准格式。翻译得好不好直接决定板子能不能做出来、做出来对不对。2. 导出前的准备工作与整体思路拆解2.1 为什么不能直接发PCB源文件给板厂有些新手会问我把.PcbDoc直接发给板厂不就行了理论上部分板厂确实接受源文件但实际操作中问题很多。第一源文件包含你的设计规则、器件库、网络信息属于核心设计资产发出去等于把家底交出去了。第二不同板厂用的软件版本不一样AD09、AD14、AD20、AD23、AD24、AD25之间的文件兼容性并不完美打开之后层设置、规则可能发生变化。第三板厂的生产线只认Gerber和钻孔文件源文件他们也要再转一道多一道转换就多一道出错的可能。所以行业标准做法就是设计端输出Gerber NC Drill板厂直接拿去生产。这也是为什么“ad导出gerber文件教程”这类搜索一直有热度因为这是每个硬件工程师必须掌握的硬技能。2.2 导出前必须确认的三件事在动手导出之前有三件事必须先确认否则后面全是白费功夫。第一确认板框层正确。板框必须在Keep-Out Layer或者专门的Mechanical Layer上闭合不能有断点。板厂靠板框来确定外形切割路径板框不闭合切割路径就乱了。我习惯把板框放在Mechanical 1层同时Keep-Out Layer也画一圈双保险。第二确认层叠结构。在Design - Layer Stack Manager里检查层数和顺序。顶层、底层、内电层、丝印层、阻焊层、助焊层每一层都要确认清楚。特别是多层板内电层的顺序搞反了板子直接报废。第三确认DRC已经通过。不是说要零错误但至少不能有短路、断路、间距违规这类致命问题。Gerber导出不会帮你检查电气连接它只是忠实地把你的设计“拍平”成图形。设计有问题Gerber就有问题。2.3 整体导出流程的骨架整个导出流程可以概括为四步配置Gerber层参数 - 生成Gerber文件 - 生成NC Drill钻孔文件 - 生成IPC-D-356A网表文件并自查。这四步对应了板厂生产所需的全部数据。Gerber管图形NC Drill管钻孔IPC-D-356A管网表比对部分板厂用于飞针测试。有些板厂还会要求提供CSV格式的坐标文件用于SMT贴片这个后面单独讲。提示AD23的Gerber导出入口在File - Fabrication Outputs - Gerber Files。NC Drill在同一个菜单下的NC Drill Files。IPC-D-356A在File - Fabrication Outputs - Testpoint Report里选择IPC-D-356A格式。3. Gerber层参数配置的逐项拆解3.1 General选项卡单位与格式怎么选打开Gerber Setup对话框第一个选项卡是General。这里有两个关键设置Units单位和Format格式。单位选Inches还是Millimeters我的建议是跟你的设计单位保持一致。如果你画板时用的是mil就选Inches如果用mm就选Millimeters。虽然理论上可以换算但换算过程中可能出现舍入误差导致某些尺寸对不上。板厂两种单位都支持不存在必须用哪个的问题。格式这一栏AD23默认是2:4英制或4:4公制。这个数字的含义是整数位位数:小数位位数。2:4表示整数2位、小数4位对应分辨率是0.0001英寸。对于绝大多数PCB设计来说2:4足够用了。如果你的板子有非常精细的间距要求比如0.1mm以下的线宽可以考虑用2:5但一般没必要反而增加文件体积。注意格式一旦选定整个Gerber文件集必须统一。不能有的层用2:4有的层用2:5板厂解析时会出问题。3.2 Layers选项卡哪些层必须导出这是整个配置里最容易出错的地方。AD23的Layers选项卡左侧是“Plot Layers”下拉框右侧是层列表。下拉框有三个选项All On、All Off、Used On。我通常先选All Off然后手动勾选需要的层。必须导出的层包括Top Layer顶层走线Bottom Layer底层走线Top Overlay顶层丝印Bottom Overlay底层丝印Top Solder顶层阻焊注意是Solder Mask不是Paste MaskBottom Solder底层阻焊Keep-Out Layer禁止布线层通常包含板框Mechanical 1如果板框放在这层也要导出Internal Plane层如果有内电层每一层都要导出Multi-Layer多层焊盘信息必须导出不需要导出的层Top Paste、Bottom Paste这是钢网层单独处理、Assembly层装配图生产不需要、各种Mechanical非板框层。这里特别说一下阻焊层和助焊层的区别。Solder Mask是阻焊层负片输出意思是“这里不开窗”。Paste Mask是助焊层正片输出用于制作钢网。导出Gerber时选Solder Mask不要选Paste Mask。很多新手在这里搞混结果板子做出来焊盘全被绿油盖住了。3.3 层导出顺序与镜像问题在Layers选项卡里每个层后面有一个“Mirror”复选框。底层相关的层Bottom Layer、Bottom Overlay、Bottom Solder需要勾选Mirror因为底层是从底部看的导出时需要镜像。顶层不需要勾选。这个逻辑其实很好理解你从板子正面看顶层看到的就是设计的样子从板子正面看底层看到的是镜像的。Gerber文件描述的是“从正面看”的视图所以底层要镜像。实操心得我见过有人把所有层都勾了Mirror结果顶层丝印全反了板子回来字符是镜像的。也见过有人底层忘了勾Mirror底层走线方向全错。这个复选框虽小但影响巨大。3.4 Aperture光圈与高级选项Aperture选项卡里有一个“Embedded Apertures”选项建议勾选。它的作用是把光圈定义嵌入到Gerber文件里而不是单独生成一个.aperture文件。这样板厂拿到的是一个自包含的文件不容易丢信息。Advanced选项卡里Zero Suppression选“Suppress Leading Zeros”还是“Suppress Trailing Zeros”这个跟格式有关。2:4格式通常选Suppress Leading Zeros。如果你不确定选“None”最保险虽然文件大一点但不会因为前导零/后导零的问题导致坐标解析错误。还有一个“Position on Film”选项选“Relative to Drill Origin”或者“Relative to Absolute Origin”都可以关键是整个文件集要统一。我习惯用Absolute Origin跟钻孔文件保持一致。4. 生成Gerber文件与NC Drill钻孔文件4.1 生成Gerber文件的操作步骤配置完Gerber Setup之后点击OKAD23会自动生成Gerber文件并在CAM Editor里打开预览。这时候不要急着关掉先做几件事在CAM Editor里逐个层查看确认每层的图形是否正确。检查丝印层有没有压到焊盘。丝印压焊盘会导致焊接时字符印在焊盘上影响可焊性。检查阻焊层开窗是否比焊盘大。通常阻焊开窗比焊盘单边大0.05mm到0.1mm这是为了补偿制造公差。检查板框是否闭合有没有多余的线条。确认无误后File - Export - Gerber选择输出目录AD23会把所有Gerber文件输出到指定文件夹。文件扩展名通常是.GTL顶层、.GBL底层、.GTO顶层丝印、.GTS顶层阻焊等。4.2 NC Drill钻孔文件的生成要点Gerber管的是“平面图形”钻孔管的是“Z轴方向”的信息。没有钻孔文件板厂不知道哪里要打孔、打多大的孔。在File - Fabrication Outputs - NC Drill Files打开对话框。关键设置Format跟Gerber保持一致2:4或4:4。Units跟Gerber一致。Zero Suppression跟Gerber一致。Drill Origin选Absolute或者Relative跟Gerber的Position on Film保持一致。Output Files勾选“Generate NC Drill Files”和“Generate Drill Drawing”。点击OK后AD23会生成两个文件一个是钻孔数据文件.TXT或.DRL一个是钻孔图.DRR。板厂主要用钻孔数据文件钻孔图是给人看的参考。注意NC Drill文件里的孔位必须和Gerber里的焊盘位置完全对应。如果对不上通常是原点设置不一致导致的。解决办法是统一用Absolute Origin并且在Gerber和NC Drill里都选同一个原点。4.3 钻孔文件与Gerber的对应关系自查导出完成后我习惯做一个简单的自查在CAM Editor里同时打开Gerber和钻孔文件看孔位是否落在焊盘中心。AD23的CAM Editor支持叠加显示把钻孔层和顶层/底层一起打开放大看几个关键器件比如连接器、芯片的孔位。如果发现孔位偏移检查两个地方一是Gerber的Position on Film设置二是NC Drill的Drill Origin设置。这两个必须一致。我遇到过有人Gerber用AbsoluteNC Drill用Relative结果孔位整体偏移了一个板框的距离板子回来全是废的。5. IPC-D-356A网表文件与CSV坐标文件的生成5.1 IPC-D-356A是干什么的IPC-D-356A是一个网表测试文件它记录了每个网络的起点、终点、层信息、坐标。板厂在做飞针测试时用这个文件来比对实际板子的网络连接是否和设计一致。虽然很多板厂也接受Gerber直接比对但提供IPC-D-356A能提高测试效率减少沟通成本。在AD23里生成IPC-D-356A的路径是File - Fabrication Outputs - Testpoint Report。在对话框里选择“IPC-D-356A”格式设置好单位和格式点击OK即可生成。这个文件不是必须的但强烈建议提供。特别是对于网络比较复杂、飞针测试点比较多的板子有了这个文件板厂测试时能快速定位问题。5.2 CSV坐标文件与SMT贴片CSV坐标文件是给SMT贴片机用的里面包含每个元件的位号、X坐标、Y坐标、旋转角度、层信息。AD23生成CSV坐标文件的路径是File - Assembly Outputs - Generates Pick and Place Files。在对话框里选择CSV格式设置单位和格式。生成的CSV文件可以用Excel打开检查一下元件坐标是否正确。特别是旋转角度不同贴片机的角度定义可能不一样有的以逆时针为正有的以顺时针为正。这个需要跟SMT工厂确认。实操心得CSV文件里的坐标原点要和Gerber、NC Drill保持一致。我通常用板框左下角作为原点这样所有文件的坐标系统一不容易出错。另外CSV文件里的位号要和BOM表对应否则贴片时找不到元件。5.3 文件打包与命名规范所有文件生成完之后打包发给板厂。打包时注意几点文件夹命名清晰比如“项目名_Gerber_日期”。Gerber文件、NC Drill文件、IPC-D-356A文件放在同一个文件夹里。如果有CSV坐标文件单独放一个子文件夹标注“SMT”。压缩成ZIP格式不要用RAR有些板厂的系统不认RAR。我习惯在压缩包里放一个README.txt写明项目名称、层数、板厚、表面处理工艺、阻抗要求如果有、特殊说明。这样板厂工程人员一看就明白减少来回沟通的时间。6. 常见问题与排查技巧实录6.1 Gerber导出后板厂说层缺失这是最常见的问题。原因通常是Layers选项卡里漏勾了某一层。解决办法重新打开Gerber Setup选All On看看总共有多少层然后对照板厂的层需求逐一确认。特别是内电层多层板很容易漏。另一个原因是层命名和板厂预期不一致。比如你把顶层丝印放在Mechanical层板厂按Top Overlay去找就找不到。解决办法是尽量用标准层命名不要随意把元素放在非标准层。6.2 钻孔文件和Gerber对不上前面提过主要是原点设置不一致。排查步骤打开Gerber Setup看Position on Film选的是什么。打开NC Drill Setup看Drill Origin选的是什么。两者必须一致。如果不一致改成一致后重新生成。还有一种情况是单位不一致。Gerber用InchesNC Drill用Millimeters虽然AD23会自动换算但换算过程中可能出现舍入误差。统一单位最保险。6.3 阻焊层开窗不对阻焊开窗太小焊盘被绿油盖住焊接困难。阻焊开窗太大相邻焊盘之间的绿油桥太窄容易脱落。标准做法是阻焊开窗比焊盘单边大0.05mm到0.1mm。在AD23里这个可以通过Design - Rules - Solder Mask Expansion来设置。如果导出后发现阻焊开窗不对检查两个地方一是规则设置二是Gerber里的Solder层是否正确导出。有时候规则设对了但Gerber里没勾选Solder层等于没导出。6.4 丝印压焊盘丝印压焊盘会导致焊接时字符印在焊盘上影响可焊性。AD23有自动检查功能在CAM Editor里用Tools - Silkscreen Over Pad Check可以检查。如果发现压焊盘回到PCB设计里调整丝印位置或者把丝印移到器件本体上。避坑技巧我习惯在画丝印时就把丝印框画在器件本体轮廓内不要超出焊盘范围。这样从源头避免压焊盘的问题。6.5 常见问题速查表问题现象可能原因排查方法解决办法板厂说层缺失Layers选项卡漏勾重新打开Gerber Setup检查补勾缺失层重新导出孔位偏移原点设置不一致对比Gerber和NC Drill的原点设置统一改为Absolute Origin阻焊开窗不对规则设置错误或层未导出检查Solder Mask Expansion规则调整规则确认Solder层已勾选丝印压焊盘丝印位置超出焊盘CAM Editor里运行Silkscreen Over Pad Check调整丝印位置文件格式不识别格式或单位不统一检查所有文件的Format和Units统一为2:4和InchesCSV坐标不对原点或角度定义不一致用Excel打开CSV检查坐标统一原点跟SMT工厂确认角度定义7. 一些提高效率的实操经验7.1 用Output Job文件一键导出AD23有一个Output Job功能可以把Gerber、NC Drill、IPC-D-356A、CSV坐标文件的导出配置保存成一个.OutJob文件。下次导出时直接打开这个文件点一下“Run”所有文件自动生成。对于经常出板的项目这个功能能省很多时间。配置方法File - New - Output Job File然后在里面添加Gerber、NC Drill、Testpoint Report、Pick and Place等输出项设置好参数保存。下次直接复用。7.2 导出后的自查清单每次导出完我都会按这个清单过一遍Gerber层数是否完整顶层、底层、丝印、阻焊、内电层、板框。NC Drill文件是否生成孔位是否和Gerber对应。IPC-D-356A是否生成网络数量是否和设计一致。CSV坐标文件是否生成元件数量和BOM是否一致。所有文件的单位、格式、原点是否统一。压缩包命名是否清晰README是否包含关键信息。这个清单看起来简单但能避免90%以上的低级错误。7.3 跟板厂沟通的几个要点提前问清楚板厂对Gerber的具体要求比如是否接受2:4格式、是否需要IPC-D-356A、阻焊开窗的最小宽度是多少。如果板子有阻抗要求在README里写清楚哪几层需要阻抗控制、阻抗值是多少。如果板子有特殊工艺比如沉金、镀金手指提前说明。保留每次出板的Gerber文件方便对比和追溯。7.4 关于AD版本差异的说明AD09、AD14、AD18、AD20、AD21、AD23、AD24、AD25、AD26在Gerber导出上的核心逻辑是一样的都是File - Fabrication Outputs - Gerber Files。区别主要在界面细节和默认参数上。比如AD23的默认格式是2:4AD09可能是2:3。AD23的CAM Editor功能更强支持更多自查工具。如果你用的是AD24或AD25操作路径基本一致只是菜单文字可能略有不同。核心原则不变层要选全、格式要统一、原点要一致、导出后要自查。8. 关于钢网文件和SMT的补充说明“ad23钢网文件”这个搜索词热度不低说明很多人对钢网文件的导出有需求。钢网文件其实就是Paste Mask层的Gerber。跟阻焊层不同Paste Mask是正片输出描述的是“哪里需要涂锡膏”。导出钢网文件的步骤在Gerber Setup的Layers选项卡里勾选Top Paste和Bottom Paste其他层可以全部取消。然后导出得到的.GTP和.GBP文件就是钢网文件。发给钢网厂时说明是激光钢网还是蚀刻钢网以及钢网厚度通常0.1mm到0.15mm。SMT贴片需要的文件包括钢网文件、CSV坐标文件、BOM表。这三样凑齐SMT工厂就能开工了。CSV坐标文件里的位号要和BOM表一一对应否则贴片时找不到元件。实操心得钢网文件导出时Paste Mask的开窗通常和焊盘一样大不需要额外放大。但有些设计会故意缩小Paste Mask开窗来减少锡膏量这个根据工艺要求调整。9. 我个人在实际操作中的几点体会导出Gerber这件事技术含量不算高但细节特别多。我刚开始做硬件的时候因为Gerber问题被板厂打回过好几次每次都是不同的原因有一次是底层忘了勾Mirror有一次是NC Drill原点设错了还有一次是阻焊层没导出。后来我养成了一个习惯每次导出完先在CAM Editor里自己看一遍再发给板厂。这个习惯帮我省了很多返工的时间。另外我建议每个硬件工程师都建一个自己的“出板检查清单”把每次踩过的坑都记下来。下次出板时对着清单过一遍比凭记忆靠谱得多。Gerber导出不是一次性的任务而是每个项目都要重复的操作把流程标准化才能保证每次都不出错。最后分享一个小技巧AD23的CAM Editor支持把常用的层组合保存成模板。比如“四层板标准导出”模板包含顶层、底层、内电层1、内电层2、丝印、阻焊、板框。下次导出四层板时直接调用模板不用每次手动勾选。这个功能在CAM Editor的Tools - Templates里配置用熟了能省不少事。