一次做对:Altium Designer导出Gerber文件的实战全解析
你有没有遇到过这样的情况?PCB设计反复修改、熬夜调线,终于通过DRC了,信心满满地导出Gerber发给板厂——结果三天后收到回复:“顶层阻焊开窗太大”“钻孔文件缺NPTH”“丝印压在焊盘上”。返工重打样,时间耽误不说,成本也白白烧掉几千块。
别急,这不是你画得不好,而是Gerber输出这一步没踩准坑点。在硬件开发中,从“能用的设计”到“可制造的产品”,中间隔着一道关键门槛:把AD里的图形准确无误地翻译成工厂看得懂的语言。
而这个语言,就是Gerber + NC Drill 文件组合。
今天我们就抛开那些教科书式的罗列,用一个老工程师的实际视角,带你真正搞懂:
👉Altium Designer里怎么设置才能一次导出正确的生产文件?
👉哪些参数看似无关紧要,实则决定成败?
👉如何避免90%新手都会踩的坑?
Gerber到底是什么?别再把它当“图片”看了
很多人以为Gerber就是把PCB各层“截图”保存下来,其实完全不是。
Gerber是一种指令集,是给光绘机看的操作脚本。它不存储图像像素,而是记录了一连串“移动→曝光→换工具”的命令。比如:
G01 X100Y200 D01* D10 G01 X150Y200 D01*意思是:用D01号光圈(圆形或矩形),从原点走到(100,200),画一条线到(150,200)。
现在的标准是RS-274X 扩展格式,它的优势在于:
- ✅ 自包含Aperture定义(不用额外传
.apr文件) - ✅ 支持负片(用于电源层大面积铺铜挖空)
- ✅ 文本可读,方便检查和自动化处理
所以,当你点击“导出Gerber”时,AD其实是在把你画的每一条走线、每一个焊盘,翻译成这样一串精确的数控语言。任何配置错误,都会导致翻译失真。
AD里怎么生成Gerber?别再靠记忆点了!
Altium Designer 的输出逻辑已经从早期的菜单式操作,进化到了基于.OutJob(Output Job)的任务驱动模式。这意味着你可以为打样、量产、归档分别配置不同的输出策略。
但很多工程师还在凭感觉点选项,这是大忌。
我们一步步来拆解最关键的几个环节。
第一步:创建标准输出任务(.OutJob)
路径:右键项目 →Add New to Project→Output Job File
推荐命名为Fabrication_Outputs.OutJob,然后添加两个核心任务:
- Fabrication Outputs > Gerber Files
- Fabrication Outputs > NC Drill Files
这才是专业做法。比起每次手动进菜单导出,这种方式可复用、易审核、防遗漏。
第二步:Gerber输出五要素,少一个都可能翻车
打开Gerber Files配置面板,重点看这五个设置项:
① 单位与精度:必须和板厂对齐!
| 设置项 | 推荐值 | 为什么? |
|---|---|---|
| Units | Inches | 国内多数板厂仍以英制为主 |
| Format | 2:5 | 整数2位,小数5位(即0.00001 inch ≈ 0.25μm) |
⚠️ 常见误区:设成MM + 3:3。虽然看起来更“国际范”,但部分老系统解析会有偏差,尤其在HDI板上容易出现微米级偏移。
🔧 实战建议:先问清楚板厂接受什么格式!默认选
Inches, 2:5最稳妥。
② 图层映射:别让机械层“失踪”
AD不会自动判断哪个Mechanical Layer是用来做板框或者开窗的,必须手动指定。
典型映射关系如下:
| PCB Layer | Gerber Output As |
|---|---|
| Top Layer | GTL (Top Copper) |
| Bottom Layer | GBL (Bottom Copper) |
| Top Solder Mask | GTS |
| Bottom Solder Mask | GBS |
| Top Silkscreen | GTO |
| Bottom Silkscreen | GBO |
| Mechanical 1 (Edge Cuts) | GKO (Keep-out or Outline) |
| Mechanical 13 (Drill Drawing) | GM13 |
特别注意:
- 如果你的阻焊开窗用了Mechanical Layer来做特殊定义(如散热焊盘局部不开窗),一定要将该层映射到对应Solder Mask层,并勾选“Include in Solder Mask”。
- 否则,这些开窗信息根本不会出现在Gerber里!
③ 阻焊扩展(Solder Mask Expansion):谁动了我的绿油?
这个问题太常见了:明明焊盘是0805,结果Gerber显示绿油盖住了焊盘一半——焊接时锡膏上不去,虚焊风险陡增。
根源就在这儿:你没告诉AD要不要使用PCB规则中的阻焊扩展值。
解决方法:
1. 在PCB规则中设置:Design → Rules → Manufacturing → Solder Mask Expansion
推荐设置为:Preferred = 0.0,Min = -0.1mm,Max = 0.1mm
(允许微缩是为了应对高密度封装)
- 在Gerber输出设置中,务必勾选:
✅Use Solder Mask Expansion in PCB
这样导出的GTS/GBS文件才会真实反映你在规则里设定的行为。
否则,默认可能是全局补偿0mil,导致所有焊盘都被完整覆盖。
④ 是否镜像?只有一种情况需要
看到“Mirror Layers”这个选项很多人会犹豫:要不要勾?
答案很明确:除非你要打印背面丝印贴纸,否则永远不要勾选!
Gerber文件是给工厂做板用的,不是拿去打印转印膜的。
勾了镜像,等于把整个底层反过来,钻孔位置都不对了。
唯一例外场景:如果你要做热转印手工制板,且需要把底图贴在铜箔面加热压合,那才需要镜像输出。但这种情况极少。
✅ 正确做法:关闭镜像。
⑤ 包含未连接的中间层焊盘:盲埋孔项目的生死线
对于有盲孔、埋孔或多层过孔结构的设计,有一个隐藏开关至关重要:
✅Include Unconnected Mid-Layer Pads
如果不勾选,AD只会输出当前层与其他层相连的过孔盘,而那些仅存在于内层之间的过渡焊盘(Stitching Vias、Via-in-Pad填胶等)就会被忽略。
后果很严重:工厂看不到这些内层连接点,直接当成开路处理,甚至判定设计异常。
所以只要你做了HDI或任意非通孔结构,这一项必须打钩。
钻孔文件怎么出?Excellon不是随便导一下就行
很多人觉得钻孔文件是自动生成的,不用管。错!
NC Drill 文件质量直接影响钻孔精度、刀具寿命和后续电镀效果。
关键设置清单
| 参数 | 推荐值 | 说明 |
|---|---|---|
| Drill Units | Inches | 保持与Gerber一致 |
| Drill Format | 2:5 | 精度匹配 |
| Zero Suppression | Leading | 去掉前导零,如000100 → 100 |
| Add G85 for Slot Routines | ✅ 勾选 | 槽孔使用G85指令,兼容性更好 |
| Generate Separate Files for PTH/NPTH | ✅ 勾选 | 分开沉金孔与非金属化孔 |
为什么分开PTH和NPTH很重要?
因为它们加工流程不同:
- PTH(Plated Through Hole):钻完要化学沉铜+电镀
- NPTH(Non-Plated Through Hole):只钻不镀,尺寸控制更严
如果混在一起,工厂还得人工拆分,容易出错。
而且现在很多智能CAM系统要求明确区分,否则无法自动排程。
输出哪些配套文件?缺一不可!
除了主钻孔文件.drl,你还应该同时输出:
- Drill Drawing (.gbr):可视化钻孔图,标注孔径、数量、类型
- Drill Guide (.pdf):表格形式列出每个Tool对应的孔径及用途
- Layer Pairs Report:如果是背钻(Back Drilling),需说明哪几层之间去除stub
这些文档一起打包,才能让工厂快速理解你的叠层意图。
实战避坑指南:三个高频问题现场拆解
❌ 问题1:丝印压焊盘,贴片时漏锡
现象:BGA周围丝印文字直接压在测试点上,回流焊时助焊剂蔓延导致短路。
原因分析:
- 设计阶段未启用Silkscreen Clearance规则;
- 导出Gerber时未预览检查。
✅ 解决方案:
1. 在PCB规则中添加:Electrical → Clearance → Silkscreen_to_Soldermask
设置最小间距 ≥ 0.15mm
2. 使用AD内置Gerber Viewer预览GTO层,放大查看是否有字符侵入焊盘区域
💡 小技巧:可以在丝印层加个临时规则,“禁止在Solder Mask Opening区域内放置Text”,从根本上杜绝。
❌ 问题2:电源层花焊盘变成实心连接
现象:多层板中,GND层的Via本应是“十字连接”(Thermal Relief),结果Gerber显示成全连接,散热不良,焊接困难。
原因:Gerber输出时未启用“Include Power Plane Thermal Reliefs”
✅ 解决方法:
在Gerber设置中找到:
✅Include Power Plane Thermal Reliefs
必须勾选!否则AD只会输出实际绘制的图形,而不会还原规则生成的Relief结构。
❌ 问题3:板外形切割偏移0.5mm
最离谱的问题之一:板子做出来小了一圈。
排查发现:Edge Cuts画在Mechanical 1上,但在Gerber输出时没有将其映射为“Board Outline”。
结果工厂按默认拼版边框切,而不是你画的那个轮廓。
✅ 正确操作:
在Gerber层映射中,找到Mechanical 1 → 右键 → Set Layer Type → Board Outline
这样才能确保.gko文件正确输出轮廓线。
高效交付:建立团队级输出模板
一个人规范还不够,整个团队都要统一。
建议做法:
📁 创建公司标准.OutJob模板
内容包括:
- 标准化的Gerber层命名规则
- 固定单位与精度设置
- 默认勾选项清单(如Include Unconnected Pads、Use Solder Mask Expansion等)
- 自动生成PDF装配图、BOM、坐标文件
保存为Standard_Fab_Outputs.OutJob,纳入版本库共享。
🛠 集成到发布流程
利用AD的“Project Releaser”功能,一键打包以下文件:
/Fabrication/ ├── TOP.GTL ← 顶层线路 ├── BOT.GBL ← 底层线路 ├── TOP.GTS ← 顶层阻焊 ├── BOT.GBS ← 底层阻焊 ├── TOP.GTO ← 顶层丝印 ├── BOT.GBO ← 底层丝印 ├── EDGE.GKO ← 板框 ├── DRILL.DRL ← 钻孔主文件 ├── DRILL_LAYERS.pdf ← 钻孔图 └── FAB_DRAWING.pdf ← 生产说明图压缩为ProjectName_REV01.zip提交,清晰明了。
写在最后:别把“导出”当成收尾,它是设计的一部分
很多工程师把“导出Gerber”当作设计结束后的顺手操作,殊不知:
输出设置本身就是设计完整性的一部分。
就像写代码不测试就上线一样危险。
每一次成功的PCB制造,背后都是对细节的极致把控。而这些细节,往往藏在那些不起眼的复选框里。
下次当你准备点击“Generate”之前,请停下来问自己几个问题:
- 我的阻焊扩展生效了吗?
- 所有机械层都正确映射了吗?
- 盲埋孔的中间焊盘包含了吗?
- 钻孔文件分开了PTH和NPTH吗?
- 有没有用Gerber查看器再核一遍?
只要做到这几点,你就能真正做到——
一次设计,一次成功。
如果你也在用AD做项目,欢迎在评论区分享你的输出经验或踩过的坑,我们一起打造更可靠的硬件交付流程。