项目定稿阶段AD导出Gerber文件的规范流程:从设计到制造的“最后一公里”实战指南
在PCB设计的世界里,原理图画得再漂亮、布局布线优化得再极致,如果最后一步——输出Gerber文件出了问题,整块板子就可能变成一块“废铜烂铁”。
很多工程师都经历过这样的尴尬:
“明明DRC全绿了,发给工厂却说‘负片层全黑’‘丝印压焊盘’‘钻孔少了几十个’……返工一次至少耽误3天!”
这背后的问题,往往不是设计本身,而是Gerber输出环节的操作不规范或细节疏忽。特别是在项目定稿、准备打样前的关键节点,一个小小的设置错误,足以让前期所有努力付诸东流。
本文将带你走完Altium Designer(简称AD)中从PCB完成到成功输出标准生产文件的完整闭环。我们将以实战视角拆解每一步关键操作,重点聚焦那些“看似简单但极易踩坑”的配置项,并结合工程经验给出可落地的最佳实践。
Gerber到底是什么?为什么它如此重要?
很多人把Gerber理解为“就是导出一下图纸”,但实际上,Gerber是PCB工厂真正用来做板的“施工蓝图”。
它不只是图像,而是一套精密指令
- 每一层铜箔走线、每一个过孔开窗、每一处阻焊覆盖……都是通过坐标和绘图命令精确描述的。
- 工厂用CAM软件读取这些文件后,驱动激光光绘机直接成像在感光膜上,误差要求通常控制在±0.001mm以内。
常见格式必须认准:RS-274X
一定要确保你输出的是Extended Gerber (RS-274X)格式,而不是老式的RS-274D(需要外带Aperture文件)。RS-274X自带光圈定义,集成度高,现代工厂普遍支持。
✅ 正确做法:在AD的Gerber Setup中确认
Plotter Type设为RS274X
❌ 错误风险:使用RS-274D可能导致工厂解析失败或图形错乱
关键第一步:Artwork Setup 配置详解——别让“默认值”害了你
打开【File】→【Fabrication Outputs】→【Gerber Files】,进入核心设置界面。这个对话框决定了你最终能拿到什么样的生产文件。
【General】页:精度与单位设定(决定成败的基础)
| 参数 | 推荐设置 | 说明 |
|---|---|---|
| Format | 2:5 | 即小数点前2位、后5位(如0.00123),满足大多数厂家对微米级精度的要求 |
| Units | Imperial (inch) | 国内绝大多数PCB厂仍以英寸为默认单位,避免混用导致缩放错误 |
| Dimensional Format | Leading | 数值无前导零(如.00123而非0.00123),防止部分CAM系统误判 |
| Plot Layers Used In PCB Only | ✅勾选 | 只输出实际存在的电气层,避免机械层等辅助层被误导入 |
⚠️ 特别提醒:曾有项目因未勾选此项,意外导出了Keepout Layer,导致工厂误认为该区域禁止布线,造成layout变更!
【Layers】页:层映射要清晰,命名要规范
AD会自动列出当前板子的所有层。你需要手动确认:
- 所有信号层(Top/Bottom Layer)已启用
- 内电层(Internal Planes)正确选择(GP1, GP2…)
- 阻焊层(Solder Mask)上下层都勾上(GTS/GTO)
- 丝印层(Silkscreen)仅保留Top Overlay / Bottom Overlay
- 删除所有非必要机械层(Mechanical 1~N 中只保留用于轮廓的那个)
📌 命名建议:采用通用命名规则,例如:
-BOARD_REV1_TopCopper.gtl
-BOARD_REV1_BottomSolder.gbs
这样方便工厂识别,也利于后期归档追溯。
负片层处理:电源平面的“生死关头”
对于多层板中的内电层(Power/Ground Plane),通常采用负片输出,即整个层是连续铜皮,靠“隔离盘(Clearance)”来断开连接,靠“热风焊盘(Thermal Relief)”实现散热连接。
关键设置:
- ✅ 勾选Include Unconnected Mid-Spans in Negative Plots
→ 确保孤立焊盘周围的热风结构能正常显示
- 检查DRC是否通过,尤其是Plane Clearance和Thermal Reliefs规则
- 输出后务必用查看器检查:正常应看到大量“花孔”,而非一片漆黑
💡 经验之谈:如果负片层输出后全黑,大概率是你没生成Plane Connect,或者DRC报错但被忽略了。
阻焊层与丝印层:细节决定组装成败
这两个层虽不起眼,但在贴片和维修时至关重要。
阻焊层(Solder Mask):别让“绿油”成了短路元凶
- AD中对应层:
Top Solder Mask(GTS)、Bottom Solder Mask(GBS) - 开窗大小由Solder Mask Expansion控制,默认通常是4mil(0.1mm)
✅ 推荐设置:统一设为4mil,适用于大多数常规焊盘
❌ 风险点:设得太大会暴露过多铜皮,容易引起爬锡短路;太小则影响焊接润湿性
如何全局设置?
Design → Rules → Manufacturing → Solder Mask Expansion建议新建一条规则,范围为All,值设为4mil并锁定,防止个别焊盘异常。
丝印层(Silkscreen):清晰可见 ≠ 随意摆放
- 对应层:
Top Overlay(GTO)、Bottom Overlay(GBO) - 字体高度 ≥ 30mil(0.76mm),线宽 ≥ 5mil(0.13mm)才能保证印刷清晰
🔧 实用技巧:使用AD自带的
Component Comment字段自动生成位号,避免手动输入出错
必须遵守的设计铁律:
- 丝印不得覆盖任何焊盘!
- 否则回流焊时会影响焊膏熔融,甚至造成虚焊
解决方案:
启用设计规则检查:
Design → Rules → Silkscreen → Silk to Solder Mask Clearance设置最小间距为8~10mil,运行DRC即可自动标出违规项。
🎯 高密度板建议:关闭底层丝印(Bottom Overlay),减少视觉干扰,提升可维护性
钻孔文件(NC Drill)同步输出:孔位不准,一切白搭
Gerber管“画线”,钻孔文件管“打孔”。两者必须配套提交。
路径:【File】→【Fabrication Outputs】→【NC Drill Files】
关键参数设置
| 项目 | 推荐值 | 说明 |
|---|---|---|
| Drill Units | Inches | 与Gerber保持一致 |
| Format | 2:5 | 精度匹配,避免坐标偏移 |
| Generate Step Plunge Info | ✅勾选 | 支持阶梯钻孔,适合厚板或多层叠孔 |
| Map File Format | ASCII | 文本可读,便于人工核对 |
| Output Path | 与Gerber同目录 | 方便打包管理 |
必须生成的附加文件:Drill Drawing
勾选Generate Drill Drawing,系统会自动生成一张PDF或Gerber格式的钻孔图,上面标注了每个符号对应的孔径(如A=0.3mm, B=0.5mm…)。
👉 工厂质检员靠这张图来快速验证
.drl文件是否正确,缺少它会被退回补交。
常见问题排查清单
- 是否存在重复的Pad堆叠?→ 导致同一位置多次钻孔
- 是否遗留测试用的临时Via?→ 应在定稿前全部删除
- 盲埋孔是否正确定义?→ 需配合Layer Stack Manager中的叠层结构
可以用Filter功能筛选所有Via对象进行集中审查:
Filter: IsVia = True输出后的终极防线:可视化校验不可少
你以为点了“OK”就万事大吉?不,真正的考验才刚开始。
使用专业Gerber查看器复查
推荐工具:
- GC-Prevue(轻量免费)
- ViewMate(功能强大)
- Ucamco’s Free Viewer(官方出品)
操作流程:
1. 打开所有生成的.gbr和.drl文件
2. 叠加各层观察对齐情况(特别是阻焊开窗是否精准对准焊盘)
3. 查看负片层是否有“花孔”图案
4. 检查丝印是否有压焊盘或文字重叠
5. 核对钻孔总数与PCB统计一致
✅ 高级技巧:在GC-Prevue中使用“Compare”功能,对比两个版本的Gerber差异,特别适合改版后验证修改范围。
自动化提效:脚本+批处理,告别重复劳动
如果你经常要输出Gerber,完全可以把这套流程自动化。
Delphi Script 示例:预设Gerber参数
// GenerateGerber.dsp procedure Run; var Job : IPCB_FabricationOutputJob; begin Job := PCBServer.GetCurrentOutputJob; if Job = nil then Exit; with Job.OutputSettings do begin SetParameter('GERBER.Format', '2:5'); SetParameter('GERBER.Units', 'Imperial'); SetParameter('GERBER.PlotterType', 'RS274X'); SetParameter('GERBER.IncludeLayerNames', 'True'); SetParameter('GERBER.PlotKind', 'RS274X'); // 确保类型正确 end; ShowMessage('Gerber参数已预设完毕,现在可手动执行输出。'); end;保存为.dsp文件,在AD的Scripting Center中加载运行。
Windows批处理脚本:一键生成全套文件
@echo off set DXP="C:\Program Files\Altium\AD21\DXP.exe" echo 🔧 正在启动Altium Designer并运行Gerber生成脚本... %DXP% -RunScript="ProjectScripts$GenerateGerber.dsp" echo 🔧 正在生成NC Drill文件... %DXP% -Command=PCB:GenerateNCDrillFiles echo ✅ 所有生产文件已生成,请前往Outputs目录检查! pause🚀 适用场景:集成到CI/CD流程、版本发布脚本、团队标准化工具包中。
完整输出Checklist:上线前必做的10件事
| 序号 | 操作内容 | 状态 |
|---|---|---|
| 1 | 完成最终DRC检查,消除所有Error级警告 | □ |
| 2 | 设置绝对原点(Edit → Origin → Set)于板框左下角 | □ |
| 3 | 确认Layer Stack Manager中叠层参数准确(尤其阻抗控制板) | □ |
| 4 | Artwork Setup中单位设为Imperial,格式2:5,类型RS274X | □ |
| 5 | Layers页仅勾选需输出层,关闭多余机械层 | □ |
| 6 | 阻焊扩展统一为4mil,且规则已锁定 | □ |
| 7 | 丝印无压焊盘,字体大小合规,极性标识齐全 | □ |
| 8 | 成功生成Excellon格式钻孔文件及Drill Drawing图 | □ |
| 9 | 使用GC-Prevue打开全部文件,逐层目视检查 | □ |
| 10 | 打包为ZIP,附Readme.txt说明特殊工艺要求 | □ |
📄 Readme.txt示例内容:
项目名称:PowerModule_V1.2 层数:4层(信号层:Top/Bottom,内层:GND/PWR) 板厚:1.6mm ±0.1mm 表面处理:沉金(ENIG) 特殊工艺:20mil以上过孔需塞孔 备注:无铅焊接,请按IPC Class 2标准生产写在最后:每一次输出,都是对设计成果的郑重交付
在硬件开发中,Gerber输出不是简单的“导出按钮”点击,而是一个严谨的质量关口。
我们常说“设计决定上限”,但如果没有可靠的输出流程作为保障,“下限”可能会低得令人猝不及防。
掌握这一套规范化操作,不仅能让你少返几次工、少挨几次骂,更重要的是建立起一种工程思维:
把每一个环节都当作产品的一部分来对待,把每一次交付都当成面向客户的承诺。
当你能把Gerber一次性做对,你就离“靠谱工程师”更近了一步。
如果你正在参与团队协作,不妨推动建立一份内部《Gerber输出标准模板》,固化参数、共享脚本、实行双人复核。这才是真正意义上的工程化落地。
💬互动时间:你在导出Gerber时遇到过哪些“惊魂一刻”?欢迎留言分享你的踩坑经历和避坑秘籍!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考