从设计到制造:一文讲透 Altium Designer 导出 Gerber 的实战细节
你有没有遇到过这样的情况?
PCB 花了好几天精心布局布线,DRC 全部通过,自信满满地导出 Gerber 发给厂家——结果三天后收到回复:“顶层缺丝印”、“内电层是空的”、“板框没包含进去”。
别急,这不是厂家居心不良,而是你在AD 导出 Gerber 文件这一步出了问题。这个看似“点几下就能完成”的操作,其实藏着不少工程师踩过的坑。
今天我们就以实战视角,带你一步步走完 Altium Designer 中生成 Gerber 的全过程,不讲虚的,只说你能用上的关键细节和避坑指南。
为什么说“导出 Gerber”不是简单的点击按钮?
很多新手以为:布完线 → 点“File → Fabrication Outputs → Gerber Files”→ 点 OK → 完事。
但现实往往是:文件导出来了,可厂家打不了板。
因为 Gerber 不是一个“图片”,而是一套精密的制造语言。它要告诉光绘机每一层铜怎么画、哪里开窗、字体多大、坐标精度多少……任何一个参数不对,都可能导致短路、断线、贴错元件。
更关键的是,Altium Designer 提供了大量可配置项,稍有疏忽就会导致输出异常。比如:
- 忘记勾选机械层 → 没有板框 → 板子切不成形
- 使用老式 RS-274D 格式 → 缺少 aperture 表 → 图形错乱
- 内电层误设为正片输出 → 铜皮全黑或全白 → 电源平面失效
所以,“ad导出gerber文件”这件事,本质上是对设计完整性的一次终极检验。
Gerber 是什么?先搞清楚它的角色
在深入操作前,我们快速厘清几个核心概念:
✅ Gerber 文件的本质
Gerber(正式名称:RS-274X Extended Gerber)是一种二维矢量描述格式,用来表达 PCB 每一层的图形信息。每层一个.gbr文件,例如:
| 层名 | 对应文件 |
|---|---|
| Top Layer | TopLayer.gbr |
| Bottom Solder Mask | BottomSolder.gbr |
| Mechanical 1 (Board Outline) | BoardOutline.gbr |
这些文件加上钻孔文件(NC Drill),共同构成完整的制板数据包。
⚠️ 常见误区提醒
- ❌ 不要用 PDF 或截图代替 Gerber —— 制造厂无法解析。
- ❌ 不要使用 RS-274D(需外接 Aperture Table)—— 易丢失图形定义。
- ✅ 必须启用Embedded Apertures (RS-274X)—— 所有图形模板嵌入文件内部,安全可靠。
小知识:现代工厂基本只认 RS-274X + IPC-356 网表 + X/Y 坐标装配文件这套组合拳。
实战步骤详解:五步搞定 AD 导出 Gerber 文件
下面我们进入 Altium Designer 的实际操作流程。假设你已完成 PCB 布局布线,并通过 DRC 检查。
第一步:打开输出界面,设置基础单位
菜单栏选择:
File → Fabrication Outputs → Gerber Files…
弹出【Gerber Setup】对话框,共五个选项卡。我们逐个击破。
【General】页:定调精度与范围
| 参数 | 推荐设置 | 说明 |
|---|---|---|
| Units | Inches | 行业通用标准,避免与公制混淆 |
| Format | 2:5 | 整数 2 位,小数 5 位,支持 ±0.001mm 级精度 |
| Plot Layers | Used On | 自动筛选当前项目实际使用的层,防遗漏也防多余 |
🔍 提示:如果你做的是高频板或阻抗控制板,建议额外提供 Stack-up 说明文档,标注各层介质厚度和材料类型。
第二步:Layer 映射 —— 决定哪些层要输出
这是最关键的一步,直接决定制造商看到什么。
推荐配置清单(四层板为例)
| PCB Layer | 是否输出 | 文件命名建议 | 注意事项 |
|---|---|---|---|
| Top Layer | ✅ 是 | TopLayer.gbr | 信号走线层 |
| Bottom Layer | ✅ 是 | BottomLayer.gbr | 底层布线 |
| Top Solder Mask | ✅ 是 | TopSolder.gbr | 控制绿油开窗区域 |
| Bottom Solder Mask | ✅ 是 | BottomSolder.gbr | 防焊层,防止焊接短路 |
| Top Silkscreen | ✅ 是 | TopSilk.gbr | 字符、LOGO、极性标记等 |
| Bottom Silkscreen | ✅ 是(如有) | BottomSilk.gbr | 反面标识 |
| Mechanical 1 | ✅ 是 | BoardOutline.gbr | 必须包含板框!否则无法切割 |
| Keep-Out Layer | ✅ 是(若用于边框) | 合并到 Board Outline | 边界定义层 |
| Internal Plane 1/2 | ✅ 是 | InnerLayer1.gbr,InnerLayer2.gbr | 多为负片输出,注意设置 |
⚠️ 常见错误排查
- 忘记输出 Mechanical Layer→ 没有外形轮廓 → 板子切不出形状
- 多个机械层未区分用途→ 工厂不知道哪个是真正的板框
- 空层也被输出→ 引起误解,可能被当作特殊工艺处理
✅ 最佳实践:将板框单独放在 Mechanical 1,并重命名为
BoardOutline,并在 README 中注明。
第三步:Gerber 格式设置 —— 保证兼容性的关键
切换到Gerber选项卡,这里是确保文件“能被读懂”的核心。
关键勾选项
- ✅Gerber Format: 选择
RS-274X(必须!) - ✅Generate extended layer information filenames: 自动生成带层名的文件名,便于管理
- ✅Include inner layer thermal reliefs: 包含散热孔连接,尤其对负片重要
- ❌ Mirror Layers: 不勾选(除非返修需要镜像打印)
负片处理特别注意
对于内电层(如 GND / VCC 平面),通常采用负片输出(Negative Plot)。这意味着:
- 铜区是背景色(默认填充)
- 连接处用“十字花”表示电气连接
- 孤立焊盘会被自动隔离
为此你需要确认:
- 在此页面启用Region Filling和Thermal Relief Support
- 不要勾选 “Remove NPP Circles”(非网络连接圆),防止误删隔离区
💡 经验之谈:负片层输出后务必用 Gerber 查看器检查是否出现大面积空白或孤立铜岛。
第四步:Aperture Table 设置 —— 图形模板的安全备份
虽然 RS-274X 支持内嵌 aperture,但为了万无一失,建议仍生成.apr文件作为备用。
- 选择:Use Extended Apertures (RS-274X)
- 输出路径会自动生成
.apr文件
⚠️ 危险警告:如果使用旧格式 RS-274D 而又未附
.apr文件,加工厂无法还原原始图形,极易造成报废!
第五步:Advanced 高级设置 —— 精确控制输出行为
最后来到Advanced页面,做一些微调:
| 设置项 | 推荐值 | 说明 |
|---|---|---|
| Leading / Trailing Zero Suppression | Leading | 前导零抑制,符合行业习惯 |
| Coordinate Representation | Absolute | 使用绝对坐标,避免相对移动误差 |
| Drill Drawing | 可选 | 生成钻孔图用于人工核对(非必须) |
📏 为什么选 Absolute?
因为在制造端 CAM 系统中普遍使用绝对坐标体系,若选 Incremental(增量),容易因累计误差导致偏移。
如何验证你导出的 Gerber 是正确的?
别以为点了“OK”就万事大吉。下一步才是重点:验证。
方法一:使用 AD 自带查看器
导出完成后,AD 会自动生成一个.cam文件。你可以:
- 点击菜单View → View Configurations → Load PCB View Configuration
- 加载该
.cam文件 - 逐层查看图形是否完整、有无缺失、填充是否正常
重点关注:
- 丝印是否有断裂文字
- 阻焊层开窗是否匹配焊盘
- 内电层是否呈现负片效果(大面积为实心,连接处为十字)
方法二:用第三方工具交叉验证(强烈推荐)
推荐两款免费高效工具:
| 工具 | 特点 |
|---|---|
| GC-Prevue(Windows) | 功能强大,支持测量、比对、高亮网络 |
| Kamaluo Viewer(跨平台) | 开源轻量,适合快速预览 |
操作建议:
- 把导出的所有.gbr文件拖入查看器
- 切换 Layers 查看每一层内容
- 特别检查:板框闭合吗?丝印压焊盘了吗?过孔周围有阻焊开窗吗?
✅ 实战提示:曾有人因丝印覆盖测试点,导致无法在线测试,最终整批返工。
自动化脚本:让团队输出标准化
如果你所在公司有多人协作,或者产品迭代频繁,手动导出容易出错且效率低。
Altium 支持通过脚本自动化完成 Gerber 输出。以下是一个简化版 DelphiScript 示例:
procedure ExportGerber; var Job : TGerberJob; begin Job := CreateGerberJob; Job.Units := eUnitInch; Job.CoordinateFormat := '2:5'; Job.GerberFormat := eGerberFormat_RS274X; // 添加必要层 Job.AddUsedLayer(eTopLayer); Job.AddUsedLayer(eBottomLayer); Job.AddUsedLayer(eTopSolderMask); Job.AddUsedLayer(eBottomSolderMask); Job.AddUsedLayer(eTopSilkScreen); Job.AddMechanicalLayer(1); // 板框层 // 启用嵌入式 Aperture Job.UseExtendedApertures := True; // 输出路径 Job.OutputPath := 'Output/Gerber'; // 执行 Job.Execute; ShowMessage('✅ Gerber 文件已生成!'); end;将此脚本保存为.pas文件,加入模板工程中,新人一键运行即可输出规范文件。
🏢 企业价值:统一输出流程,减少人为差错,提升交付一致性。
常见问题与解决方案(真实案例复盘)
❓ 问题1:丝印字符显示不全或消失
原因分析:
- 丝印层文本位于禁止区域(如覆铜上方被自动裁剪)
- 字体为 TrueType 且未转为图元(Primitive)
解决方法:
在 PCB 编辑器中选中文本 → 右键 →Convert → Convert Text to Objects
这样就把字体变成基本线条图形,不再依赖系统字体库。
❓ 问题2:内电层导出为空白
典型场景:
四层板中间层 GND 设计为负片,但导出后发现整个层是空的。
排查方向:
- 是否启用了 Region 填充?
- 是否勾选了 “Include Thermal Reliefs”?
- 是否误将层设为“Non-Used”未输出?
修复建议:
回到Gerber → Layers页面,确保 Internal Plane 被正确添加,并在Gerber 选项卡中开启负片支持。
❓ 问题3:钻孔文件缺失
注意:Gerber 只管图形,不包含钻孔信息!
必须额外导出 NC Drill 文件:
File → Fabrication Outputs → NC Drill Files…
设置要点:
- Units: Inches
- Format: 2:5
- Mode: Thru-only or Separate layers(根据盲埋孔需求)
最佳实践清单:投板前必做 checklist
| 项目 | 是否完成 |
|---|---|
| ☐ 所有信号层已输出 | |
| ☐ 阻焊层(Solder Mask)已包含 | |
| ☐ 丝印层已检查无遮挡 | |
| ☐ 板框(Mechanical 1)已输出 | |
| ☐ 单位设为 Inch + 2:5 | |
| ☐ 格式为 RS-274X + Embedded Apertures | |
| ☐ 使用 Gerber 查看器验证 | |
☐ 文件打包命名清晰(如Project_V1.2_20250405.zip) | |
| ☐ 附带 README.txt 说明版本、叠层、特殊要求 |
✅ 温馨提示:每次输出时,在压缩包里加个
README.txt,写上:
项目:PowerModule_V1.2 日期:2025-04-05 层数:4-layer (Signal-GND-Power-Signal) 板厚:1.6mm ±0.1 特殊说明:TopSilk 不可删除;测试点禁止覆盖
写在最后:一次成功的 Gerber 输出意味着什么?
当你真正掌握ad导出gerber文件的全流程,你就不再是只会“画线路”的初级工程师,而是具备了打通设计与制造闭环能力的成熟开发者。
这不仅是技术能力的跃迁,更是思维方式的升级——从“我能画出来”转变为“我能造出来”。
下次投板前,请记住这句话:
“你不只是在导出文件,而是在交付信任。”
你的每一个设置,都在告诉制造商:“我相信我的设计,也尊重你们的工艺。”
如果你在实践中遇到其他棘手问题,欢迎留言讨论。我们一起把硬件开发做得更稳、更快、更专业。