☰
AD导出Gerber文件教程:多层板盲埋孔处理方案与实操指南
2026/10/7 1:22:42 网站建设 项目流程

开头

做多层板PCB设计的人,早晚都会卡在Gerber导出这一步。特别是板子上带盲埋孔的时候,明明AD里看着一切正常,打样厂一反馈就是“钻孔文件缺层对”“孔位图没有分孔表”“盲埋孔叠层标识不清楚”。很多工程师把通孔板的导出习惯直接套过来,结果盲埋孔的钻孔层对根本没被完整输出,板厂只能靠猜,猜错了就是整板报废。

Altium Designer(大家习惯叫AD)导出Gerber本身不算复杂,复杂的是如何在导出过程中把盲埋孔的每一类钻孔、每一个层对、每一处非金属化孔都交代清楚。这套流程涉及Gerber Setup的参数配置、NC Drill钻孔文件的层对选择、孔位图与分孔表的设计、以及机械层的辅助标注,每一个环节都有坑。这篇内容就是围绕“AD导出Gerber文件教程”这一个大主题,重点讲多层板盲埋孔处理方案。无论你用的是AD17、AD20还是AD25,核心逻辑都一样,界面稍有差异但参数基本通用。

适合谁看?一是刚从两层板、四层通孔板往六层以上盲埋孔板过渡的硬件工程师,二是需要跟PCB板厂频繁打交道、经常被返工图折磨的layout工程师,三是对Gerber输出一直知其然不知其所以然、想彻底搞懂钻孔数据是怎么组织的新人。今天我把整个流程拆开揉碎,从原理到实操,从参数到坑点,一次性讲透。

1. 先搞清楚盲埋孔到底是怎么回事

1.1 三种过孔类型,别混为一谈

盲孔、埋孔、通孔,这三个概念在教科书上写得清楚,但在AD操作层面很多人是模糊的。简单说:

  • 通孔(Through Hole):从顶层贯穿到底层,所有层都能看到孔。
  • 盲孔(Blind Via):从表层钻到某一内层,不贯穿整个板子。例如1-2、2-15、15-16这样只连接相邻或近表层层次。
  • 埋孔(Buried Via):完全在板子内部的孔,外面看不到。例如一层六层板中的3-4层内孔。

盲孔解决的是表层器件走线到内层电源/地平面或者信号层的连接问题,埋孔解决的是内层之间互连但不希望占用外层空间的问题。从制程角度讲,盲埋孔是多层板采用逐次层压工艺制造的核心基础。

盲埋孔和通孔在AD设计层面最大的差异在于:通孔只有一个钻带,盲埋孔每一个“层对”都是一次独立的钻孔工序。六层板如果涉及1-2、2-5、5-6这组盲埋孔结构,生产时需要至少三次钻孔,而三次钻孔的数据来源就是你导出的NC Drill文件里的多个层对。很多人第一次接触盲埋孔板导出Gerber,总觉得文件数量特别多,实际上就是这些层对钻孔都各自独立输出了。

1.2 盲埋孔的叠加方式与层叠结构

多层板盲埋孔的处理经验里,第一步是先定好叠层和过孔类型。常见的六层板盲埋孔方案有两种:

  • 方案A:顶层-底层全通孔,加上1-2盲孔、2-5埋孔。这种方案成本略高,但信号质量好,是最常用的六层盲埋孔结构。
  • 方案B:1-2盲孔、2-3盲孔、3-4埋孔、5-6盲孔,不使用贯穿通孔。这种方案可以减少通孔对顶层布线空间的占用,但加工难度和成本都高,一般只有高密度设计才会用。

每一类过孔在AD里的定义方式,是在Via属性里指定Start Layer和End Layer。比如一个1-2盲孔,Start Layer为Top Layer,End Layer为Layer 2。一个3-4埋孔,Start Layer为Layer 3,End Layer为Layer 4。这个Start和End的设置会直接决定Gerber和NC Drill导出时这个孔归属于哪个层对。

