宜昌市网站建设_网站建设公司_会员系统_seo优化
2025/12/28 8:31:38 网站建设 项目流程

从设计到制造:手把手教你用 Altium Designer 正确导出 Gerber 文件

你有没有遇到过这样的情况?辛辛苦苦画完PCB,信心满满地把文件发给板厂,结果收到回复:“丝印反了”、“缺钻孔图”、“单位不对导致缩放”……一顿排查才发现,问题出在Gerber 输出设置上。明明只差最后一步,却因为一个勾选项搞砸了整个打样周期。

别担心,这几乎是每个硬件工程师都踩过的坑。而解决它的关键,就是真正理解——如何正确、规范地从 Altium Designer(AD)中导出 Gerber 文件

今天我们就抛开晦涩术语和模板化流程,像老工程师带徒弟一样,一步步讲清楚这个“看似简单实则暗藏玄机”的核心操作。不靠截图也能懂,重点全在逻辑里。


为什么是 Gerber?它到底是什么?

先说个事实:你的 PCB 工厂根本看不懂.PcbDoc文件。他们需要的是能直接驱动光绘机、钻孔机的“机器语言”。这就是 Gerber 的作用——它是连接你电脑里的设计与现实世界电路板之间的“翻译官”。

它不是图片,而是一套指令集

很多人误以为 Gerber 是一张张“图片”,其实不然。它是一种基于文本的矢量描述格式(标准为RS-274X),记录的是:

  • 每条走线从哪到哪
  • 焊盘多大、什么形状
  • 阻焊层哪里要开窗
  • 丝印文字怎么摆放

这些信息被分解成坐标 + 光圈(D-code)的组合命令,就像 CNC 加工路径一样精确。例如这段代码:

%ADD10C,0.3*% → 定义一个直径0.3mm的圆形光圈 D10* → 调用这个光圈 X100000Y80000D02* → 移动到(100,80)位置(准备画) X105000Y80000D01* → 画一条线到(105,80)

看到没?这不是图像渲染,而是“动作序列”。所以哪怕输出时少了一个层,或者极性弄反了,做出来的板子就可能完全无法使用。


AD 中导出 Gerber 的本质:一场精准的数据打包

你在 AD 里点几下鼠标生成的.gbr文件,并不是“自动完成”的魔法,而是一个高度可配置的数据转换过程。我们必须主动告诉软件:

  1. 哪些层需要输出?
  2. 数据精度要多高?
  3. 单位是毫米还是英寸?
  4. 是否包含钻孔符号表?
  5. 层的极性是否正确(尤其是电源层)?

如果这些问题没处理好,再完美的布局布线也白搭。


实战全流程详解:9步到位,零差错输出

下面我以实际工作流的方式,带你走完一次完整的 Gerber 导出全过程。每一步都附带“为什么这么做”的解释,而不是机械地复制菜单路径。

第一步:输出前必做 —— DRC 和设计冻结

别急着点“导出”,先问自己三个问题:

  • 所有网络都连通了吗?
  • 器件之间有没有间距违规?
  • 板框是不是闭合的?

打开Tools → Design Rule Check,运行完整检查。任何红色标记都必须解决。这是底线。

✅ 小贴士:建议启用“Report All Clearances”选项,确保不会漏掉微小短路风险。

同时确认当前版本是你打算投产的最终版。一旦开始输出,就不要再修改原理图或PCB。


第二步:进入制造输出界面

菜单路径如下:

File → Fabrication Output → Gerber Files

注意!这里不要用“Quick Reports”或其他快捷方式,我们要的是完整可控的输出配置。

弹出的对话框有多个选项卡,我们逐个击破。


第三步:General 设置 —— 决定数据“长相”的基础参数

这三个设置直接影响工厂能否正确读取你的文件:

参数推荐值说明
UnitsMillimeters国内主流厂家偏好公制,避免单位混淆
Format2:5两位整数+五位小数,兼顾精度与兼容性
Zero SuppressionTrailing zeros去除末尾无意义的0,提升可读性

⚠️ 特别提醒:如果你选了2:4格式但工厂默认2:5,可能导致坐标偏移0.1mm以上!尤其对BGA类器件是致命问题。


