☰
Allegro PCB导出Gerber与钻孔文件同步处理实战指南
2026/10/7 9:03:30 网站建设 项目流程

1. 为什么“导出Gerber”和“钻孔文件”必须当成一件事来做

画完PCB,板子能不能顺利做出来,很多时候不取决于你布线多漂亮,而取决于你交给板厂的那套文件是不是“自洽”的。Gerber描述的是每一层的铜箔、阻焊、丝印图形,钻孔文件描述的是板子上所有孔的位置、孔径和类型。这两套东西如果对不上,板厂那边轻则打电话让你重新确认,重则直接按错误文件投产,几千块钱的板子就废了。

我见过太多这样的情况:Gerber里焊盘是完整的,钻孔文件里却少了一组过孔;或者反过来,钻孔文件里有某个安装孔,Gerber的机械层却没画出来。板厂CAM工程师不会帮你猜意图,他们只认文件。所以“同步处理”这四个字,本质上不是软件操作问题,而是数据一致性问题。

Allegro在这件事上的处理逻辑和Altium Designer不太一样。AD那边很多人习惯用“Gerber Setup”一次性勾选所有层,钻孔文件单独出一个NC Drill。Allegro的流程更细,光绘参数、钻孔参数、层叠对应关系分散在不同菜单里,新手很容易漏掉某一步,导致输出不完整。这篇文章就把Allegro从17.2到17.4这几个常用版本里,导出Gerber和钻孔文件的同步处理方法讲透,包括参数怎么设、文件怎么核对、出了问题怎么排查。

适合谁看?如果你已经能用Allegro完成布局布线,但每次出光绘都有点心里没底,或者你之前用AD、PADS转过来,对Allegro这套流程还不熟,那这篇内容就是给你准备的。我会尽量用实际操作的顺序来讲,不堆理论,重点放在“怎么做”和“为什么这么做”。

2. 出图前的准备工作:别急着点Artwork

很多人一打开Allegro就直奔Manufacture菜单,这是大忌。光绘和钻孔文件是设计的“最终快照”,如果设计本身还有未处理的DRC、未铺完的铜、未更新的焊盘,导出来的文件就是带病的。我一般会按下面这个顺序先做一轮检查。

2.1 设计状态确认与DRC清理

先跑一次完整的DRC。Allegro的DRC分在线和批量两种,出图前必须做批量检查。菜单路径是Tools -> Quick Reports -> Design Rules Check Report,或者直接用Display -> Status看整体状态。重点看几个指标:未连接的飞线数、DRC错误数、铜皮状态。

铜皮这块特别容易出问题。Allegro里铜皮有“静态”和“动态”两种状态,动态铜皮在出图前必须Smooth一遍。如果铜皮只显示了轮廓,没有填充,Gerber里就是空的。操作是Shape -> Global Dynamic Shape Parameters,确认Smooth方式,然后Shape -> Smooth。我习惯在出图前把所有铜皮状态刷新一次,确保显示是实心的。

注意:如果铜皮显示为轮廓线,先检查Setup -> User Preferences -> Display -> shape_fill是否被关掉了。这个选项关掉后铜皮只显示边框,但实际数据还在,不影响出图。但如果你不确定,最好打开确认一下。

DRC清理的原则是:能修的都修掉,修不掉的要确认是否可接受。比如丝印压焊盘这种,板厂通常能接受,但如果是线间距不够,那就必须改。出图前留一堆DRC,等于把风险留给板厂。

2.2 层叠结构与钻孔对设置

Allegro的层叠设置直接决定了Gerber输出哪些层。Setup -> Cross-section里能看到完整的层叠结构,包括信号层、平面层、阻焊层、丝印层。这里要确认两件事:一是层数对不对,二是每层的类型是否正确。

钻孔对(Drill Pair)是Allegro里一个很关键的概念。它定义了从哪一层钻到哪一层,比如通孔是从Top到Bottom,盲孔是从Top到Inner Layer 2。Setup -> Constraints -> Physical里可以查看和编辑钻孔对。如果钻孔对设置错了,钻孔文件里的孔就会和Gerber里的焊盘对不上。

我一般会在Cross-section里把每一层的名称和类型过一遍,特别是阻焊层和丝印层。有些设计里阻焊层是负片,有些是正片,Allegro默认阻焊层是负片输出,这个在Artwork里可以调。但如果你不清楚,最好保持默认,因为板厂通常按负片理解阻焊。

2.3 焊盘与封装库的最终核对

焊盘是Gerber和钻孔文件的交汇点。一个焊盘在Gerber里是一个铜箔图形,在钻孔文件里是一个孔。如果焊盘库有问题,比如孔径定义和实际钻孔对不上,那两套文件就会打架。