这里建议在设计前期就把过孔类型做成模板保存下来,不要每个板子重新定义。以AD20为例,在PCB面板的Via Types里可以预设多种盲埋孔类型,命名习惯建议用“VIA_1-2”“VIA_4-7”“VIA_1-TH”这种带层对的后缀,后期导出钻孔文件时一眼就能看出来结构。

1.3 为什么盲埋孔在Gerber导出中容易翻车

通孔板导出之所以顺畅,是因为一个钻孔文件覆盖所有层对,板厂拿到单独的*.drl文件就够了。盲埋孔板的核心问题在于:钻孔文件里的“层对信息”必须和板厂工艺叠层一一对应,一个漏洞都会造成钻孔位置、深度或顺序的偏差。

还有一个容易忽略的地方是“孔位图”。通孔板的孔位图通常只是让板厂核对孔数,而盲埋孔板的孔位图往往需要按层对分开标注,否则板厂无法区分哪些是1-2盲孔、哪些是2-5埋孔。如果你在Gerber导出时没有正确输出Drill Drawing层的分孔图和钻孔图例(Drill Legend),板厂就只能拿一份光秃秃的钻孔清单去猜叠层对应关系,风险极高。

另外,盲埋孔板的“叠层顺序”信息本身不属于Gerber的标准字段,但板厂又需要知道。常规做法是附一份叠层说明文档,或者在机械层上画出过孔剖面示意。很多工程师只在邮件里简单提一句“六层板,有盲埋孔”,然后Gerber文件包里只有线路层和钻孔文件,板厂做CAM预审时就会把订单卡住,返工确认一来一回浪费两三天。

2. 准备工作:出Gerber前的检查清单

2.1 钻孔数据到底需要哪些文件

在点开File - Fabrication Outputs - Gerber Files之前,先在脑子里过一遍,一个完整的盲埋孔板生产数据包里应该有哪些东西:

  • 线路层Gerber(一般每层一个文件,包括阻焊层和丝印层)
  • NC Drill钻孔文件(NC Drill Files,按层对输出,多个文件)
  • 孔位图Gerber(Drill Drawing层,包含分孔图和孔符号)
  • 叠层说明(Stackup文档,也可以用Drawings层输出)
  • 特殊要求说明(背钻、树脂塞孔、电镀要求等)

其中和盲埋孔直接相关的就是NC Drill文件与孔位图。NC Drill是给钻孔机用的坐标数据,孔位图是给CAM工程师审核用的图形数据。两者缺一不可,不能相互替代。

2.2 核对叠层与钻孔对的对应关系

打开Design - Layer Stack Manager,先确认叠层里每一层的物理顺序和AD里的层编号是否一致。很多设计从别的工具转过来,层顺序混乱是常见问题。比如一个六层板,实际叠层是TOP、GND、SIG1、SIG2、PWR、BOTTOM,如果AD里的层顺序是TOP、SIG1、GND、PWR、SIG2、BOTTOM,那么所有过孔层对定义、Gerber输出顺序都会错位。

一个实用的核对方法:在Layer Stack Manager里开启Drill Pairs视图,检查每一对钻孔层是否符合预期。比如你的设计里有没有1-2盲孔?在Drill Pairs里应该看到Top Layer到Layer 2这一对。如果没有,说明盲孔可能被误设成了通孔或者层对设置丢失。

这里多说一句:AD的过孔归属依据不是孔的物理大小和位置,而是它所属的Net和Via类型。如果你在原理图里只放了一个默认过孔然后手动改Start Layer,有时候会改漏,导致Gerber里这个孔跑到错误的钻带中。

2.3 机械层与特殊标记处理

盲埋孔设计中经常需要在机械层添加辅助说明,比如:

  • 背钻范围标注(如果设计中有高速信号,通常要求背钻Stub控制在某一范围)
  • 树脂塞孔区域标注(BGA下的埋孔通常要求树脂塞孔+电镀盖帽)
  • 阻抗线叠层参考(帮助板厂确认钻孔不影响阻抗)

