news 2026/10/6 6:57:02

Allegro导出Gerber全流程:从Film配置到钻孔文件与打包自检

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Allegro导出Gerber全流程:从Film配置到钻孔文件与打包自检

PCB打样回来发现丝印糊成一团、钻孔对不上位、阻焊开窗偏了半个焊盘——这类问题十有八九不是板厂工艺差,而是Gerber导出环节埋了雷。我做了十多年硬件,用Cadence Allegro出过上千套Gerber包,早期也交过不少"学费":有一次四层板漏导了内电层,板厂直接按两层板做,回来整批报废。Allegro这套工具功能强、参数细,但导出Gerber的入口藏得深、选项多,新手很容易在某个勾选框上翻车。这篇就把Allegro导出Gerber的完整链路拆开讲清楚,从Film设置、钻孔文件生成到打包自检,每一步为什么这么做、哪里最容易出错,都给你说明白。不管你是刚上手Allegro的学生,还是从其他EDA工具转过来的工程师,照着走一遍就能出一套板厂直接能用的生产文件。

1. Allegro导出Gerber前必须搞清楚的几个概念

很多人一上来就找"导出"按钮,结果在菜单里绕半天。Allegro的逻辑和其他EDA工具不太一样,它导出Gerber的核心不是"导出",而是先"定义Film(底片)"。理解这一点,后面所有操作都顺了。

1.1 Gerber到底是什么,板厂拿它做什么

Gerber文件本质上是把PCB每一层用矢量图形描述出来的标准格式,板厂拿到它之后,用CAM软件解析、拼版、做光绘,最终生产出实物板。一套完整的Gerber包通常包含这些层:

  • 顶层/底层线路层(Top/Bottom):铜箔走线和焊盘
  • 顶层/底层阻焊层(Solder Mask):开窗位置,决定哪里露铜
  • 顶层/底层钢网层(Paste Mask):贴片焊盘的开锡膏区域
  • 丝印层(Silkscreen):器件位号、极性标识、版本信息
  • 钻孔文件(NC Drill):所有过孔、插件孔的坐标和孔径
  • 钻孔图(Drill Drawing):钻孔的图例说明,部分板厂要求
  • 板框/外形层(Outline):板子的物理边界

板厂真正用来生产的是线路层、阻焊层、钻孔文件和板框,丝印和钢网是辅助。少任何一层,板厂要么做不出来,要么做出来是错的。我见过有人只导了线路层就发给板厂,结果对方打电话来问"阻焊呢",白白耽误两天工期。

1.2 为什么Allegro要先做Film再导出

Allegro的Film概念,你可以理解成"给每一层拍一张照片"。它把当前设计里所有可见的图形元素,按照你设定的层叠和颜色,固化成一个独立的底片文件。导出Gerber时,Allegro其实是把每一张Film分别输出成对应的Gerber文件。

这样做的好处是灵活:你可以精确控制每一层包含哪些元素。比如丝印层,你可以选择只放位号不放焊盘,也可以把装配信息一起放进去。坏处是配置项多,第一次配容易漏。所以我的习惯是:先建一套标准的Film模板,以后每个项目直接套用,省得每次重新配。

提示:Film的名字建议用板厂能识别的标准命名,比如TOP、BOTTOM、SOLDERTOP、SOLDERBOTTOM、SILKTOP、SILKBOTTOM,避免用中文或特殊符号,否则打包后板厂CAM工程师可能识别困难。

1.3 导出前设计本身要满足的前提条件

Gerber导出只是"翻译",如果设计本身有问题,翻译出来也是错的。导出前我一般会确认这几件事:

  • DRC已经全部通过:线宽、间距、孔径都符合工艺能力,否则板厂可能直接拒单
  • 板框是闭合的:用Outline层画一个完整闭合的矩形或异形框,不能有断点
  • 原点已设置好:通常把板子左下角设为原点,方便钻孔坐标对齐
  • 叠层结构已定义:四层板以上必须在Cross Section里配好层叠,否则内电层导不出来
  • 器件位号已更新:丝印上的位号要和原理图一致,避免装配时对不上

这几条里,板框闭合和叠层定义是最容易出问题的。板框有断点,导出的外形层就是断的,板厂铣板时会出问题;叠层没配,内电层在Film里根本显示不出来,自然也就导不出去。

2. 一步步配置Film:从新建到参数确认

Film配置是Allegro导出Gerber的核心环节,也是最容易出错的地方。我按实际操作顺序拆成几步,每一步都说明为什么这么设。

2.1 打开Film管理界面并新建底片

在Allegro里,路径是Manufacture → Artwork,打开Artwork Control Form窗口。这个窗口分两大块:上面是Film Control(底片控制),下面是General Parameters(通用参数)。

