AD导出Gerber文件实战指南:手把手教你生成精准光绘数据
你有没有遇到过这样的情况?辛辛苦苦画完PCB,信心满满地把设计发给厂家打样,结果收到回复:“缺阻焊层”、“底层丝印反了”、“钻孔对不上”……一顿排查才发现,问题出在Gerber文件导出设置不对。
别急,这几乎是每个硬件工程师都踩过的坑。而今天这篇“ad导出gerber文件教程”,就是要带你从零开始,彻底搞懂如何用Altium Designer(AD)正确输出一套让工厂闭眼接收的Gerber文件。
我们不讲空话,只说实战——怎么设、为什么这么设、哪里最容易错,全都掰开揉碎讲清楚。
为什么必须掌握Gerber输出?
在电子研发流程中,原理图和PCB布局只是前半程。真正决定板子能不能做出来、做得对不对的关键一步,就是把设计转化为制造语言。这个“语言”,就是Gerber文件。
它不是普通的图纸,而是PCB厂用来驱动激光光绘机、数控钻床的“施工蓝图”。每一层铜箔、每一块开窗、每一个文字标记,都要靠Gerber来精确描述。
Altium Designer作为主流EDA工具,内置了强大的CAM输出系统。但如果你不会正确配置,哪怕电路设计得再完美,也可能因为一个参数错误导致整批板报废。
所以,学会“ad导出gerber文件”不仅是技能,更是对自己劳动成果的基本保护。
Gerber到底是什么?先搞清它的底细
它不是图片,是“指令流”
很多人误以为Gerber是个图像文件,其实不然。它是二维矢量指令集,通过坐标点+绘图命令(比如D01画线、D03打孔)来还原图形。这种格式源自上世纪80年代的Gerber Systems公司,如今已演进为RS-274X标准,成为全球通用的事实规范。
✅ 推荐使用RS-274X格式:支持内嵌Aperture表,无需额外提供
.apr文件,避免遗漏。
每一层对应一个.gbr文件
一块双面板通常需要输出以下核心层:
| 文件后缀 | 对应功能 |
|---|---|
.gbl/.gbr_L1 | 底层线路(Bottom Layer) |
.gtl/.gbr_L2 | 顶层线路(Top Layer) |
.gbs/.gbr_SMB | 底层阻焊(Solder Mask Bottom) |
.gts/.gbr_SMT | 顶层阻焊(Solder Mask Top) |
.gbo/.gbr_SSB | 底层丝印(Silkscreen Bottom) |
.gto/.gbr_SST | 顶层丝印(Silkscreen Top) |
.gm1 | 板框与机械层(Mechanical 1) |
.gko | 禁布区(Keep-Out Layer) |
再加上一个.drl钻孔文件,才算完整交付包。
⚠️ 注意:有些厂商要求阻焊层叫
SMOBC或PasteMask,命名可以自定义,但内容不能少!
单位与精度,细节决定成败
很多初学者忽略单位设置,直接用默认值导出,结果被工厂退回重做。
| 关键参数 | 推荐设置 | 原因说明 |
|---|---|---|
| Units | Inches(英寸) | 多数PCB厂默认处理inch,兼容性更好 |
| Precision | 2:5 或 2:6 | 小数点后5~6位,确保高精度定位 |
| Zero Suppression | Leading | 前导零省略,符合Excellon钻孔文件习惯 |
举个例子:
如果你设成2:4,那0.00001英寸的细微偏移就会被截断,可能导致铺铜边缘失真或焊盘错位。
手把手操作:AD中如何一步步导出Gerber
下面我们以 Altium Designer 20 及以上版本为例,完整演示一次标准输出流程。跟着做一遍,基本就能形成肌肉记忆。
第一步:准备PCB文件
- 确保已完成最终布线;
- 运行Tools → Design Rule Check (DRC),确认无报错;
- 更新所有铺铜:Tools → Polygon Pours → Repour All
(否则导出的可能是旧状态下的铜皮!)
第二步:打开Gerber输出界面
菜单栏选择:File → Fabrication Outputs → Gerber Files
弹出Gerber Setup对话框,这是整个过程的核心控制台。
第三步:General 设置 —— 全局参数定调
| 项目 | 推荐设置 |
|---|---|
| Units | Inches |
| Precision | 2:5(够用且稳定)或2:6(超高精度需求) |
| Format | RS-274X(必选!) |
✅ 勾上 “Create a report file”:生成日志方便追溯问题。
第四步:Layers 选项卡 —— 层映射最关键!
这里是最容易出错的地方,务必逐项核对。
Plot Layers 设置:
- 选择:Used On→ 只输出实际使用的层,避免冗余
- 或者选Selected layers only,手动控制更安全
手动勾选以下关键层:
| 层名 | 是否必须 | 特别提醒 |
|---|---|---|
| Top Layer | ✅ 必须 | 顶层走线 |
| Bottom Layer | ✅ 必须 | 底层走线 |
| Mechanical 1 | ✅ 必须 | 板框尺寸定义 |
| Keep-Out Layer | ✅ 必须 | 切割边界参考 |
| Top Solder Mask | ✅ 必须 | 开窗区域控制 |
| Bottom Solder Mask | ✅ 必须 | 同上,别漏掉 |
| Top Overlay | ✅ 必须 | 顶层丝印文字 |
| Bottom Overlay | ❓ 视情况 | 如果有背面元件才需要 |
⚠️绝对不要勾选这些层:
- Testpoint
- DRC Error
- Grids
- Hallmark
这些是非物理信息,导出会干扰CAM解析。
第五步:Apertures (Flash) —— 焊盘极性别搞反
保持默认即可:
- ✅ Include layer stack polarities:Yes
- ✅ Mirror layers when plotting:No
🔥 重点提醒:千万不要勾选“Mirror Layers”!
一旦勾上,Bottom Layer 和 Bottom Silkscreen 都会被镜像翻转,导致丝印反向、贴片错位!
第六步:Advanced 高级设置 —— 原点统一防错位
- Zero Suppression:Leading
(去掉前面的0,如 0.00100 → .00100) - Origin Points:Relative to Grid Zero
- 并提前将原点设在板框左下角交点处(快捷键 G 设置栅格原点)
💡 小技巧:
可以在Mechanical层画个十字交叉点,设为原点,保证Gerber和NC Drill坐标一致。
第七步:Drill Drawing —— 别忘了钻孔图
- 勾选:Generate drill drawing
- 放置到哪个层?推荐:Mechanical 2
- 输出格式:RS-274X(与主文件统一)
这样工厂可以直接在CAM软件里叠加查看钻孔位置是否准确。
第八步:点击 OK,生成文件!
系统会自动创建一个名为Project Outputs for [项目名]的文件夹,里面包含所有.gbr文件。
接下来别急着打包,先做一件事——同步导出钻孔文件。
第九步:输出NC Drill文件(.drl)
菜单:File → Fabrication Outputs → NC Drill Files
关键设置:
- Units:Inches
- Format:Excellon
- Mode:Absolute
- Hole Size Limits: 默认即可
- ClickGenerate
生成的.drl文件必须和Gerber一起提交,否则无法制板。
导出后必做的三件事:检查、验证、打包
你以为导出就完了?NO!这才是最关键的环节。
1. 用Gerber查看器逐层检查
推荐免费工具:
- GC-Prevue(Windows,老牌神器)
- ViewMate(Ucamco出品,专业级)
- KiCad 自带的 GerbView
打开每个.gbr文件,确认:
- 丝印文字方向是否正确?
- 阻焊开窗有没有覆盖不该开的地方?
- 四周有没有多余线条或残留网络?
- 钻孔数量与预期是否一致?
💡 经验之谈:曾经有个项目,忘记关TrueType字体,导出后文字变成曲线断裂,厂方根本识别不了。后来才知道要在Preferences → PCB Editor → TrueType Fonts中勾选Convert text to primitives。
2. 整理文件命名,清晰可读
建议采用如下命名规则:
ProjectName_TopLayer.gbr ProjectName_BottomLayer.gbr ProjectName_TopSolderMask.gbr ProjectName_BottomSolderMask.gbr ProjectName_TopSilkscreen.gbr ProjectName_Drill.drl ProjectName_Mechanical.gbr避免中文路径、空格、特殊符号,防止解压失败。
3. 压缩打包 + 添加说明文档
将所有.gbr和.drl文件放入ZIP压缩包,并附一份README.txt,写明:
项目名称:SmartSensor_V2 层数:2层板 板厚:1.6mm 特殊工艺:沉金处理 阻焊颜色:绿色 丝印颜色:白色 备注:无盲埋孔,常规制程即可这份说明能极大提升沟通效率,减少来回确认的时间成本。
常见坑点与避坑秘籍
| 问题现象 | 根本原因 | 解决方案 |
|---|---|---|
| 工厂说“没阻焊层” | Layers页面未勾选Solder Mask | 回去重新勾选并导出 |
| 底层丝印镜像 | 错误启用了Mirror Layers | 关闭该选项,重新导出 |
| 钻孔偏移 | Gerber与.drl原点不一致 | 统一设置Relative to Grid Zero |
| 文字模糊/缺失 | TrueType字体未转为Primitive | 在偏好设置中开启转换 |
| 铺铜出现断裂 | 未执行Repour All | 输出前务必刷新铺铜 |
| 文件打不开 | 使用了非RS-274X格式 | 改为RS-274X再试 |
高阶玩法:模板化与自动化
对于经常做类似项目的团队,完全可以把这套配置保存下来,提升效率。
方法一:保存为.camset模板
在Gerber Setup界面,点击右上角Save Setup…,保存为Standard_2Layer.camset。
下次新建项目时,直接Load Setup,一键加载全部参数,省时又防错。
方法二:使用脚本批量处理(适合进阶用户)
虽然AD是图形化工具,但它支持Delphi Script/VB Script进行自动化操作。例如:
procedure ExportGerber; begin ShowGerberSetupDialog; SetGerberFormat('RS274X'); SetUnit('Inch'); SetPrecision(2, 5); EnableLayer('TopLayer', True); EnableLayer('BottomLayer', True); EnableLayer('TopSolderMask', True); EnableLayer('BottomSolderMask', True); GenerateGerberFiles; end;这类脚本可用于CI/CD流水线中,实现无人值守输出,特别适合量产前的标准化交付。
📌 提示:普通用户暂不建议折腾脚本,优先掌握GUI操作更稳妥。
写在最后:基础功永远不过时
尽管现在有了更先进的数据格式,比如ODB++和IPC-2581,它们能携带更多语义信息(如材料属性、叠层结构),支持智能导入,但在国内绝大多数中小PCB厂,Gerber仍是唯一接受的标准。
而且在未来几年内,这种情况不会改变。
所以,“ad导出gerber文件教程”看似简单,实则是连接设计与制造的桥梁。只有当你亲手经历过一次因文件错误导致返工的代价,才会明白:每一个参数背后,都是血泪教训换来的经验。
与其等到出问题再去补救,不如现在就把这套流程练熟。下次提交资料时,你可以自信地说一句:“我的Gerber没问题。”
如果你觉得这篇文章对你有帮助,欢迎收藏转发;如果在实际操作中遇到了其他坑,也欢迎留言交流,我们一起排雷。