
开头做多层板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埋孔。这种方案成本略高但信号质量好是最常用的六层盲埋孔结构。方案B1-2盲孔、2-3盲孔、3-4埋孔、5-6盲孔不使用贯穿通孔。这种方案可以减少通孔对顶层布线空间的占用但加工难度和成本都高一般只有高密度设计才会用。每一类过孔在AD里的定义方式是在Via属性里指定Start Layer和End Layer。比如一个1-2盲孔Start Layer为Top LayerEnd Layer为Layer 2。一个3-4埋孔Start Layer为Layer 3End 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按层对输出多个文件孔位图GerberDrill 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:5NC 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上走线布线时按ShiftV切换过孔类型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-2Drill 8mil”在2-7处标“Buried Via 2-7Drill 6mil”。为什么要这么做因为Gerber文件本身是一堆坐标和图形板厂CAM工程师需要通过这些信息做DFM审核。如果只有数据没有说明他们需要自己从钻孔文件里反推层对再和你确认叠层耗时且容易出错。你把设计意图直接画在机械层里相当于给生产方一份“图文并茂”的工艺说明能够大幅降低沟通误差。这套方法在我做一款十层服务器主板时验证过板厂反馈CAM预审从原来的三个小时缩短到四十分钟而且没有出现钻孔层对误判。很多大公司其实也是这么干的只不过他们用的是正式的生产图纸而小团队往往忽略了这一步。4.4 方案四使用ODB与IPC-2581替代传统Gerber传统的GerberNC Drill文件是一种“分散式”的数据格式线路层、阻焊层、丝印层、钻孔文件都是独立文件一旦其中一个文件和其他的不一致后期就会出问题。ODB和IPC-2581则把整个板卡信息打包到一个文件或一个目录里叠层、钻孔、元器件位置、网络连接都包含在内不需要板厂再手工拼装。在AD里File - Export可以选择导出ODB格式。ODB对于盲埋孔板特别友好因为它的层对信息是结构化的板厂导入后能直接识别盲孔和埋孔不需要靠人工读图。如果你的板厂支持ODB强烈建议用这个格式作为Gerber的补充交付文件。不过要注意ODB和IPC-2581目前还不能百分之百替代Gerber因为很多板厂的CAM系统对Gerber的处理逻辑最成熟对ODB的支持也分好坏。稳妥的做法是GerberNC 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这类免费工具也很好用支持直接导入GerberNC Drill做比对。具体验证步骤导入全部Gerber和NC Drill文件逐层查看确认线路层数量和叠层一致。打开钻孔文件检查每个层对的孔位是否落在对应的铜箔层上。盲孔应该跨1-2层埋孔跨内层通孔跨所有层。查看孔位图和分孔表对比钻孔数量是否一致。CAM软件一般会显示每层孔的孔数把这个数字和Design Rule Check里的报告对一下。跑一遍“Netlist Compare”如果手头有网表直接把Gerber提取的网表与设计网表对比保证没有开短路。这一步做完基本能拦截90%以上的导出问题。我还见过有人直接把导出的Gerber缩略图发给板厂确认其实板厂更希望你发份Gerber包时带上“层对说明”而不是一张模糊的截图。结语盲埋孔板出Gerber说到底不只是几个文件的事而是要把设计意图完整无损地传递给生产端。通孔板可以靠板厂默认规则兜底但盲埋孔这种非标结构必须靠工程师在导出时把钻孔层对、孔位图、叠层说明、特殊工艺要求一一交代清楚。我自己在踩过几次坑之后养成了一套固定习惯每块板子在导Gerber前先花十分钟核对Layer Stack Manager里的Drill Pairs再看一遍过孔类型列表最后用CAM工具自检一遍钻孔文件。这套流程看着啰嗦但它真能帮你在板厂那边省下大把的沟通时间也避免了很多因为数据不完整导致的返工。希望能对正在跟盲埋孔死磕的你有点帮助。