第四步:Layers 映射 —— 哪些层该输出?

这才是最关键的一步。常见的输出层包括:

  • ✅ Top Layer / Bottom Layer(信号层)
  • ✅ Top Solder Mask / Bottom Solder Mask(阻焊层)
  • ✅ Top Silkscreen / Bottom Silkscreen(丝印层)
  • ✅ Mechanical 1(板框轮廓)
  • ✅ Keep-Out Layer(禁止布线区,辅助定位)

🔔 注意事项:
- 如果你用了内电层(Power Plane),它们通常是负片(Negative)输出,即用“挖空”来表示连线。
- 在 Advanced 选项中务必确认“Layer Polarity”设为 Negative,否则会变成全铜皮!

对于普通双面板,一般不需要输出 Testpoint 或 Internal Plane 的正片形式。


第五步:Apertures 光圈设置 —— 默认即可

选择Embedded apertures (RS274X),这意味着所有光圈定义都会嵌入到每个 Gerber 文件内部,无需额外提供.apt文件。

这是现代标准做法,几乎所有厂商都支持。除非对方明确要求外置光圈文件,否则绝不更改此项。


第六步:Advanced 高级选项 —— 避坑关键区

这里有三个容易出错但又常被忽略的设置:

选项推荐设置含义
Mirror layers❌ 不勾选防止丝印镜像翻转(常见错误来源)
Include unconnected mid-layer pads视需求多层板盲埋孔设计时启用
Plot layer labels✅ 可勾选每个文件顶部标注层名,方便识别

📌 经验之谈:曾有个项目因误勾“Mirror layers”,导致所有丝印文字反向印刷。板子回来后只能靠贴标签补救,成本翻倍。


第七步:Drill Drawing —— 让工厂知道“孔在哪”

虽然钻孔数据主要由 NC Drill 文件提供,但很多厂家仍希望在 Gerber 中看到钻孔图示(Drill Drawing),用于视觉核对。

勾选Generate drill drawings,并选择参考层(如 Mechanical 1),系统会自动生成带钻孔符号表的图纸。

💡 提示:你可以提前在机械层画好基准点或对齐标记,帮助工厂快速定位。


第八步:点击 OK,生成文件

确定所有设置无误后,点击 OK。AD 会提示你选择输出目录。

完成后你会看到类似以下文件:

Gerber_Output/ ├── TopLayer.gbr ├── BottomLayer.gbr ├── TopSolderMask.gbr ├── BottomSolderMask.gbr ├── TopSilkScreen.gbr ├── BottomSilkScreen.gbr ├── Mech1.gbr ├── DrillDrawing.gbr ├── NC Drill.txt └── GerberJob.rp

其中.rp是报告文件,记录了每一层的输出状态,建议保留归档。


第九步:必须验证!用 Gerber Viewer 自查一遍

永远不要相信“我以为是对的”。一定要亲自加载查看。

推荐工具:

  • GC-Prevue(免费,Windows,轻量高效)
  • ViewMate by Pentalogix(功能强,适合复杂板)
  • 在线工具: https://www.pcbonline.com/gerber-viewer.htm

加载所有层后,重点检查:

检查项问题表现如何发现
缺失层某一层完全空白查看文件列表是否齐全
丝印反向文字镜像显示对比原始PCB视图
阻焊开窗过大焊盘周围绿油太多或太少放大观察Solder Mask层
板框断裂边缘不闭合使用Viewer的轮廓检测功能
极性错误电源层显示为实心而非镂空负片应呈现“挖洞”效果

发现问题?回去改设置,重新输出,再验证。直到万无一失。


常见问题与“救命”方案

❌ 问题1:丝印全部反了!

原因:不小心勾选了 “Mirror layers”。

修复方法:回到 Advanced 选项卡,取消勾选,重新输出对应层。

✅ 预防措施:创建团队统一模板,锁定该选项。


❌ 问题2:工厂说没有钻孔信息

真相:你只导出了 Gerber,忘了 NC Drill 文件!