新建Film的步骤:

  1. 在Film Control区域,点"New"按钮
  2. 输入Film名称,比如"TOP"
  3. 在"Available films"列表里选中刚建的Film
  4. 点"Add"把它加入当前配置

这里有个细节:Film名称区分大小写,而且不能有空格。我一般用全大写加下划线,比如"SOLDER_TOP",清晰又好认。

2.2 每一层Film里该放哪些元素

这是最关键的一步。Allegro默认会把当前可见的所有层都塞进Film,但实际生产不需要那么多。以顶层线路Film为例,我通常只保留:

  • PIN:焊盘
  • VIA:过孔
  • ETCH/TOP:顶层走线
  • OUTLINE:板框(可选,有些板厂要求每层都带板框)

阻焊层Film(SOLDER_TOP)则要放:

  • PIN:焊盘(阻焊开窗依据焊盘)
  • VIA:过孔(如果过孔要盖油就不放,要开窗就放)
  • SOLDERMASK_TOP:阻焊层图形

丝印层Film(SILK_TOP)放:

  • REFDES:位号
  • SILKSCREEN_TOP:丝印图形
  • PACKAGE GEOMETRY/SILKSCREEN_TOP:器件丝印

这里有个经验:过孔盖油还是开窗,直接决定阻焊层里放不放VIA。如果过孔要盖油(大多数情况),阻焊层里就不要放VIA,否则板厂会把过孔开窗,回来一看过孔周围一圈露铜,很难看还可能短路。如果过孔要做测试点,那就放进去。

2.3 底片参数:格式、单位和精度怎么选

在General Parameters区域,有几个参数必须确认:

参数推荐值说明
FormatGerber RS274X嵌入式格式,板厂通用
Output unitsInches 或 Millimeters和设计单位一致,别混用
Integer places3整数位
Decimal places5小数位,精度足够
Output options勾选"Use Apertures"使用光圈表

Format一定要选RS274X,这是嵌入式格式,光圈信息直接写在文件里,板厂不用额外要光圈表。老式的RS274D需要单独提供Aperture文件,现在基本淘汰了,但有些老工程师还在用,容易出问题。

精度方面,3整数位+5小数位是行业通用配置,对应0.00001英寸的分辨率,足够精细。如果选2+4,精度不够,细线路可能失真。

2.4 底片生成前的自检清单

点"Create Artwork"之前,我习惯做这几项检查:

  • 每个Film的层叠是否正确(在Film里点右键可以预览)
  • 有没有多余的层被误加进去
  • 板框是否在每一层都可见(如果板厂要求)
  • 钻孔符号是否已更新(Tools → Reports里可以查)

预览这一步别省。我有一次就是没预览,结果丝印层里混进了顶层走线,导出来丝印上全是线,板厂打电话来确认了半天。

3. 钻孔文件的生成:NC Drill和Drill Drawing的区别

钻孔文件是Gerber包里最容易漏、也最容易出错的部分。Allegro里钻孔相关有两个东西:NC Drill(数控钻孔文件)和Drill Drawing(钻孔图),很多人分不清。

3.1 NC Drill文件:板厂真正用来钻孔的文件

NC Drill是板厂数控钻床直接读取的文件,包含每个孔的坐标、孔径、镀铜与否。生成路径是Manufacture → NC → NC Drill。

关键参数:

  • Format:和Gerber保持一致,RS274X
  • Units:和设计单位一致
  • Leading/Trailing zero suppression:一般选"Leading"
  • Output file:默认是nc.drl,可以改名

生成后,Allegro会弹出一个报告,显示每种孔径的孔数。这个报告一定要看,如果孔数和设计不符,说明有孔没被识别。常见原因是过孔没定义钻孔属性,或者焊盘没关联钻孔。

3.2 Drill Drawing:钻孔图,部分板厂要求

Drill Drawing是把钻孔位置和孔径用图形方式画出来,方便人工核对。路径是Manufacture → NC → Drill Legend,生成一个钻孔图例,然后像普通层一样放进Film里导出。

不是所有板厂都要Drill Drawing,但建议一起提供,尤其是孔多、孔径种类多的板子。板厂CAM工程师核对时有个图例会快很多,也能减少沟通成本。

3.3 钻孔文件最常见的三个错误

我踩过的钻孔坑,基本集中在这三个:

错误一:孔数对不上。原因是有些过孔用了自定义焊盘,但焊盘里没定义钻孔。解决方法是检查Padstack,确认每个过孔焊盘都有Drill属性。

错误二:孔径单位错了。设计用毫米,导出选了英寸,结果孔径全错。这个错误很隐蔽,因为文件能生成,但板厂一看孔径就知道不对。导出前确认Units和设计一致。

