AD导出Gerber文件双面板实战流程:从设计到生产的无缝衔接
一次成功的PCB打样,始于精准的Gerber输出
在电子硬件开发中,我们常常把注意力集中在原理图设计、元器件选型和PCB布局布线上。但真正决定一块板子能否顺利生产出来的“临门一脚”——Gerber文件的生成与验证,却往往被忽视或草率对待。
尤其是对于最常见的双面板结构,看似简单,实则暗藏陷阱:丝印反了?阻焊不开窗?钻孔偏移?这些问题一旦出现在工厂端,轻则返工延误项目进度,重则整批报废,成本翻倍。
Altium Designer(以下简称AD)作为主流EDA工具,其强大的输出系统本应成为工程师的得力助手。然而,若对Gerber生成机制理解不深、配置不当,反而会成为隐患源头。
本文将以一个真实双面板项目为背景,手把手带你走完从PCB完成到打包交付工厂的完整流程,重点拆解每一步的关键设置、常见坑点及应对策略,确保你每次都能“一次流片成功”。
Gerber文件到底是什么?为什么非它不可?
不是图片,而是“制造语言”
很多人误以为Gerber就是PCB各层的截图。其实不然。
Gerber是一种二维矢量绘图指令集,本质上是文本文件,记录着“在哪里画线、打孔、闪现焊盘”等一系列动作。它就像数控机床的G代码,告诉光绘机如何在覆铜板上还原你的设计。
目前行业通用的是RS-274X 扩展Gerber格式,它的最大优势在于:
-Aperture(光圈)内嵌:无需额外提供.apr文件;
-支持多层独立描述:每一层一个文件,互不影响;
-高精度坐标表达:可达0.1mil(约2.5μm),满足精细布线需求。
⚠️ 务必禁用老式RS-274D!这种格式需要外挂Aperture表,极易因传输遗漏导致解析失败,多数现代工厂已不再支持。
常见Gerber文件后缀一览
| 层别 | 文件后缀 | 含义 |
|---|---|---|
| GTL | .gtl | Top Layer – 顶层线路 |
| GBL | .gbl | Bottom Layer – 底层线路 |
| GTS | .gts | Top Solder Mask – 顶层阻焊 |
| GBS | .gbs | Bottom Solder Mask – 底层阻焊 |
| GTO | .gto | Top Silkscreen – 顶层丝印 |
| GBO | .gbo | Bottom Silkscreen – 底层丝印 |
| GM1 | .gm1 | Mechanical Layer 1 – 外形轮廓 |
| GML | .gml | Multi-Layer – 过孔信息(通常由钻孔文件覆盖) |
这些文件组合起来,构成了PCB制造商所需的全部图形数据。
Altium Designer中的核心武器:OutJob文件
为什么不能直接“File → Save As Gerber”?
AD没有直接导出Gerber的菜单项,而是通过Output Job File(*.OutJob)来统一管理所有输出任务。这并非繁琐,而是一种工程级的设计思维体现。
你可以把.OutJob看作是一个“发布脚本”,它能一次性完成:
- Gerber文件生成
- 钻孔文件(NC Drill)
- 装配图PDF
- BOM清单
- 甚至自动上传至ERP系统
更重要的是,它可以模板化复用。团队内部共享一份标准OutJob,就能保证所有人输出一致、命名规范、格式统一。
如何创建标准双面板Gerber输出任务?
步骤1:新建或加载OutJob
右键项目 → Add New to Project → Output Job File建议命名为Fabrication.OutJob或Production.OutJob
步骤2:添加制造输出组
点击Add Output Group → Fabrication Outputs
你会看到默认包含:
- Gerber Files
- NC Drill Files
- Pick and Place (可选)
- Testpoint Report (可选)
我们重点关注前两项。
Gerber输出关键配置详解
格式设置(General Tab)
| 参数 | 推荐值 | 说明 |
|---|---|---|
| Format | RS274X | 必须选择扩展格式 |
| Units | Imperial (inches) | 工厂普遍使用英制,推荐保持一致性 |
| Resolution | 6:6 | 整数6位 + 小数6位,即0.xxxxxx英寸,对应0.01mil精度 |
| Plot Kind | Positive | 正片模式,正常走线为实线 |
| Mirror Layers | Off | 绝对不要勾选!否则丝印会镜像翻转 |
✅经验提示:虽然公制(mm)看起来更直观,但许多钻孔设备和CAM软件仍以inch为基础单位处理数据。混用可能导致舍入误差,引发孔位偏移。
层映射(Layers & Objects Tab)
这才是最容易出错的地方!
你需要手动确认哪些层要输出,并正确映射到对应的Gerber文件名。
必选层(双面板典型配置):
| AD层名称 | 是否启用 | 输出文件名 | 注意事项 |
|---|---|---|---|
| Top Layer | ✅ | GTL | 包含顶层走线和焊盘 |
| Bottom Layer | ✅ | GBL | 包含底层走线和焊盘 |
| Top Solder Mask | ✅ | GTS | 控制阻焊开窗区域 |
| Bottom Solder Mask | ✅ | GBS | 同上 |
| Top Overlay | ✅ | GTO | 顶层丝印文字/符号 |
| Bottom Overlay | ✅ | GBO | 底层丝印(如有) |
| Mechanical 1 | ✅ | GM1 | 通常用于板框切割路径 |
| Keep-Out Layer | ✅ | (合并到GM1) | 定义电气边界 |
| Multi-Layer | ❌ | —— | 过孔信息已在钻孔文件中体现,无需单独输出 |
⚠️经典错误:忘记勾选GBS(底阻焊),结果整个底层都被盖上绿油,焊不上!
🔧 解决方案:养成检查清单习惯,逐层核对。
高级选项(Layer Pairs)
如果你使用了盲埋孔或多层板结构,需配置Layer Pairs来定义钻孔范围。但双面板无需此操作。
钻孔文件(NC Drill)怎么配才不出错?
Gerber只管“平面图形”,而钻孔信息必须由NC Drill文件补充。
在OutJob中找到NC Drill Files模块,进行如下设置:
基本参数
| 项目 | 推荐设置 |
|---|---|
| Format | Excellon |
| Units | Inches |
| Zero Suppression | Leading |
| Hole Size Accuracy | 2:4 或 2:5 |
| Generate Separate Files for PTH/NPTH | ✅ 推荐分开 |
💡 分开输出的好处:便于工厂区分金属化孔与非金属化孔,避免工艺混淆。
原点设置(Origin)
务必选择:
Reference = Absolute Origin Offset X/Y = 0, 0即以PCB左下角为坐标原点,这是绝大多数工厂的标准做法。
如果用了其他参考点(比如某个焊盘中心),必须提前与厂家沟通,否则会出现整体偏移。
输出示例片段(Excellon格式)
M48 T01C0.300 ; 工具1,直径0.3mm T02C1.000 ; 工具2,直径1.0mm % T01 X10000Y15000 X12000Y18000 T02 X20000Y30000 M30每一行代表一个钻孔位置,Txx切换刀具,最后M30结束程序。
实战全流程:8步搞定双面板Gerber输出
让我们把前面的知识串起来,进入实际操作环节。
第1步:跑一遍DRC,封版前最后一道防线
Tools → Design Rule Check确保没有任何Electrical Clearance、Short-Circuit或Unconnected Pin错误。
✅ 建议勾选 “Create Report File”,生成HTML报告留档。
第2步:检查层叠结构是否合规
Design → Layer Stack Manager确认只有两层信号层(Top & Bottom),介质厚度为1.6mm FR-4(或其他指定板材)。如果有内电层(Internal Plane),说明你做的不是双面板!
第3步:配置Gerber输出参数
打开OutJob → 双击Gerber Files→ 设置General和Layers页。
特别注意:
- 单位:Imperial
- 分辨率:6:6
- 关闭Mirror
- 正确勾选GTL、GBL、GTS、GBS、GTO、GBO、GM1
第4步:配置NC Drill输出
同样在OutJob中设置:
- Format: Excellon
- Units: Inches
- Zero Suppression: Leading
- Enable both PTH and NPTH outputs
第5步:设定输出路径
在每个输出任务下方,点击”…”按钮,设置输出目录,例如:
./Outputs/Fabrication/Gerber/ ./Outputs/Fabrication/Drill/建议按功能分类存储,方便后期归档。
第6步:一键生成所有文件
回到OutJob主界面,点击顶部绿色按钮:
[Generate Content]AD会自动根据当前PCB状态,批量导出所有设定文件。
等待完成后,进入输出目录查看成果。
第7步:用Gerber查看器做最终验证
强烈推荐使用免费工具:
- GC-Prevue (Windows)
- ViewMate
操作步骤:
1. 拖入所有.gbr和.drl文件
2. 切换Layer View,逐层观察
3. 使用“Composite”视图叠加顶层/阻焊/丝印,检查是否有冲突
验证要点清单:
- ✅ 顶层和底层走线完整?
- ✅ 丝印有没有压在焊盘上?(影响焊接)
- ✅ 阻焊层是否为负片?(开窗处透明)
- ✅ 板框是否闭合?有无断线?
- ✅ 所有过孔都打了孔?(结合钻孔文件看)
🔍技巧:在GC-Prevue中按
Ctrl+H可以高亮特定网络,快速排查开路问题。
第8步:打包发送给PCB厂家
将以下内容压缩成ZIP包,命名为:
ProjectName_RevA_Gerber.zip包含:
- 所有.gbr文件(GTL, GBL, GTS, …)
- 所有.drl文件(PTH.drl, NPTH.drl)
- 可选:钻孔图PDF(Drill Drawing)
- 加工说明文档(Readme.txt 或 Process Notes.pdf),注明:
- 板材类型(如FR-4 TG130)
- 板厚(1.6mm)
- 表面处理(沉金/喷锡/OSP)
- 阻焊颜色(绿/蓝/白)
- 是否需要半孔、铣槽等特殊工艺
老工程师都不会告诉你的5个坑点
❌ 坑点1:丝印镜像了,贴片时傻眼
原因:误启用了Mirror Layers
教训:永远记得关闭该选项,尤其是在复制他人模板时!
❌ 坑点2:底层没开阻焊,全被绿油封死
原因:未勾选Bottom Solder Mask (GBS)
对策:建立输出检查表,逐项打钩确认。
❌ 坑点3:钻孔偏移5mm,元件插不进去
原因:原点设成了“Relative to Selection”
正解:统一使用Absolute Origin (0,0)
❌ 坑点4:细线模糊不清,疑似短路
原因:分辨率设成了4:4或更低
升级:改用6:6,尤其适用于0.1mm以下线宽。
❌ 坑点5:外形不闭合,CNC铣出来缺一角
原因:Mechanical层线条未首尾相连
修复:在PCB编辑器中用Line工具重新绘制闭合路径。
最佳实践建议:让每一次输出都可靠
建立团队标准模板
- 创建公司级OutJob模板
- 固化单位、精度、层命名规则
- 版本控制(Git/SVN)管理变更自动化验证流程
- 编写批处理脚本自动调用Gerber查看器
- 结合CI/CD系统实现“提交即检查”双重确认机制
- 自己先看一遍
- 再交同事交叉审核(Peer Review)历史归档制度
- 每次输出都打标签(Tag)
- 对应Git Commit ID或Jira Ticket号
- 方便追溯问题源头
写在最后:从“能用”到“专业”的跨越
掌握“ad导出gerber文件”不仅仅是学会几个菜单操作,更是建立起一种面向制造的设计思维(DFM, Design for Manufacturing)。
当你开始关注每一个坐标的精度、每一层的开窗逻辑、每一个文件的命名规范时,你就已经脱离了“只会画板”的初级阶段,迈向真正的硬件工程专业主义。
特别是在原型迭代频繁的今天,谁能最快、最准地输出合格的Gerber文件,谁就掌握了产品上市的主动权。
下次当你准备点击“Generate Content”之前,请停下来问自己一句:
“这份文件,工厂拿到后能不能直接投产?”
只有答案是“是”的时候,才算真正完成了设计。
💬 如果你在实际项目中遇到过离谱的Gerber事故,欢迎在评论区分享经历,我们一起避坑成长。