出图前我会用Tools -> Padstack -> Modify Design Padstack检查一遍所有用到的焊盘。重点看孔径(Drill Size)和焊盘尺寸(Pad Size)是否匹配。有时候设计中途换过焊盘,但旧焊盘还留在库里,出图时可能被引用。Allegro有个功能叫Tools -> Padstack -> Purge,可以清理未使用的焊盘,我一般会跑一下。

还有一个容易忽略的点:安装孔。如果安装孔是作为机械符号放在板上的,它可能没有对应的焊盘,但需要在钻孔文件里体现。这种情况要么给安装孔加一个非金属化焊盘,要么在钻孔文件里单独处理。我倾向于加非金属化焊盘,这样Gerber和钻孔文件都能自动包含。

3. Gerber导出参数详解:每一层都要有明确意图

Allegro的Gerber导出在Manufacture -> Artwork里。打开后是一个叫“Artwork Control Form”的窗口,里面有几个标签页:General Parameters、Film Control、Options。很多人只关注Film Control,其实另外两个标签页里的参数同样影响输出结果。

3.1 General Parameters里的关键设置

General Parameters里最核心的是Format和Device。Format决定坐标数据的精度,通常选2.5或3.5。2.5表示整数部分2位、小数部分5位,单位是英寸或毫米。现在板厂普遍能接受2.5,但如果板子密度很高,建议用3.5。Device选Gerber RS274X,这是最通用的格式,自带光圈表,板厂不需要额外的光圈文件。

还有一个选项是Output Units,选毫米还是英寸看你的设计习惯。国内板厂一般默认毫米,但英寸也没问题,关键是和钻孔文件的单位保持一致。我遇到过Gerber用英寸、钻孔用毫米的情况,板厂CAM工程师得手动换算,容易出错。

Error Handling里有个Abort on error选项,建议勾上。这样如果某一层输出失败,整个流程会停下来,不会生成一堆不完整的文件。我见过有人没勾这个,结果少了一层,自己还不知道。

3.2 Film Control里怎么组织层

Film Control是Artwork的核心。这里列出了所有要输出的层,每一层对应一个“Film”。Allegro默认会生成一些Film,比如TOP、BOTTOM、SOLDERMASK_TOP等,但默认的不一定全,也不一定对。

我一般会手动创建Film,按板厂的要求来。常见的层包括:

  • 顶层线路(TOP)
  • 底层线路(BOTTOM)
  • 顶层阻焊(SOLDERMASK_TOP)
  • 底层阻焊(SOLDERMASK_BOTTOM)
  • 顶层丝印(SILKSCREEN_TOP)
  • 底层丝印(SILKSCREEN_BOTTOM)
  • 顶层钢网(PASTEMASK_TOP)
  • 底层钢网(PASTEMASK_BOTTOM)
  • 钻孔图(DRILL_DRAWING)
  • 机械层(OUTLINE)

每一层在Film里要指定对应的Allegro层。比如TOP层要包含PIN、VIA、ETCH/TOP、PACKAGE GEOMETRY/PLACE_BOUND_TOP等。这里有个技巧:用Add按钮添加层时,可以按类选择,比如选Etch类,然后选TOP子类。不要一层一层手动加,容易漏。

提示:阻焊层在Allegro里是负片输出,也就是说你画阻焊开窗的地方,Gerber里是空的;没画的地方,Gerber里是实的。这和有些软件的正片逻辑相反,第一次用Allegro的人容易搞混。

3.3 光圈表与坐标格式的同步

光圈表(Aperture Table)是Gerber文件里定义线宽、焊盘形状的部分。RS274X格式会把光圈表嵌在文件里,所以不需要单独输出。但如果你用的是RS274D格式,就需要额外输出一个光圈文件。现在基本都用RS274X,这个可以忽略。

坐标格式在General Parameters里设,但Film Control里每一层可以单独覆盖。我建议统一用一套格式,不要有的层用2.5,有的层用3.5。统一格式的好处是板厂CAM软件读入时不会混乱。

还有一个细节:Suppress选项。Film Control里有个Suppress列,可以设置是否抑制某些图形。比如丝印层可以抑制焊盘上的丝印,避免丝印印到焊盘上影响焊接。这个功能很实用,但设置时要小心,抑制错了可能导致该有的图形没了。

4. 钻孔文件导出:NC Drill的每一个参数都有讲究

钻孔文件在Manufacture -> NC -> NC Drill里。这个界面看起来比Artwork简单,但里面的参数同样关键。钻孔文件的核心是孔位、孔径和孔类型,这三样必须和Gerber里的焊盘完全对应。

4.1 NC Drill参数设置与单位选择

打开NC Drill后,首先看到的是Drill标签页。这里要选Auto Tool Select,让Allegro自动根据焊盘孔径生成刀具号。如果手动选,容易漏掉某些孔径。