错误三:槽孔没导出来。Allegro里槽孔(Slot)需要单独处理,普通NC Drill可能不包含。如果板子有槽孔,要在NC Drill里勾选"Include Slot Holes",或者单独生成槽孔文件。

注意:钻孔文件生成后,建议用CAM工具(如CAM350或免费的Gerber查看器)打开核对一遍,确认孔径、孔位和设计一致。这一步花五分钟,能省掉后面几天的返工。

4. 导出Gerber并打包:文件命名与自检

Film配好、钻孔生成后,就可以正式导出Gerber了。这一步操作简单,但打包和自检有讲究。

4.1 执行导出与文件输出

在Artwork Control Form里,选中所有Film,点"Create Artwork"。Allegro会在当前设计目录下生成一堆.art文件,每个Film对应一个。

默认输出路径是设计文件所在目录,文件名就是Film名加.art后缀。比如TOP.art、SOLDER_TOP.art。这些.art文件其实就是Gerber文件,只是扩展名不同。

4.2 文件重命名:让板厂一眼看懂

.art扩展名板厂能识别,但为了沟通顺畅,我习惯重命名成板厂通用的命名:

原文件名重命名后对应层
TOP.artGerber_TopLayer.GTL顶层线路
BOTTOM.artGerber_BottomLayer.GBL底层线路
SOLDER_TOP.artGerber_TopSolderMask.GTS顶层阻焊
SOLDER_BOTTOM.artGerber_BottomSolderMask.GBS底层阻焊
SILK_TOP.artGerber_TopSilkscreen.GTL顶层丝印
SILK_BOTTOM.artGerber_BottomSilkscreen.GBL底层丝印
OUTLINE.artGerber_BoardOutline.GKO板框
nc.drlGerber_NC_Drill.DRL钻孔

这套命名是行业通用的,板厂CAM工程师一看扩展名就知道是哪层,不用再问。别用中文名,也别用空格,有些板厂系统对中文路径支持不好。

4.3 打包前的最终自检

打包发给板厂前,我一定会做这几项检查:

  1. 用Gerber查看器打开每一层,确认图形完整、没有缺失
  2. 核对钻孔文件和Gerber的坐标原点是否一致,否则孔位会偏
  3. 检查阻焊开窗是否比焊盘大(一般单边大0.05-0.1mm),太小会导致焊接不良
  4. 确认丝印没有压在焊盘上,否则会影响焊接
  5. 板框层是否闭合,用查看器量一下尺寸和设计是否一致

这几项里,原点一致性最容易被忽略。Gerber和钻孔文件如果原点不同,孔位会整体偏移,板子回来插件孔全对不上。我一般导出前就把原点统一设在板子左下角,导出时不再改。

5. 常见错误排查:从现象反推原因

导出Gerber出的问题,现象五花八门,但根因就那么几类。我按"现象→原因→解决"的方式整理了一份排查表,遇到问题直接对照。

5.1 板厂反馈"缺少某层"或"层是空的"

现象:板厂说阻焊层是空的,或者内电层没收到。

原因:Film里没加对应的层,或者层加进去了但该层没有可见元素。

解决:回到Artwork Control Form,检查对应Film的层叠列表。如果是内电层,确认Cross Section里已定义,并且在Film里加了对应的Plane层。内电层在Allegro里默认可能不显示,需要在Color Dialog里打开。

5.2 钻孔对不上位或孔径错误

现象:板子回来插件孔偏了,或者孔径比设计大/小。

原因:钻孔文件和Gerber原点不一致,或者单位不匹配。

解决:确认导出Gerber和NC Drill时用的是同一个原点、同一个单位。Allegro里原点设置在Setup → Change Drawing Origin,导出前统一设一次。

5.3 丝印糊成一团或压在焊盘上

现象:丝印文字看不清,或者丝印盖住了焊盘导致焊接不良。

原因:丝印层里混进了焊盘或走线,或者丝印本身太细。

解决:检查丝印Film里是否误加了PIN或ETCH层。丝印线宽建议不小于0.15mm,太小板厂印不出来。位号字体高度建议不小于0.8mm。

5.4 阻焊开窗偏小或偏大

现象:焊盘露铜面积不对,或者阻焊盖住了焊盘边缘。

原因:阻焊层Film里焊盘的处理方式不对,或者阻焊开窗规则没设好。

解决:阻焊开窗一般比焊盘单边大0.05-0.1mm,这个在Padstack里可以设,也可以在导出时通过Solder Mask层控制。确认Film里SOLDERMASK层包含了所有需要开窗的焊盘。

5.5 板框不闭合或尺寸不对

现象:板厂说外形层有问题,或者做出来的板子尺寸和设计不符。