在Gerber导出时,机械层默认并不全部输出,需要在Gerber Setup的Layers选项卡里手动勾选。建议把叠层说明放到一个专门的机械层,比如Mechanical 1,并在导出时固定加入,这样板厂的CAM工程师能在同一套Gerber中看到设计意图,不用翻邮件。

我个人的习惯是单独建一个“FAB_NOTE”机械层,把所有与钻孔相关的备注都放进去,包括叠层顺序、盲埋孔层对表、特殊孔工艺要求。这样一个层就能把生产信息传达清楚,避免多个机械层混在一起不知道哪一层需要输出。

3. AD导出Gerber文件的完整操作流程

3.1 配置Gerber Setup的关键参数

进入File - Fabrication Outputs - Gerber Files,弹出的Gerber Setup对话框有多个选项卡,每个都要过一遍,不能只点默认。

首先是General选项卡。这里要设置Units为Inches或Millimeters,一般板厂都支持英制,但如果你设计时用的是毫米且你的钻孔精度要达到小数点后四位,直接用Millimeters输出更不容易换算出错。Format选择精度,推荐2:5或者2:4。2:5表示英寸整数2位、小数5位,精度是0.00001英寸;2:4是整数2位、小数4位。常规板子2:4够用,但盲埋孔板孔位密集,建议直接上2:5,文件体积大一点无所谓,精度到位。

然后是Layers选项卡,这是盲埋孔处理的重灾区。你需要勾选要输出的层,包括Top Layer、Bottom Layer、内层Signal和Plane层、Top Overlay、Bottom Overlay、Top Solder等。这里有一个关键点:你勾选的层必须和实际叠层一致,不要多勾也不要漏勾。多勾一个不存在的层会导致板厂误以为你有那个工艺层,漏勾则直接缺数据。

在Layers选项卡下方有一个“Plot Layers”和“Mirror Layers”的区域,如果不需要镜像输出,保持默认即可。重点是Drill Drawing选项组,这里需要勾选“Plot all used drill pairs”或者“Generate drill guide”,具体看AD版本,有的版本是“Drill Drawing Plots”下拉框。这样孔位图才会把所有层对的钻孔都画出来。

3.2 钻孔文件(NC Drill)的生成,重点是层对

Gerber文件配置完,先别急着生成,还要单独生成NC Drill钻孔文件。路径是File - Fabrication Outputs - NC Drill Files。

在NC Drill Setup对话框中,同样有Units和Format设置,这里必须和刚才Gerber里的设置保持一致。如果你Gerber用英寸2:5,NC Drill用毫米4:3,后期板厂导入时会出现单位不匹配的问题,轻则位置偏一点,重则整个板子废掉。强烈建议Gerber和NC Drill的单位与精度统一。

NC Drill对话框里最关键的是“Drill Pairs”区域。点击“Generate”之前,检查一下Drill Pairs列表:通孔层对、盲孔层对、埋孔层对是否全部在列表中。如果发现缺少某一对,大概率是设计文件里过孔类型定义不全或者没有放到板上。

AD导出NC Drill时,每一个Drill Pair会生成一个独立的钻孔文件。文件命名通常类似“XXX-1-2.drl”“XXX-2-5.drl”,后面的数字就是层对。如果一个盲埋孔板导出的drl文件只有通孔一个文件,那就说明盲埋孔根本没被识别,需要回到设计文件检查过孔属性。

有一个容易被忽视的选项是“Combine drill pairs into one file”。有的AD版本提供合并输出选项,有的没有。我不建议合并,多个层对分开输出可以让板厂更明确地知道哪些是盲孔、哪些是埋孔。即使板厂希望你合并文件,也建议保留分层的原始文件和一份合并文件一起发,方便他们对照。

3.3 孔位图与分孔表的输出设置

在Gerber Setup的Layers选项卡里,有一个Drill Drawing选项,它的作用是在当前层上生成孔位图。一般选择在“Drill Drawing”层输出,或者你指定的任意机械层。

