Allegro导出Gerber文件实战指南:从零到一次成功
你有没有遇到过这种情况?
PCB设计画了三周,DRC全绿,信心满满地导出Gerber发给板厂——结果三天后收到回复:“顶层阻焊全黑”、“钻孔偏移0.2mm”、“丝印压焊盘被拒单”。
不是设计出了问题,而是Allegro导出Gerber这一步踩了坑。
在高速高密度PCB开发中,Cadence Allegro是许多工程师的首选工具。但它的强大也带来了复杂性——尤其是生产文件输出环节。一个小小的极性设置错误,就可能导致整板报废。
本文不讲空话,带你一步步走通Allegro导出Gerber的完整流程,拆解关键配置项,避开99%新手都会掉进去的“坑”,最终实现一次输出、一次成功。
为什么Gerber这么重要?
先说结论:Gerber文件就是PCB工厂的“施工图纸”。
你在Allegro里画的所有走线、铺铜、文字、开窗,最终都要靠一组.gbr文件告诉光绘机:“哪里该曝光,哪里要遮住”。如果这张图不准,做出来的板子自然也不对。
目前行业通用标准是Extended Gerber (RS-274X),它自带Aperture定义(也就是D-code),不需要额外附带.apt文件,兼容性最好。而Allegro原生支持该格式,是我们能高效交付的基础。
📌 提示:别再用老式的RS-274D!那种需要单独提供Aperture Table的格式早已被淘汰,容易出错且难追溯。
核心流程总览:8步走通全流程
我们把整个过程浓缩为八个不可跳过的步骤:
- 准备检查 → 2. 进入Artwork Setup → 3. 设置通用参数 → 4. 配置层映射 → 5. 生成D-code表 → 6. 调整输出选项 → 7. 执行输出 → 8. 验证结果
接下来,我们就按这个顺序,逐个击破。
第一步:输出前必须做的5项准备
很多问题其实早在点击“Create Artwork”之前就已经埋下了。以下是必做清单:
- ✅ DRC无报错(包括间距、短路、未连接等)
- ✅ 板框闭合且位于
Board Geometry/Outline层 - ✅ 删除无用shape或空白区域(避免误输出)
- ✅ 检查丝印层:无重叠文字、不压焊盘、极性正确
- ✅ 确认电源平面已split并完成dynamic shape更新
特别提醒:如果你用了Z-copy或者手动复制的shape,请务必确认它们没有悬空或断裂。否则导出时可能变成“断线”或“孤岛”。
第二步:进入Artwork Setup界面
菜单路径非常固定:
Manufacture → Artwork打开后你会看到主窗口,包含以下几个核心标签页:
- General Parameters
- Film Control
- Aperture Tables
- Options
这些就是我们要动手的地方。
第三步:设置通用参数(General Parameters)
这是决定精度和兼容性的关键一步。
| 参数 | 推荐设置 | 说明 |
|---|---|---|
| Output Device | Gerber RS274X | 必选,工业标准 |
| Unit | Inches | 多数板厂默认使用inch |
| Format | 6:5 | 最关键!6位整数+5位小数,单位mil |
| Modal | No | 输出每个层为独立文件 |
⚠️重点解释 Format = 6:5
很多人设成4:3或5:4,看似够用,实则隐患极大。比如某焊盘中心坐标是1234.56789 mil,若只保留4位小数,实际写入文件的是1234.5678,偏差近0.01mil,在高频板上足以引起阻抗异常。
而6:5格式可精确到0.00001 inch(约0.25μm),完全满足当前主流工艺需求(通常要求±2mil以内)。
第四步:配置层映射(Film Control)
点击Film Control按钮,进入分层管理界面。
创建Film Group
建议新建一个名为FAB_OUTPUT的组,专门用于生产输出,避免与测试或其他用途混淆。
添加各层并映射命名
右键添加新film,然后 Assign Layer 映射物理层到Gerber类型:
| Gerber层名 | 对应Allegro层 | 极性(Polarity) | 说明 |
|---|---|---|---|
| GTL | Top Layer | Positive | 顶层走线 |
| GBL | Bottom Layer | Positive | 底层走线 |
| GTS | Top Soldermask | Negative | 阻焊开窗(负片逻辑) |
| GBS | Bottom Soldermask | Negative | 同上 |
| GTO | Top Silkscreen | Positive | 顶层丝印 |
| GBO | Bottom Silkscreen | Positive | 底层丝印 |
| GP1 | Power_Plane_1 | Negative | 内电层1(通常是负片) |
| GP2 | Ground_Plane_2 | Negative | 内电层2 |
| GM1 | Board Geometry/Outline | Positive | 板外框 |
🔥 关键点:Soldermask 和 Plane 层必须设为 Negative!
因为阻焊层的本质是“不开窗”的区域被覆盖,只有焊盘位置才“清除”出来;同理,内电层常以“挖空”方式表现散热孔和隔离区。
如果你把GTS设成Positive,等于告诉工厂:“整个板子都要开窗”,那当然所有焊盘都被盖住了——这就是开头案例中“阻焊全关”的根本原因。
第五步:生成Aperture Table(D-code表)
点击Aperture Tables标签页,选择:
- Type: Flash / Line/Arc
- 勾选
Auto-generate - 点击
Generate
系统会自动扫描所有焊盘(padstack),生成唯一的D-code编号(如D10、D11…),并在输出时嵌入Gerber文件头部。
💡 小技巧:你可以导出.apt文件作为备份,便于后续比对或审计。
第六步:调整输出选项(Options)
切换到Options标签页,这里有几个极易忽略但极其重要的设置:
| 选项 | 推荐值 | 原因 |
|---|---|---|
| Include Line Width | Yes | 保证细线宽度信息不丢失 |
| Include Text as Graphics | Yes | 防止字体缺失导致乱码 |
| Route Path | 自定义目录(英文无空格) | 如D:/Project/Gerber_V1 |
| Suppress Leading Zeros | Yes | 匹配大多数厂商解析器 |
| Decimal Format | No | 不启用,防止格式冲突 |
📌 特别强调:Include Text as Graphics 必须勾选!
否则丝印文字将以“文本指令”形式存在,一旦工厂端缺少对应字体库,就会显示为空白或方块。
第七步:执行输出(Create Artwork)
一切就绪后,回到主界面,点击:
👉Create Artwork
等待几秒至几分钟(视板子复杂度而定),目标目录下将生成如下文件:
GTL.gbr ← 顶层线路 GBL.gbr ← 底层线路 GTS.gbr ← 顶层阻焊 GBS.gbr ← 底层阻焊 GTO.gbr ← 顶层丝印 GBO.gbr ← 底层丝印 GP1.gbr ← 内电层1 GM1.gbr ← 板框 NCDRILL.drl ← 钻孔文件 DRILL.REP ← 钻孔图表⚠️ 注意:钻孔文件需另行通过
Manufacture → NC -> NC Parameters设置输出,不在Artwork中自动生成。
第八步:验证输出结果(千万别省略!)
永远不要假设“应该没问题”。一定要亲自验证。
推荐使用免费工具:
-GC-Prevue(轻量级,启动快)
-CAM350(专业级,功能强)
打开后逐层检查以下内容:
| 检查项 | 正确表现 |
|---|---|
| GTL vs GTS | 焊盘区域应在GTS中有“开窗” |
| GTO是否压线 | 丝印不应覆盖金手指或测试点 |
| GP1是否为负片 | 整体为暗色,仅via周围有“花焊盘”亮环 |
| 是否有多余图形 | 查看板外是否有残留shape |
| 钻孔与外形对齐 | .drl孔位与板框匹配 |
发现异常立即回溯修改,切勿强行送厂。
常见问题速查表(避坑指南)
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| 阻焊不开窗 | GTS极性设为Positive | 改为Negative重新输出 |
| 丝印消失 | 未勾选”Text as Graphics” | 修改Options后重出 |
| 内电层全黑 | 未Assign到GPx或极性错 | 检查Film Control映射 |
| 文件打不开 | 路径含中文或空格 | 改用纯英文路径 |
| 坐标偏移 | 单位或Format不一致 | 统一为Inch + 6:5 |
| 缺少板框 | 未添加Board Geometry层 | 在Film Control中加入GM1 |
高阶技巧:提升效率与一致性
技巧1:保存企业级模板(.artp文件)
完成一次正确配置后,点击File → Save As,保存为.artp文件,例如:
Company_Standard_Fabrication.artp以后新项目直接加载此模板,避免重复劳动,确保团队输出统一。
技巧2:启用View Plot预览
在Create Artwork前,先点View Plot按钮,实时查看拟输出图像。
虽然不能替代外部查看器,但至少能快速发现缺层、反向等问题。
技巧3:Tcl脚本自动化(适合批量处理)
对于频繁打样或CI/CD流程,可通过命令行调用Allegro执行输出:
# allegro.tcl 示例 set output_dir "D:/Output/Gerber_${DATE}" create_artwork -output $output_dir -config "./templates/fab.artp"结合批处理脚本,实现无人值守输出。
最佳实践总结
- 建立公司标准.artp模板,纳入设计规范;
- 每次输出前运行DRC + 手动目检;
- 优先输出关键几层进行试验,确认无误后再全量输出;
- 与PCB厂提前沟通格式要求(有些厂仍要求.mm单位);
- 拼板时添加Fiducial Mark和V-Cut线,并包含在Gerber中;
- 禁止使用中文路径、空格、特殊字符;
- 定期维护Padstack库,防止D-code异常。
写在最后
Allegro导出Gerber文件,表面看只是“点几个按钮”,实则涉及精度控制、极性逻辑、层间协同等多个维度。一个小疏忽,可能带来数千元的打样损失和两周的时间延误。
真正优秀的硬件工程师,不仅会画板子,更懂得如何让设计完美落地。
掌握这套标准化流程,不仅能让你告别“反复改Gerber”的尴尬,更能赢得PCB厂的信任,加快打样周期。
下次当你按下“Create Artwork”时,希望你能底气十足地说一句:
“这次,肯定没问题。”
如果你在实际操作中遇到了其他挑战,欢迎在评论区分享讨论。