从设计到制造:Altium Designer中Gerber输出与工程归档的实战闭环
你有没有遇到过这样的场景?
PCB终于画完了,DRC也通过了,信心满满地导出Gerber发给工厂——结果三天后收到回复:“丝印层缺失”、“钻孔文件单位错误”、“阻焊开窗异常”。更糟的是,当你回头翻找原始输出文件时,发现本地已经覆盖修改,根本分不清哪一版才是当初交付的那一套。
这并不是个例。在许多中小型研发团队中,“ad导出gerber文件”往往被当作一个“最后一步”的操作,草率处理、缺乏规范、无人追溯。而实际上,这一环节恰恰是连接设计与制造的关键闸口。一旦失守,轻则延误周期,重则整板报废。
本文不讲理论堆砌,而是带你走一遍真实项目中的完整路径:
如何用 Altium Designer可靠、可重复、可追溯地完成 Gerber 输出,并将其无缝接入企业的文档管理体系,真正实现“一次投板,一次成功”。
为什么说“导出Gerber”不是点几下鼠标那么简单?
很多人以为,“ad导出gerber文件”就是打开菜单 → 选层 → 点确定。但如果你只停留在这个层面,那离“专业交付”还差得远。
问题往往藏在细节里
- 单位设成了 mm 而非 mil?→ 钻孔偏大 25 倍
- 忘记勾选 Bottom Silkscreen?→ 工厂默认不加底层文字
- Top Solder Mask 被镜像输出?→ 阻焊开窗全反了
- 层命名混乱(GTL vs TOP)?→ CAM 工程师误判导致短路
这些问题不会在AD里报错,也不会影响你的仿真和布线,但它们会在你收不到货的时候突然爆发。
📌关键认知转变:
“导出Gerber”不是一个动作,而是一个质量控制节点。它必须标准化、自动化、可验证、可归档。
核心武器:Output Job 文件 —— 让输出不再依赖“个人经验”
Altium Designer 提供了一个被严重低估的功能:Output Job(*.OutJob)文件。它是实现标准化输出的核心工具。
它到底解决了什么痛点?
| 手动操作模式 | 使用 OutJob 模式 |
|---|---|
| 每次都要重新配置层映射 | 一套模板复用多个项目 |
| 新人容易漏导某一层 | 所有任务集中管理,一键运行 |
| 输出路径随意存放 | 统一目录结构,自动归类 |
| 无法判断是否更新过设计 | 支持“Only if modified”智能触发 |
换句话说,OutJob 把“人的记忆”变成了“系统的流程”。
实战配置建议(适用于大多数四层板)
以下是你应该在 Fabrication Outputs 中包含的标准项:
| 输出类型 | 对应层 | 推荐格式 | 备注 |
|---|---|---|---|
| Gerber | Top Layer | GTL | 英制 4:4,RS-274X |
| Bottom Layer | GBL | 不启用 Mirror | |
| Top Solder Mask | GTS | 注意开窗逻辑 | |
| Bottom Solder Mask | GBS | 同上 | |
| Top Paste Mask | GTP | SMT钢网参考 | |
| Bottom Paste Mask | GBP | 同上 | |
| Top Silkscreen | GTO | 关闭压焊盘警告即可 | |
| Bottom Silkscreen | GBO | 易遗漏!务必检查 | |
| Mechanical Layers | GM1~GMn | 板框、定位孔等 | |
| Drill | NC Drill | Excellon | 选择PTH/NPTH分开输出 |
| Drill Drawing | DRL | 孔图PDF用于核对 |
💡小技巧:可以在 OutJob 中添加一个“Verification PDF”任务,自动生成包含所有层叠信息的说明文档,随包发送给厂家,极大减少沟通成本。
自动化进阶:脚本+批处理,让输出融入CI/CD思维
对于高频迭代或多人协作的团队,手动点击“Run All”仍然存在风险。我们可以借助 Altium 的自动化接口,把输出过程进一步程序化。
示例:Pascal Script 实现批量输出控制
// AutoGerberExport.pas procedure RunFabricationOutput; var OutputDir: String; begin // 定义输出路径(建议基于项目变量) OutputDir := ProjectFolder + 'Outputs\Fab_' + GetProjectRevision; if not DirectoryExists(OutputDir) then CreateDir(OutputDir); // 设置并执行 Output Job 中的 Fabrication 任务 ResetParameters; AddStringParameter('OutputJob', 'Release_To_Fab.OutJob'); AddStringParameter('TaskKind', 'FabricationOutputs'); RunProcess('System:RunOutputJob'); ShowMessage('✅ 制造文件已生成至:' + OutputDir); end;这段脚本可以绑定到快捷键,或者由外部 PowerShell 脚本调用,实现:
- 每晚自动构建最新版输出包
- 结合 Git 提交钩子,在 push 后触发输出
- 生成带时间戳的压缩包,防止覆盖
⚠️ 注意事项:
- 脚本需在 AD 运行状态下执行
- 建议先在测试项目中验证逻辑
- 可配合WaitForProcess实现顺序控制
如何避免“发出去就失联”?建立工程文档闭环
最怕的情况是什么?
三个月后客户要改一款老产品,你说“我找一下之前的生产文件”,结果有人说:“我记得当时是小王发的,但他离职了……”
所以,输出 ≠ 完成。真正的终点是——归档可查、版本可控、责任可溯。
推荐归档流程(五步法)
本地打包命名规范化
AMP-MAINBOARD-REV1.3_20250405_John.zip └── Fab/ ├── GTL.gbr ├── GBL.gbr └── ... └── Assm/ ├── PickPlace.csv └── Assembly_Top.pdf └── Docs/ ├── BOM.xlsx └── Schematic.pdf使用开源工具做初步验证
- 工具推荐: GC-Prevue (Windows)、 FlatCAM (跨平台)
- 检查项:- 层序是否正确
- 是否有镜像反向
- 文字是否清晰可读
- 钻孔密度是否合理
上传至受控系统
- 小团队:SVN / NAS 共享目录 + 版本标签
- 中大型企业:PLM(如 Windchill、Teamcenter)或 SharePoint
- 高级集成:通过 REST API 推送到 ERP/MES 系统创建变更记录
在 PLM 或 Jira 中新建一条 Release Record,内容包括:
- 项目名称 & 编号
- PCB 版本号(Rev)
- 输出时间 & 操作人
- 关联的设计评审结论
- 文件包下载链接通知上下游并保留回执
发送邮件给:
- PCB 厂家:提供 FTP 下载链接或附件
- SMT 工厂:同步贴片坐标和 BOM
- 内部 QA:备案用于后续维修溯源
常见坑点与应对秘籍(来自血泪教训)
| 问题现象 | 根源分析 | 解决方案 |
|---|---|---|
| 丝印看不见 | 底层丝印颜色太浅或被禁用 | 在层堆栈管理器中确认 GBO 已启用;建议最小线宽 ≥ 6mil |
| 阻焊开窗过大 | Solder Mask Expansion 设值不合理 | 统一设置为 4mil(或按器件规格调整),避免焊盘全覆盖 |
| 钻孔文件打不开 | 使用了盲埋孔但未启用对应格式 | 若非HDI板,关闭 Blind/Buried Vias 输出选项 |
| 坐标文件器件少了几颗 | Nozzle Size 设置过滤掉了小元件 | 检查 Pick and Place 模板中的排除规则 |
| 不同电脑输出结果不一致 | AD 版本或安装插件差异 | 锁定项目所用主版本(如 AD23 SP2),禁止混用 |
📌终极建议:制作一份《Gerber输出检查清单》(Checklist),作为每次发布的强制步骤。例如:
□ DRC 已通过 □ 层堆栈定义正确 □ OutJob 为最新受控版本 □ 所有制造层均已勾选 □ 单位为 Imperial (mil),精度 4:4 □ 无镜像输出(Top Layer 除外) □ 钻孔文件分离 PTH/NPTH □ 本地已用 GC-Prevue 验证 □ 压缩包命名符合规范 □ 已上传至 PLM 并打标签更进一步:将“输出”纳入研发流程体系
当你能把每一次 Gerber 输出都变成一次可审计的操作事件,你就迈入了真正的工程化管理阶段。
可尝试的进阶实践
- 与 Git 集成:将
.OutJob文件纳入版本控制,确保所有人使用同一套输出逻辑 - 权限分级:普通工程师只能输出“Draft”,只有项目经理能执行“Release”归档
- 生命周期管理:设定文档保留策略(如“量产结束后保存5年”)
- 远程协作支持:结合云存储(OneDrive for Business、NAS),实现多地团队访问最新资料
- 对接 MES 系统:将 Pick&Place 和 BOM 直接推送到产线系统,减少人工导入错误
这些做法看似繁琐,但在 ISO9001、IATF16949 等质量体系审核中,都是加分项。更重要的是,它们能在关键时刻救你一命。
写在最后:别让“最后一公里”毁掉整个设计
我们花了几十小时精心布局高速信号,做了无数次电源完整性仿真,却可能因为一次疏忽的导出,换来一张废板、一周延期、一笔赔偿。
“ad导出gerber文件”从来不只是技术动作,它是责任感的体现,是工程素养的试金石。
下次当你准备点击“导出”之前,请问自己三个问题:
- 这个输出包能不能让一个陌生的工厂顺利投产?
- 三个月后我能准确找回这一版的所有文件吗?
- 如果出了问题,我能证明这不是我的错吗?
如果答案不够坚定,那就再花十分钟,把流程补完整。
毕竟,硬件工程师的价值,不仅体现在“画得好”,更体现在“交得稳”。
如果你正在搭建团队输出规范,欢迎在评论区留言交流,我可以分享一套可直接导入的 OutJob 模板和检查表。