德阳市网站建设_网站建设公司_字体设计_seo优化
2025/12/23 1:21:38 网站建设 项目流程

Altium Designer导出Gerber文件全攻略:从设计到生产的无缝衔接

你有没有遇到过这样的情况?辛辛苦苦画完PCB,信心满满地把文件发给板厂,结果对方回复:“缺阻焊层”、“丝印反了”、“钻孔格式不对”……一通返工下来,不仅耽误进度,还让人怀疑自己是不是漏掉了什么关键步骤。

别急——这几乎每个硬件工程师都踩过的坑。而问题的根源,往往就出在生产文件输出环节,尤其是Gerber 文件的生成与配置上。

在Altium Designer中完成布局布线只是走完了90%,真正的“最后一公里”,是把你的设计精准无误地翻译成工厂能看懂的语言。这篇文章不讲花哨理论,只聚焦实战细节,带你一步步搞清楚:如何正确、高效、零失误地从Altium导出可用于生产的Gerber和NC Drill文件


为什么Gerber这么重要?

我们先来打破一个误解:很多人以为只要把PCB文件发过去,工厂就能做板子。错!他们真正需要的,是一组标准化的制造数据包,其中最核心的就是Gerber 文件

Gerber到底是什么?

简单说,Gerber是一种描述PCB每一层图形的“图纸语言”。它告诉工厂:
- 哪些地方要保留铜箔(走线/焊盘);
- 哪些地方要盖绿油(阻焊开窗);
- 哪些地方要印白字(丝印层);
- 板子轮廓在哪(机械层)。

目前主流使用的是RS-274X 扩展格式,它的最大优势是自包含——光圈定义(aperture)直接嵌入文件内部,不需要额外提供.rep.apr文件,极大降低了出错概率。

📌 小知识:老式RS-274D需要外带 aperture 表,一旦丢失就会导致图形错乱。现在基本已被淘汰。

它不能做什么?

虽然强大,但Gerber也有局限:
- ❌ 不包含网络连接信息(Netlist)
- ❌ 无法表达3D结构
- ❌ 没有元件参数或BOM信息

所以它只能用于物理制造,不能替代原始.PcbDoc文件归档。


输出前必做的5项检查清单

在点击“导出”之前,请务必确认以下几点:

  1. ✅ 是否运行过DRC?确保没有短路、间距违规。
  2. ✅ 板框是否完整?建议用Mechanical 1层绘制,并设为“Keepout Layer”。
  3. ✅ 所有电源层是否已铺铜?未铺铜可能导致负片层输出异常。
  4. ✅ 元件位号是否清晰可读?避免被过孔或走线遮挡。
  5. ✅ 版本号和日期是否标注?可在丝印层添加如REV 1.2 | 2025-04-05

这些看似琐碎的小事,往往是决定“一次成功”的关键。


如何在Altium中正确配置Gerber输出?

Altium推荐使用Output Job File(.OutJob)来统一管理所有输出任务。相比传统菜单操作,这种方式更系统、不易遗漏,特别适合团队协作和批量项目。

第一步:创建或打开 .OutJob 文件

路径:右键项目 → Add New to Project → Output Job File

然后你会看到几个主要区域:
-Documentation Outputs:PDF、装配图等
-Fabrication Outputs:Gerber、钻孔等制造文件
-Assembly Outputs:贴片坐标、BOM等SMT所需数据

我们要重点设置的是第二项。


第二步:添加 Gerber Files 输出任务

点击 “Add Fabrication Output” → 选择 “Gerber Files”

双击进入配置界面,这里有五个关键选项卡,逐个拆解:

① General 设置
参数推荐值说明
UnitsImperial (inch)绝大多数板厂默认英制
Format2:5整数2位,小数5位,精度达1μm
Plot kindRS-274X必须选这个!

⚠️ 千万别选2:4,否则精度不够;也别用Metric,容易引发单位混淆。

② Layers 层映射

这是最容易出错的地方之一。你需要明确指定哪些层参与输出,以及它们对应的用途。

典型映射如下:

Altium层名输出文件名用途
Top LayerGTL顶层线路
Bottom LayerGBL底层线路
Top Solder MaskGTS顶层阻焊(绿油开窗)
Bottom Solder MaskGBS底层阻焊
Top SilkscreenGTO顶层丝印(白油文字)
Bottom SilkscreenGBO底层丝印
Mechanical 1GM1板子外形轮廓

最佳实践
- 勾选 “Include unconnected mid-layer pads” —— 防止盲埋孔pad被忽略;
- 如果用了多个机械层定义不同结构(比如V-Cut、铣槽),记得单独勾选并命名清楚。

③ Options 图形模式与镜像
  • Film Mode
  • 正片(Positive):常规信号层使用
  • 负片(Negative):适用于内电层(Internal Plane),如GND/VCC大平面

💡 为什么用负片?因为大面积铺铜用正片表示会生成海量绘图指令,文件体积大且处理慢。负片则相反:整个层默认为铜,只挖掉不需要的部分,效率更高。

  • Mirror绝对不要勾选!

一旦开启,丝印会变成镜像,字符倒置,贴片时根本没法识别。

④ Apertures 光圈设置

保持默认即可。Altium会自动将Aperture表嵌入RS-274X文件中。

如果你看到提示“External aperture file will be generated”,说明你没选对格式,赶紧回去改回RS-274X。

⑤ Advanced 高级选项
  • Solder Mask Expansion(阻焊扩展):
  • 可设为固定值(如+0.1mm)
  • 或勾选 “Use Rules Settings” 让其遵循PCB规则中的设定