补救步骤
1. 菜单 →File → Fabrication Output → NC Drill Files
2. 设置单位与格式一致(同样是 mm + 2:5)
3. 输出.drl文件并一同打包发送

⚠️ 注意:有些工厂要求 Excellon 1 或 2 格式,可在设置中切换。


❌ 问题3:Gerber 打开是空白一片

可能原因
- 没有勾选要输出的层
- 当前PCB文档中该层根本没有图形
- 机械层编号错误(比如你想输出 Mech1,却勾了 Mech2)

排查思路
1. 回到 Layers 选项卡,确认勾选正确
2. 切换回PCB编辑器,按L键打开 View Configurations,检查目标层是否有内容
3. 确保板框是在你指定的那个机械层上绘制的


❌ 问题4:坐标错乱,整体缩小10倍

典型症状:BGA 引脚全部挤在一起。

根源:单位或格式不匹配!
比如你输出的是2:4,但工厂按2:5解析,相当于小数点多算一位。

解决方案
1. 在压缩包中加入一个README.txt文件,写明:
All Gerber files are in MILLIMETERS. Format: 2:5 (leading zeros suppressed). No scaling required.
2. 提前与板厂沟通确认其接受格式


进阶技巧:让输出不再重复劳动

当你频繁打样或多版本迭代时,手动设置太耗时间。以下是两种提效方式:

方法一:使用 OutJob 模板实现一键输出

Altium 的Output Job File.OutJob)可以保存完整的输出配置,包括:

  • Gerber 设置
  • NC Drill 输出
  • 装配图(Assembly Drawings)
  • 坐标文件(Pick and Place)
  • BOM 表格

创建一次后,以后只需双击运行,即可批量生成全套生产资料。

🧩 团队协作建议:将.OutJob文件纳入 Git 管理,确保所有人使用相同输出标准。


方法二:脚本自动化(适用于企业级流程)

对于大型项目或 CI/CD 流程,可用 Delphi Script 实现无人值守输出:

procedure ExportGerberFiles; var FDO: TFabricationDocumentationOutput; begin if PCBSystemOptions = nil then Exit; FDO := TFabricationDocumentationOutput.Create; try FDO.OutputDirectory := 'Outputs/Gerber'; FDO.GerberSettings.Unit := gerUnitsMillimeters; FDO.GerberSettings.Format := fmt2_5; FDO.GerberSettings.ZeroMode := zmodTrailingZeros; // 添加必要层 FDO.GerberSettings.AddLayerToFile(pcblayerTopLayer); FDO.GerberSettings.AddLayerToFile(pcblayerBottomLayer); FDO.GerberSettings.AddLayerToFile(pcblayerTopSolderMask); FDO.GerberSettings.AddLayerToFile(pcblayerBottomSolderMask); FDO.GerberSettings.AddLayerToFile(pcblayerTopSilkScreen); FDO.GerberSettings.AddLayerToFile(MechanicalLayer(1)); FDO.GenerateDocumentation; ShowMessage('✅ Gerber 文件已生成!'); finally FDO.Free; end; end;

这类脚本可集成进构建系统,实现“提交代码 → 自动生成制板文件”的闭环。


最后的忠告:别让细节毁掉努力

Gerber 输出虽只是设计流程的最后一环,但它决定了你前面几十小时的心血能否顺利落地。

记住这几个原则:

  1. 命名清晰:用TOP_CU.gbrBOT_SMD.gbr这类名字,比GERBER1.GBR强十倍。
  2. 打包完整:除了 Gerber,一定要包含钻孔、坐标、BOM、叠层说明。
  3. 沟通前置:不同板厂有不同的偏好,提前问清楚再动手输出。
  4. 自我验证:不看 Gerber Viewer 就发文件 = 开车不系安全带。
  5. 建立模板:一次标准化,终身受益。

当你下次按下“Generate”按钮时,希望你能感到踏实而不是忐忑。因为你知道,每一个参数背后都有它的意义,每一次输出都是对工艺的尊重。

而这,正是优秀硬件工程师的底气所在。

如果你在实际操作中遇到了其他奇怪问题,欢迎留言交流,我们一起拆解解决。

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

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

立即咨询