第一次向PCB板厂提交生产文件时,看着密密麻麻的Gerber、钻孔、IPC网表文件,是不是感觉像在解一道没有标准答案的数学题?作为从业十年的硬件工程师,我至今记得第一次投板时因为漏掉*.rou槽孔文件导致产线停机的惨痛教训。本文将用最接地气的方式,带你拆解Allegro 17.4生产文件导出的每个环节,不仅告诉你"怎么操作",更解释清楚"为什么这么做"。
在Allegro中点击导出按钮前,我们需要建立完整的生产文件认知框架。现代PCB制造流程中,板厂CAM工程师主要依赖三类核心文件:
关键认知:Gerber文件本质是矢量图形,不包含网络关系信息。这就是为什么必须配合IPC网表使用——就像建筑图纸必须配合结构计算书。
下表展示了典型6层板需要导出的完整文件清单及其作用:
| 文件类型 | 典型文件名 | 用途说明 | 必需性 |
|---|---|---|---|
| 光绘文件 | TOP.art, GND.art等 | 各层走线图形 | ★★★★★ |
| 钻孔文件 | through.drl | 圆形通孔/盲埋孔定位 | ★★★★★ |
| 槽孔文件 | slot.rou | 椭圆形/方形等非圆孔定位 | ★★★★☆ |
| IPC网表 | netlist.ipc | 网络关系校验 | ★★★★☆ |
| 坐标文件 | BOM_Place.txt | 贴片机元件定位 | ★★★☆☆ |
| 钢网文件 | PasteTop.art | 锡膏印刷模板 | ★★★☆☆ |
在Allegro中导出钻孔文件时,系统会区分两种孔类型:
tcl复制# Allegro钻孔文件生成标准流程
manufacture -> NC -> Drill Customization # 生成钻孔符号
manufacture -> NC -> Drill Legend # 创建钻孔图例
manufacture -> NC -> NC Parameters # 设置输出格式(建议5:5)
manufacture -> NC -> NC Drill # 输出*.drl文件
manufacture -> NC -> NC Route # 输出*.rou文件(当存在槽孔时)
常见问题排查:
(SPMHMF-269): Design contains slot holes警告时,必须执行NC Route血泪教训:某次设计中使用0.3mm孔径却未注意到1.6mm板厚导致5.3:1的厚径比,结果钻孔断刀率高达20%。建议在Drill Legend生成后立即检查此项。
在Artwork Control中,这几个参数直接影响板厂CAM处理:
tcl复制# 推荐的光绘参数设置
General Parameters:
Format = 5:5 # 与钻孔文件保持一致
Output Units = Millimeters # 国内板厂通用单位
Error Action = Abort # 严格模式避免错误输出
Film Control:
Undefined Line Width = 0.1 # 避免未定义线宽导致的图形异常
致命陷阱:当使用负片(Negative)设计电源层时,必须确认Plot Mode设置一致,否则会出现反相问题。曾经有工程师因此导致整批板卡电源层短路。
以下是一个6层板的完整Film配置模板(使用EDA365 Skill可一键生成):
| Film名称 | 包含Subclass | 关键说明 |
|---|---|---|
| TOP | ETCH/TOP, PIN/TOP | 顶层走线 |
| GND02 | ETCH/Inner02 | 第二层(地) |
| SIG03 | ETCH/Inner03 | 第三层(信号) |
| PWR04 | ETCH/Inner04 | 第四层(电源) |
| BOTTOM | ETCH/BOTTOM, PIN/BOTTOM | 底层走线 |
| SolderTop | BOARD GEOMETRY/SOLDERMASK_TOP | 顶层阻焊开窗 |
| PasteTop | PACKAGE GEOMETRY/PASTEMASK_TOP | 顶层钢网开口 |
| SilkTop | BOARD GEOMETRY/SILKSCREEN_TOP | 顶层丝印 |
特殊处理项:
在File > Export > IPC 356界面中,这些选项值得关注:
tcl复制# 典型IPC网表头部示例
IPC-D-356A
1PTH1C1000X1000Y1000D200T1
2SMD2C1500X2000Y-500D300T2
3VIA3C3000X3000Y3000D400T3
收到板厂首件报告后,建议用以下方法验证IPC网表一致性:
案例分享:某四层板因光绘文件生成异常导致GND层出现5mil间隙,通过IPC网表比对及时发现问题,避免了5万元损失。
在Export Placement时务必注意:
csv复制# 坐标文件片段示例
"R12","RESC1005","3.452","-12.786","180","TOP"
"C25","CAPC1608","-5.332","8.941","0","BOTTOM"
推荐按功能分包压缩,每个包包含:
CAM包(给板厂):
SMT包(给贴片厂):
备份包:
文件命名建议采用:项目代号_版本_日期_类型.zip(如MarsRover_V2.1_202405_CAM.zip)
在Allegro中录制script可大幅提升效率:
tcl复制# 示例:自动化导出脚本
axlCmdRegister("gen_art" `gen_artwork)
procedure(gen_artwork()
axlShell("artwork")
axlFormSetField(filmForm "Format" "5:5")
axlFormApply(filmForm)
axlArtworkSelectAll()
axlArtworkCreate()
)
建议建立以下目录结构管理生产文件:
code复制/ProjectX
├── /Release
│ ├── V1.0_20240501
│ │ ├── /CAM
│ │ ├── /SMT
│ │ └── ReleaseNote.txt
├── /Design
│ ├── /Allegro
│ └── /Library
└── /Docs
├── SPEC.pdf
└── BOM.xlsx
最后分享一个实用技巧:在最终打包前,用免费工具如ViewMate进行Gerber可视化检查,这步操作曾帮我拦截过三次设计错误。记住,好的文件交付习惯是硬件工程师最值钱的技能之一——它直接决定你的设计能否从图纸变成实物。