孔位图里应当包含两部分:钻孔符号表和钻孔数量统计表,也就是分孔图(Drill Table)和图例(Drill Legend)。在AD中,分孔图是由系统自动生成的,但前提是你勾选了输出Drill Drawing层。如果你导出后发现Gerber里没有分孔表,回来看一下General选项卡里是不是把“Drill Drawing”层去掉了。

分孔表默认是按孔大小分类统计,通孔和盲埋孔会统一统计。但对于盲埋孔板,最好在图例中加入层对信息。AD的Drill Legend默认就会显示层对,如果没显示,多数是版本默认设置不同。此时可以在PCB界面双击Drill Table,展开“Layers”属性,勾选显示Start Layer和End Layer。

孔位图输出后在CAM软件里打开,你应当能看到不同的钻孔孔径对应不同的符号,每种符号右侧有一个图例说明孔径和数量。如果板厂反馈“孔位图符号混乱,分不清盲孔和埋孔”,多半是Drill Drawing层被多个层对叠加显示导致视觉干扰。解决方法是按层对分别生成孔位图,例如输出一个只包含1-2盲孔的图和一个只包含2-5埋孔的图,不过这个操作在AD里要配合“Drill Pairs选择”来做,稍麻烦,但值得掌握。

3.4 盲埋孔板还要导出什么:背钻、叠孔等附加数据

除了标准Gerber和NC Drill,盲埋孔板常常还需要附加输出:

  • 背钻文件(Back Drill):如果你有高速互联设计,板厂需要背钻的坐标和深度范围信息。AD中的背钻配置在Via属性里设置Back Drill参数,导出时在NC Drill Files对话框中勾选“Generate Back Drill Files”。
  • 叠孔(Stacked Via)说明:相邻层的盲埋孔有时会上下堆叠接触,这种工艺要求特殊,建议在机械层画出叠加剖面图,并用文字注明哪些位置是叠孔。
  • 塞孔文件:BGA扇出时盲埋孔常用树脂塞孔或导电油墨塞孔,需要在机械层标注塞孔区域。

这些附加信息不是Gerber标准的一部分,但直接影响生产可行性。很多工程师只关注线路和钻孔,忽略了这些工艺要求,板厂拿到文件发现BGA区域有孔没有塞孔指示,只能默认不做处理,结果焊接时出现虚焊或者连锡。

4. 盲埋孔处理方案:从设计到生产数据的完整路径

4.1 方案一:在AD里直接设置盲埋孔规则

这是最基础、也最必须做对的一步。在PCB设计中,任何盲埋孔都不是随便放的,而是有规则的。

打开Design - Rules,在Routing - Routing Via Style里可以定义多种过孔类型。这里默认的Via类型是通孔,你需要新建盲孔和埋孔类型,并为它们分别设置Start Layer和End Layer。

举个例子,设计一个八层板,盲埋孔方案是1-2盲孔、2-7埋孔、7-8盲孔。你就需要在Via Style规则中分别建立VIA_1-2、VIA_2-7、VIA_7-8三种过孔类型。建立完成后,在PCB上走线布线时,按Shift+V切换过孔类型,AD会自动使用对应的盲埋孔。如果过孔类型定义正确,后续Gerber和NC Drill导出基本不会出大问题。

这里有个典型的错误:有人为了省事,在布线时先全部用通孔,最后再手动把个别孔改成盲孔,改的时候只改了一个Via实例的Start/End Layer,没有同步更新规则。结果Gerber导出时,规则列表里没有对应的Drill Pair,钻孔文件缺失。所以建议从头到尾都用定义好的过孔类型,不要后期手动改孔。

4.2 方案二:利用Drill Pair管理钻孔层对

Drill Pair是盲埋孔导出中另一个核心概念。打开Design - Layer Stack Manager,右下角有Drill Pairs按钮,点开后可以看到当前设计使用的所有钻孔层对。注意,这里的状态必须是“Used”,否则即使你把孔放在板上,这个层对也不会被导出。