原因:板框线有断点,或者板框不在Outline层。

解决:用Outline层画闭合框,检查有没有断点。导出前用查看器量一下板框尺寸,和设计值对比。

6. 提高效率的几个实操技巧

导出Gerber这件事,做一次不难,难的是每个项目都稳定不出错。分享几个我用了多年的提效技巧。

6.1 建立Film模板,一劳永逸

Allegro的Film配置可以导出成模板文件,下次直接导入。路径是在Artwork Control Form里点"Save"保存配置,下次点"Load"导入。我一般针对两层板、四层板、六层板各存一套模板,新项目直接套,省去重复配置的时间,也避免漏配。

6.2 用Script自动化重复操作

Allegro支持Script录制,把导出Gerber的一系列操作录下来,下次一键执行。路径是File → Script,开始录制后正常操作一遍,停止后保存成.scr文件。下次直接运行Script,几秒钟完成导出。

不过Script有个坑:它依赖当前设计的层叠和Film配置,如果设计结构变了,Script可能报错。所以Script适合结构固定的项目,比如同一系列的板子。

6.3 导出后自动核对的小方法

我习惯在导出后,用免费的Gerber查看器(如KiCad自带的Gerber Viewer或在线查看器)快速过一遍。重点看三样:线路层有没有断线、钻孔和焊盘是否对齐、板框是否闭合。这三样没问题,基本就能发给板厂了。

另外,把Gerber包和设计文件一起归档,标注好版本号和日期。后面如果要改板,直接翻出旧包对比,能快速定位改了什么。

6.4 和板厂沟通的几个细节

导出前问清楚板厂的工艺能力:最小线宽、最小孔径、阻焊开窗规则。不同板厂能力不同,同一套Gerber发给不同厂,有的能做有的做不了。我一般固定用两三家板厂,把他们的工艺参数存成文档,设计时直接对照,导出时就不用反复确认了。

还有一点:Gerber包发出去后,让板厂先做CAM审核,确认没问题再投产。有些板厂会免费提供CAM报告,指出潜在问题,这个服务要用起来。

7. 从导出到投产:一次完整流程的复盘

最后用一个实际案例把整个流程串一遍。前段时间做一个四层控制板,板子不大但孔多,导出时踩了两个坑,正好拿来复盘。

7.1 案例背景与导出过程

板子情况:四层板,顶层底层走信号,中间两层是电源和地。板上有200多个过孔,孔径从0.3mm到1.0mm不等,还有几个槽孔用于固定连接器。

导出步骤按前面说的走:先配Film,顶层、底层、两个内电层、阻焊、丝印、板框各一个Film;然后生成NC Drill,勾选Include Slot Holes;最后Create Artwork,重命名打包。

7.2 踩的两个坑及解决过程

坑一:内电层导出来是空的。原因是Cross Section里内电层定义成了Plane,但Film里加的是ETCH层,Plane层没加进去。解决方法是Film里改加对应的Plane层,重新导出。

坑二:槽孔没导出来。第一次生成NC Drill时没勾"Include Slot Holes",槽孔丢失。板厂反馈后重新生成,勾上选项,槽孔正常输出。

这两个坑都不难解决,但如果不自检直接发板厂,板子就废了。所以导出后的自检环节绝对不能省。

7.3 最终交付的文件清单

这次交付给板厂的Gerber包包含:

  • 顶层线路、底层线路、两个内电层
  • 顶层阻焊、底层阻焊
  • 顶层丝印、底层丝印
  • 板框层
  • NC Drill文件(含槽孔)
  • Drill Drawing钻孔图
  • 一份README说明板子层数、板厚、表面处理工艺

板厂收到后CAM审核通过,投产顺利,回来板子一次成功。这套流程走顺了,后面同类板子直接套模板,效率高很多。

导出Gerber这件事,说到底就是细心加经验。工具本身不难,难的是知道哪里容易出错、怎么提前避免。把Film配好、钻孔导全、自检做足,基本就不会翻车。我现在的习惯是每个项目导出后都花十分钟自检,这十分钟比后面返工几天划算得多。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/6 6:56:54

华为云数据中心方案落地实践:网络互联、容灾演练与工程化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/6 6:55:15

FPGA驱动OV9281全局快门传感器实战:寄存器配置与DVP/MIPI数据通路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/6 6:54:08

工厂智能化弱电系统方案:从设计到施工的避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/6 6:53:14

DAC0832从原理到实战:R-2R网络、三种工作模式与波形发生器设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/6 6:53:02

DeepSeek法律文档智能归档:向量化检索实现秒级类案关联

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/6 6:51:03

miniDP转DP黑屏?从管脚定义到链路训练排查指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华