Format和Gerber一样,选2.5或3.5。Output Units必须和Gerber一致。我一般用毫米,因为国内板厂习惯。Leading Zero Suppression和Trailing Zero Suppression选一个就行,通常用Leading,表示省略前导零。

Drill Origin选Absolute,用绝对坐标。如果选Relative,需要指定参考点,容易出错。Offset一般设为0,除非板厂有特殊要求。

还有一个选项是Separate Drill Files。如果板子上有通孔和盲孔,可以分开输出,也可以合并。我倾向于合并成一个文件,但要在文件里注明孔类型。有些板厂要求盲孔和通孔分开,那就按板厂要求来。

4.2 钻孔图与钻孔表的生成

除了NC Drill文件,通常还需要一张钻孔图(Drill Drawing)和一张钻孔表(Drill Legend)。钻孔图是给板厂看的示意图,标出每个孔的位置和孔径。钻孔表是统计表,列出每种孔径的数量。

钻孔图在Manufacture -> NC -> Drill Legend里生成。它会自动在板子上放一个表格,列出刀具号和孔径。这个表格要放在板框外面,不要压到线路。生成后要检查一下,确保所有孔径都列出来了。

钻孔图本身也是一层Gerber,需要在Artwork里加一个Film,包含MANUFACTURING/NCLEGEND层。这样板厂拿到Gerber后能看到钻孔信息,和NC Drill文件对照。

注意:钻孔图里的孔径要和NC Drill文件里的刀具表一致。如果发现不一致,通常是焊盘库有问题,或者钻孔对设置错了。这时候要回到设计里检查,不要强行出图。

4.3 槽孔与异形孔的处理

Allegro支持槽孔(Slot)和异形孔(Odd Shape Drill)。槽孔在焊盘里定义,用Slot参数设置长宽。异形孔需要用Shape类型的焊盘。这两种孔在NC Drill文件里的表示方式和圆孔不同,板厂需要特殊处理。

如果板子上有槽孔,出图前要确认板厂能不能做。有些小厂只做圆孔,槽孔要额外收费。另外,槽孔在Gerber里的表示是一个长条形的图形,在钻孔文件里是一个Rout路径。这两者要对应上,否则板厂可能漏做。

我一般会在出图后,用CAM软件(比如CAM350或GC-Prevue)打开Gerber和钻孔文件,叠在一起看。槽孔的位置和形状要对得上,不能有偏移。

5. 同步核对:用CAM工具做最终验证

文件导出后,不要直接打包发给板厂。我习惯用CAM350或GC-Prevue把Gerber和钻孔文件叠起来看一遍。这一步能发现很多肉眼看不出来的问题。

5.1 Gerber与钻孔文件的叠层比对

打开CAM350,先导入所有Gerber层,再导入NC Drill文件。然后打开所有层,把钻孔层放在最上面,设置成不同的颜色。这样能直观地看到每个孔是否落在焊盘中心。

重点检查几个地方:过孔是否都在焊盘上、安装孔是否和机械层对应、槽孔方向是否正确。如果发现某个孔偏了,回到Allegro里检查焊盘和钻孔对。有时候是焊盘原点没对齐,有时候是钻孔对设置错了。

还有一个技巧:在CAM350里用Measure工具量一下孔径。Gerber里的焊盘尺寸和钻孔文件里的孔径要匹配。比如焊盘外径是0.6mm,孔径是0.3mm,那钻孔文件里这个孔的刀具直径应该是0.3mm。如果对不上,说明焊盘库有问题。

5.2 阻焊开窗与焊盘的对应检查

阻焊层是负片,所以Gerber里阻焊开窗的地方是空的。在CAM350里,把阻焊层和线路层叠在一起,能看到焊盘周围有一圈没有阻焊的区域。这个区域的大小要合适,太小会导致焊接不良,太大会导致焊盘之间连锡。

Allegro里阻焊开窗的大小由焊盘里的Soldermask参数决定。通常比焊盘单边大0.05mm到0.1mm。如果发现阻焊开窗太大或太小,回到焊盘库改。改完后要重新出图,不能将就。

5.3 常见同步错误与排查表

下面这张表是我这些年遇到过的典型问题,按现象、原因、解决方法整理,方便你快速排查。