AD的Drill Pairs有两种状态:Defined(已定义)、Used(已使用)。Defined但未使用的层对不会被输出到Gerber,但如果你确实在板上有这类孔,系统会标记为Used。检查时主要看状态栏有没有显示对应孔的数量。

实操中常见的问题是:多层板从别的软件导入后,Drill Pairs列表为空,但板上密密麻麻全是孔。这时需要手动添加Drill Pair,比如添加Top Layer到Layer 2、Layer 2到Layer 7、Layer 7到Layer 8。添加完成后,AD会自动把匹配的过孔关联到这个层对下。不手动添加的话,哪怕板上有盲埋孔,导出NC Drill时也只会输出一个默认的通孔文件。

另外,当有多组盲埋孔结构时,建议按层对顺序排列Drill Pairs列表。例如先1-2、再2-7、最后7-8。这样导出的NC Drill文件顺序也有规律,板厂一目了然,减少沟通成本。

4.3 方案三:机械层标注与装配图辅助

前面提过机械层标注的重要性,这里展开讲一下具体做法。推荐新建一个机械层,比如Mechanical 5,命名为“DRILL_NOTE”,专门用来放钻孔相关的说明。

在这个层上,你可以用线条画出板的层叠截面示意图,标注每一层是什么类型(信号层、电源层、地层)、介质厚度、铜厚,然后在下面对应位置标注每一组盲埋孔的层对范围。例如在1-2处标“Blind Via 1-2,Drill 8mil”,在2-7处标“Buried Via 2-7,Drill 6mil”。

为什么要这么做?因为Gerber文件本身是一堆坐标和图形,板厂CAM工程师需要通过这些信息做DFM审核。如果只有数据没有说明,他们需要自己从钻孔文件里反推层对,再和你确认叠层,耗时且容易出错。你把设计意图直接画在机械层里,相当于给生产方一份“图文并茂”的工艺说明,能够大幅降低沟通误差。

这套方法在我做一款十层服务器主板时验证过,板厂反馈CAM预审从原来的三个小时缩短到四十分钟,而且没有出现钻孔层对误判。很多大公司其实也是这么干的,只不过他们用的是正式的生产图纸,而小团队往往忽略了这一步。

4.4 方案四:使用ODB++与IPC-2581替代传统Gerber

传统的Gerber+NC Drill文件是一种“分散式”的数据格式,线路层、阻焊层、丝印层、钻孔文件都是独立文件,一旦其中一个文件和其他的不一致,后期就会出问题。ODB++和IPC-2581则把整个板卡信息打包到一个文件或一个目录里,叠层、钻孔、元器件位置、网络连接都包含在内,不需要板厂再手工拼装。

在AD里,File - Export可以选择导出ODB++格式。ODB++对于盲埋孔板特别友好,因为它的层对信息是结构化的,板厂导入后能直接识别盲孔和埋孔,不需要靠人工读图。如果你的板厂支持ODB++,强烈建议用这个格式作为Gerber的补充交付文件。

不过要注意,ODB++和IPC-2581目前还不能百分之百替代Gerber,因为很多板厂的CAM系统对Gerber的处理逻辑最成熟,对ODB++的支持也分好坏。稳妥的做法是:Gerber+NC Drill作为主交付格式,ODB++作为辅助参考格式,两个都发,让板厂自己选他们顺手的工具。

5. 踩坑现场:盲埋孔Gerber常见的坑与排查

5.1 钻孔文件只有一种,漏了盲埋孔层对

这是盲埋孔导出时最惨烈的翻车现场。遇到过一位朋友,六层板设计用了1-2盲孔和5-6盲孔,结果导出的NC Drill文件只有一个,板厂按通孔方式生产,板子直接废掉。

排查思路:先在AD里打开NC Drill Files对话框,看Drill Pairs列表是不是包含了所有层对。如果只有默认的全部贯穿对,说明板上的过孔并不是真正的盲埋孔类型,而是“看起来像盲孔”的普通过孔。这时回到PCB,选中一个盲孔,在Properties面板里看Start Layer和End Layer是否正确。

