
1. 为什么Gerber文件是PCB打样的“通用语言”画完板子导出Gerber这件事看起来简单但我见过太多人在这最后一步翻车。板子寄到工厂对方回一句“文件缺层”或者“钻孔对不上”一来一回就是两三天。更麻烦的是有些问题在工厂那头才暴露比如阻焊开窗偏了、丝印压到焊盘等板子回来才发现整批都得报废。所以这篇内容我想把Altium Designer 19导出Gerber这件事从头到尾讲清楚不只是点哪个菜单而是每一步背后的逻辑、参数怎么定、哪些坑必须绕开。Gerber文件本质上是PCB各层图形的矢量描述它告诉工厂每一层长什么样铜箔走线在哪、阻焊开窗在哪、丝印字符在哪、钻孔打在哪。工厂拿到这套文件直接驱动光绘机、钻孔机、铣边机去生产。你可以把它理解成给工厂的一套“施工图纸”图纸不全或者标注不清施工队就没法干活。RS-274X格式是目前最通用的Gerber标准它把光圈定义直接嵌在文件里不需要额外提供光圈表这也是AD19默认输出的格式。那为什么不用PCB源文件直接发给工厂原因有两个。第一源文件包含设计规则、网络表、器件库等大量生产无关的信息工厂不需要也不应该看到这些。第二不同版本的EDA软件之间兼容性很差你用的AD19工厂可能用CAM350或者Genesis 2000直接打开源文件大概率出问题。Gerber是中立格式任何CAM软件都能读这才是它成为行业通用语言的根本原因。适合看这篇内容的人我大致分三类。第一类是刚画完第一块板子、准备打样的新手你需要一套完整可复现的流程。第二类是打过几次样但偶尔遇到工厂反馈文件问题的朋友你需要搞清楚问题出在哪个环节。第三类是习惯把导出工作交给别人、自己想弄明白原理的工程师你需要理解每个参数背后的含义。不管哪一类下面的内容都会从实际操作出发把AD19导出Gerber的完整链路拆开讲。2. 导出前的准备工作别急着点Fabrication Outputs2.1 检查PCB设计的完整性导出Gerber之前有几项检查必须做否则导出的文件本身就是错的。我习惯按这个顺序过一遍DRC检查在AD19里按T然后D运行设计规则检查。重点看间距、线宽、过孔环宽这几项。DRC有报错不一定是设计错了但你必须知道每一个报错的原因。比如有些封装焊盘间距就是小于默认规则那你要么改规则要么确认这个间距工厂能做。层设置确认按L打开层叠管理器确认信号层、内电层、丝印层、阻焊层、助焊层都启用了。特别是机械层AD19默认有多个机械层你要明确哪一层用来画板框。板框闭合检查板框必须是闭合的连续线条不能有断点。我一般用机械层1画板框画完之后选中所有板框线条在属性面板里确认它们是连续的。有个简单的验证方法切换到3D视图如果板子能正常显示厚度和形状说明板框基本没问题。原点设置这一点很多人忽略。AD19默认的原点可能在板子角落之外很远的地方导出Gerber时坐标会很大。建议把原点设在板框左下角按E然后O选择“设置原点”点到板框左下角顶点。这样导出的坐标文件更规范工厂也好处理。注意DRC检查通过不代表设计没问题它只检查你设定的规则。规则本身是否合理需要你根据工厂的工艺能力来判断。比如常规双面板最小线宽/间距做到6mil如果你的规则设的是4milDRC不报错但工厂可能做不了。2.2 确认工厂的工艺要求在导出之前最好先跟工厂确认几个关键参数这些参数直接影响你导出的文件是否可用参数项常见范围说明最小线宽/间距6/6mil 或 5/5mil低于这个值工厂良率下降或直接做不了最小钻孔0.2mm 或 0.3mm机械钻最小一般0.2mm激光钻更小但成本高板厚1.6mm 最常见特殊板厚如0.8mm、2.0mm需提前说明铜厚1oz 最常见2oz铜厚线宽间距要放宽阻焊颜色绿/蓝/红/黑/白不影响Gerber但影响外观表面处理喷锡/沉金/OSP沉金平整度好适合细间距这些参数不需要你手动写进Gerber文件但你在设计时就要按这些约束来。比如工厂说最小钻孔0.3mm你设计里有个0.2mm的过孔那要么改设计要么换工厂。我一般会在导出前把过孔尺寸过一遍按孔径排序看看有没有超出工厂能力的。2.3 整理输出层的对应关系AD19的层命名和工厂理解的层名之间需要建立映射。常见的对应关系如下Top Layer→ 顶层线路Bottom Layer→ 底层线路Top Overlay→ 顶层丝印Bottom Overlay→ 底层丝印Top Solder→ 顶层阻焊注意这是开窗层负片逻辑Bottom Solder→ 底层阻焊Top Paste→ 顶层锡膏只有贴片需要Mechanical 1→ 板框/外形Keep-Out Layer→ 禁止布线层一般不输出但有些工厂要阻焊层是负片逻辑这一点新手容易搞混。你在Top Solder层画的东西代表的是“这里要开窗露出铜”而不是“这里盖阻焊”。所以如果你在焊盘上画了阻焊层图形那是正常的因为焊盘本来就要开窗。但如果你在走线上画了阻焊层那走线就会露铜可能短路。3. 手把手操作AD19导出Gerber的完整流程3.1 打开Fabrication Outputs的正确姿势在AD19里导出Gerber的入口在File→Fabrication Outputs→Gerber Files。点开之后会弹出一个多标签的对话框别被这么多标签吓到实际需要改的就那么几项。General标签Units选Inches还是Millimeters我建议选Inches因为大多数工厂的CAM系统默认用英制虽然现在公制也很普遍但英制在Gerber里兼容性更好。如果你选Millimeters注意格式里的前导零/后导零设置。Format选2:4还是2:52:4表示整数2位、小数4位分辨率0.1mil2:5表示整数2位、小数5位分辨率0.01mil。对于大多数板子2:4够用。但如果你有很细的线或者很小的间距选2:5更保险。我一般选2:5文件大一点但精度高。Layers标签这是最关键的一步。左侧是“Plot Layers”右侧是“Mirror Layers”。你需要把要输出的层从左侧勾选上。具体勾哪些Top Layer、Bottom Layer必选Top Overlay、Bottom Overlay必选Top Solder、Bottom Solder必选Mechanical 1或你画板框的那一层必选Keep-Out Layer一般不选除非工厂明确要求Mid Layer 1/2...如果有内电层选上Drill Drawing可选有些工厂要有些不要Multi-Layer一般不用选它会被自动处理右侧的Mirror Layers不要动除非你有特殊需求。镜像层是给底层用的AD会自动处理底层的镜像你手动勾了反而会乱。Drill Drawing标签这里设置钻孔图的输出格式。有两个选项Gerber和NC Drill。Gerber是给CAM软件看的图形化钻孔图NC Drill是给钻孔机用的坐标文件。两个都要输出。我一般把Drill Drawing的格式设为Gerber然后在后面的NC Drill Files里单独输出钻孔坐标。Apertures标签选Embedded aperturesRS-274X。这是默认选项也是必须选的。如果选Suppress apertures光圈表会单独输出工厂容易漏掉。Advanced标签这里有几个选项需要注意Leading/Trailing Zeros选Suppress leading zeros。这是最通用的设置。Position on Film选Reference to relative origin。这样坐标是相对于你设置的原点。Batch Mode选Separate files。每个层输出一个单独的文件方便工厂处理。如果选One file所有层会合并到一个文件里工厂还得自己拆容易出错。设置完之后点OKAD19会在你指定的输出目录里生成一堆.gbr文件和一个.apr光圈文件如果选了Embedded apertures光圈文件可能不生成因为光圈已经嵌在.gbr里了。3.2 生成NC Drill钻孔文件Gerber文件只描述了图形钻孔的位置和大小需要单独的NC Drill文件。在File→Fabrication Outputs→NC Drill Files里打开设置。关键设置Format和Gerber保持一致选2:5。UnitsInches。Leading/Trailing ZerosSuppress leading zeros。Coordinate PositionsReference to relative origin。Drill Plated/NPTH一般选Plated金属化孔。如果有非金属化孔比如安装孔需要单独输出NPTH文件。点OK后会生成一个.txt或.drl文件这就是钻孔坐标文件。有些工厂要求钻孔文件用Excellon格式AD19默认输出的就是Excellon格式没问题。注意钻孔文件里的孔径是刀具直径不是你设计时的过孔直径。比如你设计了一个0.3mm的过孔但工厂可能用0.35mm的钻头因为钻头有标准尺寸。这个差异工厂会处理你不需要改设计。但如果你设计的最小孔径是0.2mm而工厂最小钻头是0.3mm那就要改设计了。3.3 输出文件的整理与打包导出完成后你会得到类似这样的文件列表ProjectName.GTL → 顶层线路 ProjectName.GBL → 底层线路 ProjectName.GTO → 顶层丝印 ProjectName.GBO → 底层丝印 ProjectName.GTS → 顶层阻焊 ProjectName.GBS → 底层阻焊 ProjectName.GM1 → 机械层1板框 ProjectName.TXT → NC Drill钻孔文件 ProjectName.APR → 光圈文件如果单独输出把这些文件全部选中打包成一个ZIP压缩包。不要用RAR有些工厂的系统解压RAR会出问题。ZIP是最通用的。打包之前我习惯做一次自检用CAM350或者免费的Gerber查看器比如KiCad的Gerber Viewer、在线工具GerberView打开这些文件逐层检查。重点看板框是否闭合尺寸是否正确顶层和底层线路是否对齐阻焊开窗是否覆盖了所有焊盘丝印是否压到焊盘丝印压焊盘会导致焊接不良钻孔是否都在焊盘中心这一步花五分钟能省掉后面几天的扯皮。4. 那些年我踩过的Gerber坑常见问题与排查4.1 工厂说“缺层”或“层不对”这是最常见的问题。原因通常有三个第一你在Layers标签里漏勾了某一层。比如忘了勾Bottom Solder工厂就看不到底层阻焊开窗焊盘会被阻焊盖住没法焊接。第二层命名和工厂的预期不一致。AD19输出的文件扩展名是固定的.GTL、.GBL等但有些工厂的CAM系统需要特定的文件名格式。如果工厂反馈层不对你可以把文件扩展名改成工厂要求的格式比如有些工厂要.top、.bot。第三机械层用错了。AD19默认有Mechanical 1到Mechanical 16多个机械层你画板框用的是哪一层导出时就要勾哪一层。如果你画在Mechanical 1但导出时勾了Mechanical 2工厂拿到的板框就是空的。排查方法用Gerber查看器打开你导出的文件逐层看。如果某一层是空的那就是漏勾了或者画错了层。4.2 钻孔对不上或孔径错误钻孔问题一般出在NC Drill文件的设置上。常见情况单位和格式不匹配Gerber用英制2:5钻孔用公制2:4坐标就对不上。两者必须一致。原点不一致Gerber的原点设在板框左下角钻孔的原点设在别的地方钻孔就会偏移。导出前确认两者都用了Relative origin。孔径缺失有些过孔在设计时用了非标准孔径NC Drill文件里可能没有对应的刀具。你需要在NC Drill设置里勾选“Generate separate NC Drill files for plated and non-plated holes”确保所有孔都被输出。我遇到过一次工厂反馈说钻孔文件里只有0.3mm的孔但我设计里有0.2mm、0.3mm、0.4mm三种孔。查了半天发现是NC Drill的Format设成了2:40.2mm的孔在2:4格式下被四舍五入成了0.2mm但刀具表里没有这个尺寸就被忽略了。改成2:5之后问题解决。4.3 阻焊开窗异常阻焊问题通常表现为焊盘被阻焊盖住、走线露铜、阻焊桥太细。焊盘被盖住检查Top Solder层是否勾选以及焊盘是否在Top Solder层有对应的开窗图形。AD19会自动为焊盘生成阻焊开窗但如果你手动改了焊盘或者用了自定义焊盘可能需要手动加。走线露铜检查Top Solder层有没有多余的图形。有时候复制粘贴操作会把阻焊层图形带到走线上。阻焊桥太细两个相邻焊盘之间的阻焊宽度小于工厂能力一般最小4mil工厂做不出来会连锡。解决方法是在设计时加大焊盘间距或者在阻焊层手动调整。4.4 丝印压焊盘丝印压在焊盘上焊接时丝印油墨会影响焊锡润湿导致虚焊。这个问题在密脚芯片上特别常见。排查方法在Gerber查看器里把丝印层和阻焊层叠加显示看丝印线条是否穿过了阻焊开窗区域。如果有回到AD19里调整丝印位置或者把丝印字体改小。我一般会在设计规则里加一条丝印到阻焊的间距至少4mil。AD19的规则设置里可以加这个约束DRC会自动检查。4.5 常见问题速查表问题现象可能原因排查方法解决方法工厂说缺层漏勾层或层命名不对用Gerber查看器逐层检查补勾层或改文件名钻孔偏移原点或单位不一致对比Gerber和钻孔的原点设置统一用Relative origin和相同单位孔径缺失格式精度不够检查NC Drill的Format设置改为2:5焊盘被阻焊盖住阻焊层漏勾或焊盘无开窗查看Top/Bottom Solder层补勾层或手动加开窗丝印压焊盘丝印位置不对叠加丝印层和阻焊层调整丝印位置或缩小字体板框不闭合板框线条有断点在AD19里检查板框连续性补全线或重新画5. 进阶技巧让Gerber输出更规范、更高效5.1 用OutJob批量输出如果你经常画板子每次都手动点Fabrication Outputs很麻烦。AD19提供了Output Job文件.OutJob可以把Gerber、NC Drill、BOM、贴片坐标等输出任务配置好一键生成所有文件。配置方法在Projects面板里右键项目选“Add New to Project” → “Output Job File”。打开OutJob文件后在Fabrication Outputs里添加Gerber Files和NC Drill Files在Documentation Outputs里添加BOM和Pick and Place。每个输出任务可以单独设置参数设置一次之后以后每次画完板子右键OutJob文件选“Run”所有文件自动生成到指定目录。这个功能对于需要频繁打样的团队特别有用能保证每次输出的文件格式一致减少人为失误。5.2 用Draftsman生成装配图AD19自带的Draftsman功能可以生成漂亮的装配图包含板框、器件位置、丝印、尺寸标注等。工厂有时候会要装配图来核对器件方向特别是连接器、极性电容这些有方向要求的器件。在File→New→Draftsman Document里创建然后把PCB拖进去Draftsman会自动生成装配视图。你可以手动添加标注、表格、注释。导出成PDF发给工厂比截图清晰得多。5.3 版本管理与文件命名规范我见过太多人用“PCB1”、“最终版”、“最终版2”、“真的最终版”这种命名过一个月自己都分不清哪个是哪个。建议用这样的命名规范项目名_版本号_日期 例如PowerBoard_V1.2_20250115Gerber文件打包时ZIP文件名也用同样的规范。这样工厂收到文件一看就知道是哪个版本。如果后续要改板版本号递增不会混淆。另外每次导出Gerber之后把源文件、Gerber文件、BOM、贴片坐标一起归档到一个文件夹里。我习惯按“项目名/版本号/”的目录结构存放里面再分“Source”、“Gerber”、“BOM”、“Assembly”子目录。这样半年后回头看一目了然。5.4 和工厂沟通的实用话术导出Gerber只是第一步和工厂的沟通也很重要。我一般会在邮件里写清楚这几项板子层数、板厚、铜厚、表面处理阻焊颜色、丝印颜色最小线宽/间距、最小孔径是否有阻抗要求是否有特殊工艺如沉金、金手指、半孔这样工厂收到文件后能快速判断能不能做需不需要调整。如果工厂反馈问题你也能快速定位是设计问题还是沟通问题。提示第一次合作的工厂建议先打样5片确认工艺没问题再批量。打样前把Gerber文件发给工厂做一次DFM检查很多工厂提供免费DFM服务能提前发现设计问题。6. 我个人在实际操作中的几点体会导出Gerber这件事技术含量不高但细节很多。我刚开始画板子的时候觉得导出就是点几下鼠标的事结果第一次打样就被工厂退回说阻焊层不对。后来才发现我在Top Solder层画了走线导致走线露铜。从那以后我每次导出前都会用Gerber查看器过一遍这个习惯帮我省了很多麻烦。另一个体会是不要迷信默认设置。AD19的默认设置对大多数板子够用但如果你有特殊需求比如盲埋孔、阻抗控制、半孔工艺默认设置可能不够。这时候需要手动调整输出参数或者跟工厂确认他们的具体要求。还有一点Gerber文件是给机器看的但最终是给人用的。你导出的文件越规范工厂的工程师越省事出问题的概率就越低。花十分钟整理文件、写清楚工艺要求比后面花三天扯皮划算得多。最后分享一个小技巧如果你不确定某个设置对不对可以先导出一份用免费的Gerber查看器打开看看。KiCad的Gerber Viewer、在线工具GerberView、CAM350的试用版都可以。看一遍心里就有底了。这个动作花不了几分钟但能避免很多低级错误。