Allegro导出Gerber文件全攻略:从零开始,避坑实战指南
你是不是也经历过这样的时刻?
辛辛苦苦画完PCB,满心欢喜准备发厂打样,结果一导出Gerber,加工厂回信:“阻焊不对”、“钻孔缺NPTH文件”、“丝印压焊盘”,甚至整板电源层看起来像“蜘蛛网”。
别急——这几乎每个用Allegro的新手都踩过坑。而问题的根源,往往不是设计错了,而是Gerber输出设置没搞明白。
今天我们就来彻底讲清楚:如何用Cadence Allegro正确导出一套工厂能直接生产的Gerber和钻孔文件。不讲虚的,只说实战中必须掌握的核心逻辑、关键步骤和那些“手册里不会写但师傅一定会告诉你”的经验技巧。
为什么你的Gerber总是被退回来?
在深入操作前,先搞懂一个本质问题:Gerber到底是什么?
简单来说,Gerber是一种“光绘机语言”——它告诉PCB厂的曝光设备:“在这块板子的这个位置,该亮还是该暗”。每一层铜、每一条走线、每一个焊盘开窗,都是靠这些黑白图形一步步“晒”出来的。
而Allegro作为高端设计工具,并不会自动帮你做好这一切。你需要手动配置:
- 哪些层要输出?
- 每一层包含什么内容(比如只出铜?要不要丝印?)
- 单位精度是多少?
- 钻孔怎么分刀具、怎么标注?
稍有疏漏,轻则返工延误进度,重则整批报废。所以,导出Gerber不是点几下按钮的事,而是一次对设计完整性的最终检验。
第一步:把基础格式设对,否则后面全白忙
打开Allegro后,别急着点“导出”,先确认最底层的光绘格式是否合规。路径如下:
Manufacture > Artwork
进入Artwork Setup界面后,第一件事就是设置全局参数(Global Parameters):
| 参数项 | 推荐值 | 说明 |
|---|---|---|
| Device Type | Gerber RS274X | 必选!这是目前唯一推荐的标准,支持内嵌D码,无需额外.aperture文件 |
| Unit | Millimeters 或 Inches | 根据项目统一选择,建议毫米制(metric),国内厂家普遍接受更好 |
| Format | 4.3 | 整数4位,小数3位,对应0.001mm精度,满足99%工艺需求 |
| Aperture Shape Filtering | Disabled | 关闭过滤,避免某些异形焊盘丢失 |
⚠️特别注意:
如果你看到有人还在用RS-274D(需要外挂D码表),赶紧劝住。这种老格式极易因文件缺失或匹配错误导致焊盘变形,现代工厂基本都不接收了。
✅一句话总结:
RS-274X + mm单位 + 4.3格式 = 安全输出铁三角
第二步:Film Control——决定每一层“画什么”的核心开关
很多人以为“Top Layer”导出来就是顶层铜皮,其实不然。真正决定输出内容的是Film Control。
路径:
Manufacture > Artwork > Film Control
在这里你要为每一层创建独立的“film”(底片),并指定它包含哪些对象类型。
典型图层映射建议(按IPC命名规范)
| 输出文件名 | 对应物理层 | 包含内容建议 |
|---|---|---|
GTL.gbr | Top Layer | Etch, Shapes, Pins, Vias |
GTS.gbr | Top Soldermask | Soldermask_Via, Soldermask_Pad (Top) |
GTO.gbr | Top Silkscreen | RefDes, Text, Board Outline |
GP1.gbr | Internal Plane 1 | Power/GND Plane(需设为Negative模式) |
GBL.gbr | Bottom Layer | 同上,底层铜 |
GBS.gbr | Bottom Soldermask | 底层阻焊 |
GBO.gbr | Bottom Overlay | 底层丝印 |
🔧关键操作细节:
- 添加新film时,点击“Add”,输入名称如GTL
- 在“Drawing Layers”中绑定对应的Allegro层(如TOP)
- 在“Layers Shown in View”中勾选实际要输出的对象类别
-特别注意:丝印层务必关闭“Pins”和“Vias”,否则会把所有引脚标出来,乱成一团!
负片层怎么处理?别再傻傻全铺铜了!
多层板中最容易出错的就是电源/地平面(Power Plane)。这类层通常采用负片设计——即整个平面默认是铜,只在需要断开的地方“挖洞”(Clearance)。
但在导出Gerber时,很多新手发现:内电层导出来居然是空的!
别慌,这是正常的。
因为负片的本质是“反向绘制”:Gerber文件里只记录“非导通区域”,比如过孔周围的隔离环(Thermal Relief)、不同网络之间的分割线等。背景并不画任何东西,默认全是铜。
📌正确做法:
1. 在Film Control中为内电层(如Plane_1)创建film(如GP1)
2. 右键该film → 选择“Negative”模式
3. 确保Layer Pair已正确关联(Setup > Cross-section)
4. 输出后使用CAM软件(如GC-Prevue)打开,切换极性查看,应能看到清晰的网络分割与热风焊盘
🎯验证要点:
- 是否存在“孤岛”(孤立铜区)?
- Thermal Pad是否完整连接?
- 不同电压域之间是否有足够间距?
如果这些问题没解决,蚀刻时可能短路或断路,后果严重。
钻孔文件怎么出?PTH和NPTH必须分开!
钻孔数据分为两类:
-Drill Drawing:供人工检查用的可视化钻孔图(Gerber格式)
-NC Drill Files:机床执行的数控指令文件(Excellon格式,.drl)
路径:
Manufacture > NC > NC Parameters
关键参数设置
| 参数 | 推荐值 | 说明 |
|---|---|---|
| Units | Same as design | 保持一致,避免缩放 |
| Format | 2.4 或 3.3 | 控制数值精度,2.4表示两位整数+四位小数(inch) |
| Zero Suppression | Leading | 去除前导零,防止读取异常 |
| Tool Format | Fixed | 固定格式更稳定 |
| ✅Generate Symbol for Each Drill Size | 勾选 | 图形化标记不同孔径,方便核对 |
| ✅Generate Report File | 勾选 | 自动生成drill report,包含总孔数、刀具统计、公差信息 |
💡重要提醒:
很多工厂要求将PTH(镀通孔)和 NPTH(非镀通孔)分别输出两套钻孔文件。例如:
-plated.drl
-non_plated.drl
你可以在Padstack Editor中区分这两类过孔,在NC Drill设置中通过“Subtract Non-Plated Holes”功能实现分离输出。
下面是典型的Excellon头部信息示例:
M48 ; DRILL FILE FOR PCB LAYOUT ; DESIGN: POWER_BOARD_V1.0 ; UNITS=MM, FORMAT=2:4, ZERO_SUPPRESSION=LEADING INCH,TZ FMAT,2 METRIC,24 T01C0.30 T02C0.50 T03C1.00 %这段代码定义了单位、格式、刀具列表。Allegro会自动根据Padstack生成,一般无需手动修改,除非客户有特殊模板要求。
导出后的必做三件事:验证、打包、留档
文件导出来了,不代表万事大吉。以下三步才是确保一次成功的保障。
1. 用CAM工具全面检查
推荐使用免费工具GC-Prevue或ViewMate打开所有文件,逐一核对:
- 图层顺序是否正确?
- 文字方向是否镜像?(特别是Bottom层丝印)
- 阻焊开窗是否合理?有没有覆盖不该盖的地方?
- 钻孔图与实物布局是否一致?
- 负片层反转极性后能否看清网络分割?
👉 小技巧:把Gerber和原PCB截图叠加对比,一眼看出差异。
2. 规范打包交付
不要随便扔一堆文件给工厂。标准做法是压缩成ZIP包,结构清晰:
ProjectName_Gerbers_20250405.zip ├── GTL.gbr // Top Copper ├── GBL.gbr // Bottom Copper ├── GTS.gbr // Top Solder Mask ├── GBS.gbr // Bottom Solder Mask ├── GTO.gbr // Top Silkscreen ├── GBO.gbr // Bottom Silkscreen ├── GP1.gbr // Internal Plane 1 ├── GP2.gbr // Internal Plane 2 ├── plated.drl // PTH Drill ├── non_plated.drl // NPTH Drill ├── drill_report.txt ├── README.txt // 特殊说明,如阻抗控制、沉金工艺 └── stackup.pdf // 叠层结构图📌 文件命名尽量统一,避免top.gbr、bottom_cu.gbr这种模糊叫法。
3. 提交前最后 checklist
做一个简单的Excel清单,每次输出前打钩确认:
| 项目 | 是否完成 |
|---|---|
| ✅ DRC无报错 | ☐ |
| ✅ 所有RefDes可见且不重叠 | ☐ |
| ✅ 测试层/调试标记已关闭 | ☐ |
| ✅ 单位与格式设置正确 | ☐ |
| ✅ 负片层已设为Negative模式 | ☐ |
| ✅ PTH/NPTH钻孔已分离 | ☐ |
| ✅ 阻焊Expansion值合理 | ☐ |
| ✅ 使用CAM工具验证过 | ☐ |
坚持这样做,三个月后你会发现:再也不怕工程对接了。
新手常踩的三大坑,你中了几个?
❌ 坑一:丝印压焊盘,焊接时连锡
现象:贴片时焊膏被丝印文字顶起,造成虚焊或短路。
✅ 解决方案:
- 在Constraint Manager中设置Silk to Smd Clearance ≥ 0.15mm
- 运行“Reports > Silk Screen Report”检查冲突
- 手动调整重叠的位号位置,优先保证焊盘周围干净
❌ 坑二:阻焊开窗太大或太小
原因:Solder Mask Expansion值设得不对。
🔧 正确做法:
- 进入Film Control,编辑GTS/GSB film
- 设置Expansion值(常见0~4mil),正数为扩大,负数为缩小
- 推荐让PCB厂提供参考值,不同工艺差异大
❌ 坑三:Bottom层丝印镜像了,看不懂
原因:误开启了“Mirror”选项。
✅ 正确做法:
- Bottom Overlay输出时,不要勾选Mirror
- 若必须镜像(如用于激光雕刻),需明确标注
写在最后:建立自己的输出模板
当你熟练之后,强烈建议保存一套Artwork Template(.art文件),包含:
- 已配置好的Film列表
- 标准命名规则
- 常用参数设置
下次新建项目时直接导入,省时又防错。
更重要的是,每一次打样回来,无论成功与否,都要复盘Gerber相关问题,持续优化你的输出流程。久而久之,你就不再是“会画板的人”,而是“能让板子顺利生产的人”——这才是真正的PCB工程师。
🔍关键词回顾:allegro导出gerber文件、Gerber文件、RS-274X、Artwork Setup、Film Control、Drill Drawing、NC Parameters、Excellon、负片层、阻焊层、丝印层、钻孔文件、CAM验证、PCB生产、光绘文件、DRC检查、Layer Stack-up
如果你觉得这篇文章帮你避开了至少一次返工,请转发给那个正在熬夜改Gerber的同学。毕竟,我们都不想白白浪费时间和金钱。