现象可能原因排查方法解决方式
钻孔文件里少孔焊盘没有定义钻孔,或钻孔对未包含该层在Allegro里用Tools -> Padstack -> Report查看焊盘钻孔信息补充焊盘钻孔定义,或调整钻孔对
Gerber里焊盘缺失Film里没有包含对应层,或焊盘被Suppress检查Film Control里的层列表和Suppress设置添加缺失层,取消错误的Suppress
孔位偏移焊盘原点不对,或钻孔文件用了相对坐标在CAM350里量孔位和焊盘中心的偏差修正焊盘原点,钻孔文件改用绝对坐标
阻焊开窗错误焊盘Soldermask参数不对,或阻焊层Film设置错误叠层查看阻焊和线路的对应关系修改焊盘Soldermask参数,检查Film
槽孔方向不对焊盘Slot参数的角度设置错误在CAM350里查看槽孔图形调整焊盘Slot角度,重新出图
单位不一致Gerber和钻孔文件用了不同单位检查两个文件的Output Units设置统一改为毫米或英寸

这张表里的问题,大部分根源都在设计阶段,而不是出图阶段。所以出图前的检查比出图后的修补更重要。

6. 实操心得与避坑经验

做了这么多年PCB,出图这件事看起来简单,但每次都能遇到新问题。下面这些经验,有些是踩坑踩出来的,有些是跟板厂CAM工程师聊天聊出来的,分享给你。

6.1 出图前的“三查”习惯

我养成了一个习惯,每次出图前做“三查”:查DRC、查铜皮、查焊盘。DRC确保没有电气错误,铜皮确保没有空铜,焊盘确保没有缺失或错误。这三样查完,出图基本不会有大问题。

具体操作上,DRC用Quick Reports跑一遍,铜皮用Shape -> Smooth刷一遍,焊盘用Padstack -> Purge清一遍。这三个命令花不了五分钟,但能省下后面几小时的返工。

6.2 和板厂确认工艺参数的时机

很多人等到出完图才和板厂沟通,其实应该在出图前就确认。比如最小线宽、最小孔径、阻焊桥宽度这些,板厂的工艺能力决定了你的设计能不能做。如果设计超出了板厂能力,出图再完美也没用。

我一般会在布局完成后、出图前,把板子的关键参数发给板厂确认。包括层数、板厚、铜厚、最小线宽、最小孔径、阻焊颜色、表面处理等。板厂确认没问题后再出图,这样最稳妥。

6.3 文件打包与命名规范

出完图后,文件要打包发给板厂。打包前先整理一下,不要一股脑全塞进去。我一般会建一个文件夹,里面放Gerber文件、钻孔文件、钻孔图、说明文件。Gerber文件按层命名,比如TOP.gbr、BOTTOM.gbr、SOLDERMASK_TOP.gbr。钻孔文件命名成NC_DRILL.drl。

说明文件里写清楚板子的工艺要求,比如层数、板厚、铜厚、阻焊颜色、表面处理、最小线宽、最小孔径。这样板厂CAM工程师一看就明白,不用反复问。

提示:有些板厂要求Gerber文件用.gbr后缀,有些要求.art,还有些要求.ger。发之前问清楚,避免板厂打不开。

6.4 版本兼容性问题

Allegro不同版本之间出图有些差异。比如17.2和17.4的Artwork界面略有不同,17.4多了些选项。如果你用17.4出图,板厂用17.2的CAM软件读,一般没问题,因为Gerber是标准格式。但如果你用17.4的新功能,比如某些特殊的焊盘形状,板厂可能读不出来。

我一般会问板厂用什么CAM软件,如果是比较老的版本,我就避免用太新的功能。另外,出图时选Gerber RS274X格式,这个格式兼容性最好。

6.5 常见问题速查

最后整理几个高频问题,方便你快速定位。

问题一:Artwork里某层是空的,但设计里明明有东西。检查Film里是否包含了正确的层和子类。比如TOP层要包含ETCH/TOP,如果只加了PIN,那线路就出不来。

问题二:NC Drill里刀具号重复或缺失。检查焊盘孔径是否统一。如果两个焊盘孔径一样但刀具号不同,可能是焊盘库里有重复定义。用Padstack -> Purge清理一下。

问题三:Gerber文件太大,板厂说读得慢。检查是否包含了不必要的层,比如PACKAGE GEOMETRY里的某些子类。在Film里把不需要的层去掉,文件会小很多。

问题四:钻孔文件和Gerber的孔位对不上。检查钻孔文件的坐标格式和Gerber是否一致。如果Gerber用2.5,钻孔用3.5,坐标就会差一个数量级。

问题五:阻焊开窗把焊盘全盖住了。检查阻焊层的Film设置。Allegro默认阻焊是负片,如果你按正片理解,就会搞反。在Film里确认Negative选项是否勾选。

这些问题我基本都遇到过,有些是新手期犯的错,有些是版本升级带来的。每次解决后我都会记下来,下次出图前翻一翻,能省不少时间。

出图这件事,说到底就是细心加经验。软件操作不难,难的是知道哪里容易出错,以及出错后怎么快速定位。希望这篇内容能帮你把Allegro出图这件事做得更顺,少走点弯路。

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

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

立即咨询