🛑 注意:扩得太大会导致相邻焊盘之间绿油桥消失,可能引起焊接短路;太小则焊盘覆盖不全。一般控制在+0.05 ~ +0.15mm之间较安全。


NC Drill 文件怎么配才不出错?

Gerber管“面”,Drill管“孔”。两者必须配套输出。

添加 NC Drill 输出任务

同样在.OutJob中,点击 Add Fabrication Output → NC Drill Files

进入设置后重点关注以下几项:

① 单位与格式
  • Units: Imperial (inch)
  • Format: 2:5(必须和Gerber一致!)
  • Zero Suppression: Trailing(尾部去零)

示例:坐标 X123456Y78901,在Trailing模式下写作 X1.23456Y0.78901

② Drill Drawing vs NC Drill

注意区分两个概念:
-Drill Drawing:是给人看的钻孔图(通常输出为PDF)
-NC Drill Files:是给机器用的数控指令文件(.drl)

我们要的是后者!

③ 工具分组方式
  • Single file – merged output:所有钻孔合并到一个文件
  • Separate files per tool:每个钻头一个文件(推荐)

后者更便于工厂快速识别不同孔径的加工顺序。

④ 是否包含盲埋孔?

如果你的设计中有盲孔(Blind Via)或埋孔(Buried Via),一定要勾选:

✔ Generate drill files for blind/buried holes

否则这些特殊孔不会出现在输出中!

此外,还可以启用:

✔ Plot Tool Mode Codes —— 在文件中标注T01、T02等工具编号,方便审查。


怎么验证输出文件没问题?

别急着打包发送!先自己验一遍。

使用Altium内置Gerber Viewer预览

路径:File → View » Gerber/ODB++

导入你刚生成的所有文件,逐层查看:
- 丝印是否有偏移?
- 阻焊开窗是否匹配焊盘?
- 内电层是不是负片显示正确?
- 板框是否闭合?

可以切换“Compare”模式,对比原PCB视图,确保完全一致。

借助在线工具二次确认

推荐两个免费在线查看器:
- https://gerber-viewer.ucamco.com (Ucamco官方)
- https://www.pcb-shop.com/gerber-viewer

上传后能直观看到各层叠加效果,还能测量距离、检查D-code。


自动化技巧:用脚本提升输出效率

对于经常重复输出的项目,可以用Altium Script实现一键配置。

以下是一个Delphi Script示例,自动添加Gerber输出任务并设置常用参数:

procedure SetupGerberOutput; var OutJob: IOutputJob; GerberOut: IFabricationOutput; begin // 获取当前项目的OutJob OutJob := Project.OutputJob('Manufacturing'); if OutJob = nil then Exit; // 添加Gerber输出 GerberOut := OutJob.AddFabricationOutput(ftGerber); GerberOut.SetName('Final_Gerber'); // 设置基本参数 with GerberOut.Setup do begin Units := ouInch; Format := gf2_5; Kind := gkRS274X; Mode := fmPositive; end; // 添加所有有效层 GerberOut.AddAllUsedLayers(); // 启用输出 GerberOut.Enabled := True; ShowMessage('✅ Gerber输出已自动配置完成!'); end;

保存为.pas文件后,在Altium中运行即可。适合企业建立标准化模板,减少人为疏漏。


实战避坑指南:那些年我们都犯过的错

问题现象根本原因解决方案
“丝印反了”错误勾选了Mirror检查所有层的Options页,关闭Mirror
“绿油盖住了焊盘”阻焊扩展为负值改为+0.1mm左右
“板厂说缺板框”Mechanical 1未勾选输出在Layers页手动添加GM1
“钻孔文件打不开”格式设成了Metric统一为Inch + 2:5
“内层电源没铜”误用了正片模式改为Negative Film Mode

🔍 提醒:国内一些快板厂(如嘉立创、华秋)对某些层(如Testpoint)有特殊要求,建议提前查阅其官网文档进行适配。


最终交付包该怎么打包?

标准输出目录结构建议如下:

Project_Output_REV1.2/ │ ├── Gerber/ │ ├── project_top.gtl │ ├── project_bot.gbl │ ├── project_tsmd.gts │ └── ... │ ├── NC_Drill/ │ ├── project_drills.drl │ └── project_ndrill.txt │ ├── Pick_and_Place.csv ├── BOM.xlsx ├── Assembly_Drawing.pdf └── README.txt

其中README.txt至关重要,内容至少包括:

项目名称:XXX控制器 版本号:REV 1.2 层数:4层板 板材:FR-4, 1.6mm 表面处理:沉金(ENIG) 特殊工艺:20Ω单端阻抗控制 备注:无需测试点输出

写在最后:从“能做出”到“一次做对”

掌握Gerber文件的输出,不只是学会几个菜单操作,更是建立起设计与制造之间的桥梁意识

每一个参数背后,都有其工程逻辑:
- 为什么用2:5?
- 为什么要负片?
- 为什么不能镜像?

当你理解了这些“为什么”,你就不再是被动执行流程的人,而是能够主动优化设计、预防风险的合格硬件工程师。

随着智能制造的发展,EDA与MES系统的对接越来越紧密。未来的趋势是自动化输出 + 数字孪生验证。而现在,正是打好基础的时候。

下次当你准备提交生产文件时,不妨多问一句:

“我确定每一层都对了吗?工厂拿到这份文件,真的能一次做出来吗?”

如果答案是肯定的,那你已经走在了“一次成功”的路上。


💬互动时间:你在导出Gerber时遇到过哪些奇葩问题?欢迎在评论区分享经历,我们一起排雷避坑!

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询