还有一种可能是你的过孔是“半盲”,即Start Layer对但End Layer错了。比如1-2的盲孔设成了1-3,导致它进入了1-3的钻孔层对。这种错误在设计中很难发现,但导出时查看Drill Pairs中的Used状态和孔数就能排查。每一对都要检查孔数是否和设计一致。

5.2 孔位图混乱,分孔表和叠层对不上

孔位图上的符号和分孔表列的孔径数量不一致,也是常见的反馈。原因通常在Drill Drawing层的分孔表里没有包含全部层对。

解决办法是在PCB界面双击分孔表,在属性里找到“Include Drill Pairs”或类似选项,确保勾选了所有层对。同时检查图例是否显示了层对信息,如果没有,在Drill Table属性中开启“Layer Pair”列显示。

另一种情况是导出Gerber时,Drill Drawing层被放在了一个不存在的机械层上,导致CAM软件里看不到。Gerber Setup里输出层的层号必须和实际PCB存在的层一致,建议Drill Drawing指定到一个固定的机械层,比如Mechanical 3,并且这个机械层在Layers选项卡里被勾选输出。

5.3 导出后焊盘丢失或孔径不对

焊盘丢失经常是因为你在Gerber Setup的Layers选项卡中,某个内层没有勾选输出。例如盲孔所在的Layer 2没有输出对应的铜箔层,板厂加工时没法确认该层连接关系,自然出现网络不通。

孔径不对则多半是单位精度问题。设计文件用英制,但导出时选了公制,数值转换后出现四舍五入误差。另一种情况是NC Drill Files里格式设为Sublime而不是Excel格式,某些板厂的设备读取后精度丢失。最稳妥的格式组合是英制2:5加Excellon格式,几乎所有的钻孔机都支持。

如果发现钻孔文件里的孔径与设计属性孔径不一致,还要检查是不是设置了“Drill Size Compensation”。AD默认补偿值为0,但如果误设了补偿,钻孔文件会等于原始孔径加减补偿值。一般PCB和PCBA的钻孔补偿由板厂自行决定,设计文件里不需要设置。

5.4 用CAM350或DFM工具做最终验证

Gerber导出后,强烈建议用CAM工具自检一遍,不要直接发板厂。CAM350是行业老牌工具,华秋DFM、捷配DFM这类免费工具也很好用,支持直接导入Gerber+NC Drill做比对。

具体验证步骤:

  • 导入全部Gerber和NC Drill文件,逐层查看,确认线路层数量和叠层一致。
  • 打开钻孔文件,检查每个层对的孔位是否落在对应的铜箔层上。盲孔应该跨1-2层,埋孔跨内层,通孔跨所有层。
  • 查看孔位图和分孔表,对比钻孔数量是否一致。CAM软件一般会显示每层孔的孔数,把这个数字和Design Rule Check里的报告对一下。
  • 跑一遍“Netlist Compare”如果手头有网表,直接把Gerber提取的网表与设计网表对比,保证没有开短路。

这一步做完,基本能拦截90%以上的导出问题。我还见过有人直接把导出的Gerber缩略图发给板厂确认,其实板厂更希望你发份Gerber包时带上“层对说明”而不是一张模糊的截图。

结语

盲埋孔板出Gerber,说到底不只是几个文件的事,而是要把设计意图完整无损地传递给生产端。通孔板可以靠板厂默认规则兜底,但盲埋孔这种非标结构,必须靠工程师在导出时把钻孔层对、孔位图、叠层说明、特殊工艺要求一一交代清楚。我自己在踩过几次坑之后,养成了一套固定习惯:每块板子在导Gerber前,先花十分钟核对Layer Stack Manager里的Drill Pairs,再看一遍过孔类型列表,最后用CAM工具自检一遍钻孔文件。这套流程看着啰嗦,但它真能帮你在板厂那边省下大把的沟通时间,也避免了很多因为数据不完整导致的返工。希望能对正在跟盲埋孔死磕的你有点帮助。

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

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

立即咨询