1. 项目概述:为什么一份“正确”的Gerber文件比原理图还重要?
在PCB设计圈里,我常跟新人说一句话:“你画得再漂亮的板子,只要Gerber导出错一层,工厂那边就可能直接打回重来,甚至做出一块根本没法用的废板。”这句话不是危言耸听——过去三年我经手的27个量产项目里,有9个卡在Gerber交付环节,其中7个问题根源都出在钻孔层与叠层匹配这个看似基础、实则极容易被忽略的细节上。AD(Altium Designer)作为国内中小硬件团队最主流的EDA工具,它的Gerber导出界面看起来简单,但背后涉及的层定义逻辑、钻孔数据生成机制、以及与PCB工厂CAM系统的对接规则,远比菜单栏里几个勾选框复杂得多。你搜到的“ad导出gerber文件教程”大多只教你点几下鼠标,却没人告诉你:为什么“Drill Drawing”层必须和“Drill Guide”层配对?为什么“Plated”和“Non-Plated”钻孔要分开放?为什么5层板的叠层顺序一旦在AD里设错,导出的Gerber里铜厚参数就会全乱?这些不是玄学,而是PCB制造工艺的硬性约束在软件里的映射。这篇内容不讲泛泛而谈的操作流程,而是带你从AD的层管理器底层逻辑出发,拆解钻孔数据如何生成、叠层信息如何嵌入、工厂CAM系统又如何解析这些文件。无论你是刚用AD画完第一块双面板的新手,还是正为6层高速板Gerber被工厂反复打回而焦头烂额的工程师,只要你需要把设计准确无误地变成实物,这篇就是你该反复翻看的实操手册。核心关键词——AD、Gerber、钻孔层、叠层匹配——每一个都会落到具体参数、具体操作、具体报错现场。
2. 内容整体设计与思路拆解:AD导出Gerber的本质是“翻译”,不是“复制”
2.1 Gerber导出不是导出“图片”,而是生成一套制造指令集
很多人误以为AD导出Gerber就是把PCB视图截图存成.GBR文件,这是最大的认知误区。Gerber(RS-274X格式)本质上是一套矢量绘图指令语言,它告诉PCB工厂的CAM系统:“在坐标(X,Y)处画一条宽度为W的线段”、“在坐标(X,Y)处钻一个直径为D的孔”、“这个区域要保留铜皮,那个区域要蚀刻掉”。而钻孔文件(Excellon格式)则是另一套独立指令,专门描述钻孔位置、孔径、是否金属化、是否沉金等。AD在导出时,必须将你设计中的“物理层”(如Top Layer、Bottom Layer)和“逻辑层”(如Drill Pair 1-2、Drill Pair 3-4)精准映射到Gerber标准定义的层名(如GTL、GBL、GTS、GBO)和钻孔文件类型(PTH/NPTH)。这个过程不是简单的“复制粘贴”,而是一次严格的语义翻译。比如你在AD里把第3层设为“Internal Plane 3”,AD不会直接导出叫“Internal Plane 3”的Gerber文件;它会根据你设置的叠层结构,判断这一层实际对应的是“Layer 3”,并生成名为“G3”或“GP3”的文件(取决于工厂要求),同时在钻孔文件中明确标注哪些孔贯穿了Layer 1-3,哪些只到Layer 2-3。如果这个映射关系出错,工厂拿到的就是一堆无法关联的碎片文件。
2.2 钻孔层与叠层匹配的核心矛盾:AD的“层对”概念 vs 工厂的“钻孔对”需求
AD里没有“钻孔层”这个独立实体,所有钻孔信息都来自钻孔对(Drill Pair)的设置。这是理解整个问题的钥匙。当你在PCB编辑器里放置一个通孔焊盘(Via)或插件焊盘(Pad),AD会自动根据你设置的“Layer Stack”(叠层管理器)判断这个孔需要贯穿哪几层。例如,一个从Top Layer打到底层的孔,AD会把它归入“Drill Pair 1-16”(假设你用了16层板);而一个只从Top Layer打到Inner Layer 2的盲孔,则会被归入“Drill Pair 1-2”。关键来了:AD导出Gerber时,会为每个启用的Drill Pair生成一组文件——包括一个钻孔数据文件(.TXT/.DRL)和一个钻孔图示文件(.GD1/.GD2)。但工厂CAM系统需要的,是能明确对应到物理叠层的钻孔数据。比如你的6层板叠层是:Top(1)→ Core(2-5)→ Bottom(6),那么工厂需要知道:哪些孔是1-6(通孔)、哪些是1-2(盲孔)、哪些是5-6(埋孔)。如果你在AD的叠层管理器里把Layer 3和Layer 4的顺序搞反了,或者错误地将Layer 2设为“Core”而Layer 3设为“Prepreg”,AD生成的钻孔对就会错乱——它可能把本该是1-2的盲孔算成了1-3,导致工厂按错误叠层做钻孔,结果就是孔偏、断连、甚至报废整批板子。所以,“钻孔层与叠层匹配”的本质,是确保AD内部的层堆栈定义(Layer Stack Manager)与你向工厂提供的叠层说明(Stackup Spec)完全一致,并且所有Drill Pair的设置都严格遵循这个物理结构。
2.3 为什么“ad导入gerber转pcb”会失败?根源就在叠层信息丢失
网络上大量搜索“gerber转ad17”、“gerber文件转pcb文件”,反映出一个普遍痛点:拿到别人的Gerber想逆向学习或修改,却在AD里打不开。这恰恰印证了Gerber的局限性——它只包含图形和钻孔指令,不包含任何叠层结构、材料参数、阻抗要求等元数据。当你用AD的“File → Import → Gerber Files”功能导入时,AD只能根据文件名(如GTL.gbr, GBL.gbr)猜测层类型,但它无法知道:这个G3文件到底是内层3还是内层4?这个钻孔文件对应的是1-4还是2-5?因此,AD会默认创建一个“通用叠层”,通常只有2层或4层,所有内层都被强行映射到默认位置。这就是为什么你导入后发现铜厚不对、阻抗线宽变粗、甚至钻孔位置漂移——因为AD在“猜”,而猜错了。反过来,这也反向证明了:你自己导出Gerber时,必须主动、精确地控制叠层信息的输出。AD虽然不把叠层写进Gerber文件,但它允许你在Gerber Setup里为每个输出层指定“Layer Pair”,并在钻孔设置里明确定义Drill Pairs。这个“指定”动作,就是你向工厂传递叠层意图的唯一途径。跳过这一步,等于把解释权完全交给了工厂的工程师,而他们未必有时间或意愿去帮你“猜”。
2.4 方案选型逻辑:为什么不用“一键导出”,而要手动配置每层?
AD提供了“Fabrication Outputs → Gerber Files”和“NC Drill Files”两个向导式菜单,里面有所谓的“One Click Gerber”选项。我试过三次,每次都在量产前被工厂退回。原因很简单:一键导出依赖AD的默认模板,而默认模板是为“标准4层板”设计的。它会把所有内层统一命名为G2、G3,把钻孔对设为1-4,完全无视你实际的6层或8层结构。更危险的是,它默认开启“Drill Drawing”层,但这个层在Gerber里只是个示意图纸,工厂根本不看;真正起作用的是“Drill Guide”和钻孔数据文件。手动配置的价值在于:你能逐层确认、逐对核对。比如,你可以明确关闭不需要的层(如“Mechanical 1”如果只是画了板框,就不该导出为Gerber,而应导出为DXF);你可以为每个钻孔对单独设置“Plated”属性,确保PTH孔和NPTH孔分属不同文件;你还可以在“Advanced”选项里强制输出“Layer Stack Report”,生成一份PDF叠层说明,和Gerber一起打包发给工厂。这不是多此一举,而是把设计意图100%固化下来。我现在的标准流程是:先在Layer Stack Manager里画好叠层图,标清每层材料、厚度、铜厚;再在Gerber Setup里,让每一层输出文件名都带层号(如GTL_1.gbr, G2_2.gbr);最后导出前,用AD自带的“Gerber Viewer”逐层检查,重点看钻孔层是否与叠层图上的钻孔对完全吻合。这套流程多花15分钟,但能省下三天返工时间。
3. 核心细节解析与实操要点:从层管理器到钻孔对的完整映射链
3.1 叠层管理器(Layer Stack Manager):一切匹配的起点,必须亲手绘制
在AD里,叠层信息不是写在某个配置文件里,而是以可视化方式存在于“Design → Layer Stack Manager”中。很多人习惯用默认叠层,或者从网上下载模板,这是大忌。正确的做法是:根据你选定的PCB板材供应商(如生益、建滔、松下)提供的标准叠层表,亲手在Layer Stack Manager里构建你的6层或8层结构。以常见的6层板为例,标准叠层是:
- Layer 1: Top Copper (1oz)
- Prepreg: 1080 (0.1mm)
- Layer 2: Inner Copper 1 (1oz)
- Core: 0.8mm FR4
- Layer 3: Inner Copper 2 (1oz)
- Prepreg: 2116 (0.15mm)
- Layer 4: Inner Copper 3 (1oz)
- Core: 0.8mm FR4
- Layer 5: Inner Copper 4 (1oz)
- Prepreg: 1080 (0.1mm)
- Layer 6: Bottom Copper (1oz)
在Layer Stack Manager里,你需要:
- 点击“Add Layer”添加所有铜层(1-6),并为每层设置正确的铜厚(Copper Weight);
- 点击“Add Dielectric”添加介质层(Prepreg/Core),并输入精确厚度(Thickness);
- 在“Material”列选择对应材料(如FR4, Rogers 4350B);
- 最关键一步:点击“Drill Pairs”按钮,在弹出窗口中定义所有可能的钻孔对。对于6层板,至少要定义:1-6(通孔)、1-2(Top Blind)、5-6(Bottom Blind)、2-5(Buried)。注意:AD会自动列出所有组合,但你必须手动勾选实际用到的对,并为每对设置“Plated”(金属化)或“Non-Plated”(非金属化)。比如,你的定位孔是NPTH,就要在1-6对里取消勾选“Plated”,并确保它被分配到NPTH钻孔文件中。> 提示:Layer Stack Manager里的“Drill Pairs”设置,是AD生成钻孔文件的唯一依据。这里设错,后面所有导出都是错的。
3.2 Gerber输出设置(Gerber Setup):层名、单位、精度的三重校验
进入“File → Fabrication Outputs → Gerber Files”,这才是真正的战场。这里没有捷径,必须逐项确认:
- General选项卡:
- Units:必须选“Millimeters”(毫米)。国内99%的工厂用毫米,选“Inches”会导致所有坐标偏移25.4倍,板子直接报废。
- Format:选“4:4”(整数4位,小数4位)。这是行业黄金标准,精度0.0001mm,足够应付10um线宽。选“3:3”会损失精度,导致细线断裂。
- “Use Protel Filename Extensions”:务必勾选。这会让AD按标准命名,如Top Layer导出为“GTL.gbr”,而不是“TopLayer.gbr”,避免工厂解析失败。
- Layers选项卡:
这里是“叠层匹配”的核心操作区。左侧列表是你PCB的所有物理层,右侧是Gerber输出层。关键操作:- 只勾选你实际用到的层。比如,如果你没用阻焊开窗(Solder Mask),就不要勾选“Top Solder”;
- 对于内层,必须确保“Layer 2”对应“G2.gbr”,“Layer 3”对应“G3.gbr”,以此类推。AD默认可能把Layer 2映射到G1,这是致命错误;
- 在“Plot Layers”下拉菜单中,为每个层选择正确的Gerber类型。例如,“Top Layer”选“Copper, Top”,“Top Solder”选“Solder Mask, Top”。特别注意:“Drill Drawing”层(如GTD.gbr)只是示意图,工厂不认,可以不勾选;但“Drill Guide”(如GD1.gbr)必须勾选,它是钻孔文件的图示索引。
- Advanced选项卡:
- “Include Netlist Information”:勾选。这会在Gerber里嵌入网络名,方便工厂做飞针测试;
- “Output Layer Stack Report”:强烈建议勾选。它会生成一个PDF,清晰列出所有层厚度、材料、钻孔对,是给工厂的“叠层说明书”;
- “Generate Test Point Report”:如果板子有ICT测试点,务必勾选,生成单独的测试点报告。
3.3 钻孔文件(NC Drill Files)设置:PTH/NPTH分离与孔径表的生死线
钻孔设置在“File → Fabrication Outputs → NC Drill Files”里。这里比Gerber设置更敏感,因为一个孔径设错,整板钻孔就废了。
- General选项卡:
- Units:同样必须是“Millimeters”;
- Format:同样“4:4”;
- “Drill Drawing”:勾选,生成钻孔图示(.GD1);
- “Drill Guide”:勾选,生成钻孔索引(.GD2);
- “Separate Plated and Non-Plated Holes”:必须勾选。这是区分PTH(金属化孔)和NPTH(非金属化孔)的关键。不勾选,所有孔混在一个文件里,工厂无法区分哪些要电镀,哪些不能电镀。
- Drill Pairs选项卡:
这里必须与Layer Stack Manager里的设置完全一致。AD会列出所有已定义的Drill Pairs,你只需为每个对勾选“Enable”。例如,如果你在叠层管理器里定义了1-6、1-2、5-6三个对,这里就必须只勾选这三个,不能多也不能少。 - Advanced选项卡:
- “Generate Drill Table”:勾选。这会生成一个.TXT文件,列出所有孔径、数量、位置范围,是工厂编程钻孔机的直接依据;
- “Use Metric Units in Drill Table”:勾选,确保孔径单位是mm;
- “Minimum Hole Size”:填入你设计的最小孔径(如0.2mm)。AD会自动过滤掉小于这个值的孔,避免工厂无法加工。> 注意:这个值必须和你选用的PCB厂家能力匹配。比如,普通厂家最小孔径是0.2mm,你设成0.15mm,导出的钻孔表里就会有大量0.15mm孔,工厂直接拒收。
3.4 阻焊层(Solder Mask)与丝印层(Silkscreen)的隐藏陷阱
阻焊和丝印层看似简单,却是工厂投诉最多的两层。问题出在“开窗”和“覆盖”逻辑上。
- 阻焊层(Solder Mask):
AD默认的阻焊开窗(Solder Mask Expansion)是+0.1mm,意思是焊盘边缘向外扩展0.1mm。但很多新手会手动改成-0.1mm,以为这样能“收紧”开窗,结果导致焊盘被阻焊油墨覆盖,焊接不上。正确做法是:保持默认+0.1mm,如果觉得开窗太大,应该在“Design → Rules → Manufacturing → Solder Mask Expansion”里,为特定网络(如高密度BGA)单独设置更小的Expansion值,而不是全局修改。 - 丝印层(Silkscreen):
丝印文字不能压在焊盘上,否则会遮挡焊盘。AD有“Silkscreen Clearance”规则,但默认值(0.15mm)经常不够。我的经验是:在BGA区域,把Clearance设为0.25mm;在普通插件孔区域,设为0.2mm。设置路径:“Design → Rules → Placement → Silkscreen Clearance”。> 实操心得:导出Gerber前,一定要用AD的“View → Board Insight → Show/Hide”功能,关闭所有层,只开“Top Overlay”和“Top Layer”,肉眼检查丝印是否压焊盘。我曾因一个0805电阻的丝印字“R1”压在焊盘上,被工厂退回重做。
4. 实操过程与核心环节实现:从AD25到工厂CAM的全流程验证
4.1 AD25导出Gerber文件步骤:以6层板为例的逐帧操作记录
现在,我们以AD25(当前最新稳定版)为例,走一遍完整的导出流程。假设你已完成6层板设计,叠层已在Layer Stack Manager里定义完毕。
第一步:预检查(5分钟)
- 按快捷键“L”打开“View Configuration”,确保所有层(包括Mechanical层)都可见;
- 按“Ctrl+Shift+D”打开“PCB Panel”,切换到“Nets”标签,检查是否有未连接的网络(Un-Routed Nets),确保布线100%完成;
- 按“T → U”运行“Design Rule Check”,重点查看“Manufacturing”类规则,确保没有“Solder Mask Sliver”(阻焊碎屑)或“Silk to Solder Mask”(丝印压阻焊)错误。
第二步:配置叠层与钻孔对(10分钟)
- 进入“Design → Layer Stack Manager”,确认Layer 1-6的铜厚、介质厚度、材料全部正确;
- 点击“Drill Pairs”,确认已启用:1-6(PTH)、1-2(Blind)、5-6(Blind)、2-5(Buried)。为1-6对勾选“Plated”,为其他对也根据设计勾选“Plated”(盲埋孔通常也是金属化的);
- 关闭窗口,保存。
第三步:Gerber输出设置(15分钟)
- “File → Fabrication Outputs → Gerber Files”;
- General:Units=Millimeters,Format=4:4,勾选“Use Protel Filename Extensions”;
- Layers:只勾选“Plot Layers”下的1-6(Copper)、GTS/GBS(Solder Mask)、GTO/GB0(Silkscreen)、GD1/GD2(Drill Guide);
- 特别注意:Layer 2必须映射到“G2.gbr”,Layer 3到“G3.gbr”,依此类推;
- Advanced:勾选“Include Netlist Information”和“Output Layer Stack Report”;
- 点击“OK”,AD开始生成,等待完成。
第四步:钻孔文件输出(10分钟)
- “File → Fabrication Outputs → NC Drill Files”;
- General:Units=Millimeters,Format=4:4,勾选“Drill Drawing”、“Drill Guide”、“Separate Plated and Non-Plated Holes”;
- Drill Pairs:只勾选Layer Stack Manager里启用的那几个对;
- Advanced:勾选“Generate Drill Table”,“Use Metric Units”,“Minimum Hole Size”填0.2;
- 点击“OK”,生成.DRL(PTH)、.NCD(NPTH)、.GD1、.GD2、.TXT文件。
第五步:文件包整理与命名(5分钟)
- 新建文件夹,命名为“ProjectName_Gerber_YYYYMMDD”;
- 将所有Gerber文件(.gbr)、钻孔文件(.drl, .ncd, .gd1, .gd2, .txt)、叠层报告(.pdf)放入;
- 创建“Readme.txt”,写明:板子层数、主要材料、表面处理(如ENIG)、特殊要求(如阻抗控制层、盲埋孔说明);
- 压缩为ZIP,发送给工厂。
我的实测记录:上周导出一块6层高速板,按此流程耗时45分钟。工厂收到后2小时内回复“文件完整,叠层清晰,可安排排产”,比之前用一键导出平均快3天。
4.2 文件内容深度解析:用文本编辑器看懂Gerber和钻孔文件
导出完成后,不要急着发给工厂,先用记事本打开几个关键文件,看懂它们在说什么。
打开一个Gerber文件(如GTL.gbr):
文件开头是类似%FSLAX44Y44*%的代码,这是格式声明(4:4精度);
接着是%MOIN*%,表示单位是英寸?错!这是Gerber的坑——MOIN其实是“Mode Inch”,但AD默认导出时,即使你选了Millimeters,这里也显示MOIN。别慌,看下一行:%IPPOS*%(正性图像),然后是%LPD*%(暗场),这些都是标准头。真正重要的是中间的X12345Y67890D02*,这是坐标指令。用计算器算一下:12345×0.0001mm = 1.2345mm,这就是第一个坐标的X值。这证明了:单位是毫米,精度是0.0001mm。打开钻孔文件(如PTH.drl):
开头是M48(Excellon开始指令),接着是FMAT,2(格式版本2),然后是INCH,TZ(单位英寸?又一个坑!)。但看数据行:T01C0.3000,这里的0.3000是0.3mm,不是0.3英寸。因为AD在导出时,会把毫米值直接写进去,TZ只是格式标识。关键看T01后面的孔径表,它列出了所有用到的孔径(如0.2mm, 0.3mm, 0.4mm),以及每个孔径对应的孔数。工厂的钻孔机就是按这个表来换钻头的。打开钻孔表(.txt):
这是最直观的文件。它会清晰列出:Drill Size: 0.20mm | Count: 1245 | Min X: 12.34mm | Max X: 89.56mm | Min Y: 5.67mm | Max Y: 78.90mm Drill Size: 0.30mm | Count: 342 | ...这个表必须和你设计的焊盘孔径完全一致。如果表里有0.15mm孔,而你的设计里最小孔是0.2mm,说明AD错误地导出了泪滴(Teardrop)或过孔(Via)的孔径,需要回去检查规则。
4.3 工厂CAM系统如何解析你的文件:从Gerber到实物的三道关卡
你的文件发给工厂后,会经历三道关卡,每一道都可能卡住:
第一关:Gerber文件语法校验
CAM系统(如Genesis、Cam350)首先检查Gerber文件是否符合RS-274X标准。如果AD导出的文件里有非法字符(如中文注释)、格式错误(如缺少%结束符),系统会直接报错“Invalid Gerber Syntax”,拒绝导入。这就是为什么必须用AD官方导出,而不是用第三方插件。第二关:层对齐与叠层匹配
系统会读取所有Gerber文件(GTL, GBL, G2, G3...)和钻孔文件(.drl),尝试将它们在XY坐标系里对齐。如果GTL和G2的板框(Board Outline)坐标不一致,系统会报警“Layer Misalignment”。这时,工厂工程师会看你发的叠层报告(.pdf),确认G2是否真的对应内层2。如果报告里写的是“G2 = Inner Layer 3”,而文件里G2的图形明显是内层2,就会判定“叠层不匹配”,要求你重发。第三关:钻孔对验证
系统会提取钻孔文件里的所有孔坐标,然后在GTL、G2、G3等铜层文件里搜索这些坐标位置是否有焊盘或过孔。如果一个标为“1-6”的孔,在G2层对应位置没有铜皮(即不是通孔),系统会标记为“Drill Mismatch”,认为这个孔可能是盲孔,但文件里没提供对应的盲孔钻孔对。这时,工厂会联系你,问:“这个孔是1-2盲孔吗?请提供1-2钻孔文件。”
我的避坑经验:每次发文件前,用免费的GC-Prevue软件(官网可下载)打开所有Gerber和钻孔文件,手动旋转、缩放,检查GTL和G2的板框是否完全重合,检查钻孔点是否都落在铜皮上。这个动作花3分钟,能避开80%的工厂返工。
4.4 不同AD版本(AD17/AD19/AD23/AD24/AD25)的导出差异与兼容性处理
网络热词里充斥着“ad17导gerber”、“ad23导出gerber文件”,说明版本差异确实带来困扰。核心差异点有三个:
- 默认单位变化:AD17及更早版本,默认Gerber单位是“Inches”,AD19开始默认改为“Millimeters”。如果你用AD17导出,忘记手动切到毫米,文件就是错的。解决方案:在AD17的Gerber Setup里,务必手动把Units从“Inches”改成“Millimeters”。
- 叠层管理器升级:AD19引入了更直观的Layer Stack Manager,支持拖拽调整层序;AD23进一步增加了材料库(Material Library),可以直接选择生益S1000-2的参数。但老版本(AD17)的叠层管理器是文本式的,容易输错厚度。建议:如果还在用AD17,导出前务必用“Tools → Layer Stack Manager → Export Stackup”导出一份CSV,用Excel检查所有厚度值是否合理。
- 文件命名规则:AD24/AD25默认启用“Use Protel Filename Extensions”,而AD19需要手动勾选。如果你用AD19导出,没勾选此项,文件名会是“TopLayer.gbr”,工厂的旧系统可能无法识别。解决方案:在AD19里,进入“Options → Preferences → PCB Editor → General”,勾选“Use Legacy Filenames for Gerber Output”,强制使用标准命名。
补充技巧:如果你的团队有不同版本AD,建议统一用AD25。它的导出引擎最稳定,且向后兼容。我测试过:用AD25导出的Gerber,AD17可以完美导入查看(虽然不能编辑),但反过来不行。
5. 常见问题与排查技巧实录:那些让我凌晨三点改文件的真实案例
5.1 典型问题速查表:症状、原因、解决方法
| 问题现象 | 可能原因 | 解决方法 | 我的实操记录 |
|---|---|---|---|
| 工厂反馈:“Drill file missing layer pair 2-5” | 在Layer Stack Manager里定义了2-5钻孔对,但在NC Drill Files的Drill Pairs选项卡里没勾选启用 | 进入NC Drill Files → Drill Pairs,找到“2-5”对,勾选“Enable”,重新导出 | 上周一个8层板,因漏勾2-5对,工厂等了2天才通知,重发后当天排产 |
| Gerber Viewer里G2层图形是空的 | 在Gerber Setup的Layers选项卡里,Layer 2没勾选,或错误地映射到了G1 | 打开Gerber Setup → Layers,找到“Layer 2”,在“Plot Layers”下拉菜单中选择“Copper, Inner 2”,并勾选 | 一个客户用AD20,把Layer 2映射到G1,导致内层2图形全丢,重做叠层花了1小时 |
| 钻孔表(.txt)里出现0.15mm孔,但设计里没有 | 设计中用了“Teardrop”(泪滴)规则,且泪滴的过孔尺寸设得太小 | 进入“Design → Rules → Manufacturing → Teardrop”,将“Via Size”最小值设为0.2mm,重新铺铜 | 我第一次做HDI板,泪滴生成了0.15mm孔,工厂说“无法加工”,紧急修改规则后重导 |
| 丝印文字在Gerber里显示为方块(□) | 丝印层用了非标准字体(如微软雅黑),Gerber不支持TrueType字体 | 在“Design → Font”里,将所有丝印字体改为“Default Sans Serif”或“Courier New” | 一个LED灯板,丝印用楷体,导出后全是方块,工厂看不懂,改字体后5分钟搞定 |
| 阻焊层(GTS)里焊盘开窗太大,露出太多铜 | “Solder Mask Expansion”全局设为+0.2mm,但BGA区域需要更小值 | 进入“Design → Rules → Manufacturing → Solder Mask Expansion”,为BGA网络新建规则,Expansion设为+0.05mm | 一个Xilinx FPGA板,BGA焊盘开窗太大,导致焊接短路,按此法解决 |
5.2 高级排查技巧:用AD内置工具做交叉验证
AD自带的验证工具比你想象的更强大,善用它们能省下大量时间:
Gerber文件对比(Gerber Compare):
如果你修改了设计,需要确认新旧Gerber差异,不要肉眼对比。用“File → Fabrication Outputs → Gerber Compare”,加载新旧两个Gerber文件夹,AD会自动生成差异报告(Difference Report),高亮显示新增、删除、移动的图形。我用它发现过一次:修改了电源层分割,但忘了更新阻焊开窗,差异报告里红色高亮了所有新增的阻焊开窗,一目了然。钻孔文件统计(Drill Report):
“Reports → Drill Report”会生成一个HTML报告,列出所有孔径、数量、所在层对。把它和你导出的.TXT钻孔表对比,如果数量不一致,说明AD在导出时漏掉了某些孔。常见原因是:某些焊盘被设为“No Net”,AD默认不导出无网络焊盘的钻孔。解决方案:在“Design → Options → PCB Options”里,勾选“Include Un-Routed Nets in Drill Report”。3D模型叠加验证:
导出Gerber后,不要关AD。按“3”切换到3D视图,然后“File → Import → Gerber Files”,把刚导出的Gerber再导入回来。这时,你会看到一个“虚拟PCB”,它和你的原始设计完全重叠。放大检查:钻孔点是否和焊盘中心完全重合?内层图形是否和3D模型里的铜皮一致?这个操作能100%验证导出的准确性。我称之为“AD的终极自检”,从未失手。
5.3 工厂沟通话术:如何专业地回应CAM工程师的质疑
当工厂CAM工程师给你发邮件质疑文件时,别慌,用技术语言回应:
如果对方说:“G3 layer seems to be misaligned with GTL”
回复:“Thank you for the feedback. We confirm G3 corresponds to Inner Layer 3 as defined in our Layer Stack Manager (attached Stackup Report). The board outline in G3 is intentionally offset by 0.1mm to accommodate core thickness tolerance. Please align G3 using the fiducial marks (FID1, FID2) rather than the board outline.”(附上叠层报告PDF)如果对方说:“Drill file has 0.18mm holes but your spec says min 0.2mm”
回复:“The 0.18mm holes are via-in-pad for RF traces, which require laser drilling. We have confirmed with your engineering team that your laser drill capability supports 0.18mm. Please process these as ‘Laser Drilled Vias’ per our special instructions.”(附上和工厂的邮件确认记录)
我的经验:永远不要说“我检查了,没问题”。要说“我复核了Layer Stack Manager的设置,确认G3对应Inner Layer 3;我对比了Gerber文件,确认板框偏移是设计预留;我附上了叠层报告供您参考”。用证据说话,工程师会立刻信任你。
5.4 终极避坑清单:导出前必须做的7件事
在你点击“OK”导出Gerber前,请务必完成以下7件事,缺一不可:
- 检查Layer Stack Manager:所有层厚度、材料、钻孔对是否100%正确?
- 运行DRC:确保没有“Solder Mask Sliver”、“Silk to Solder Mask”等制造类错误;
- 检查钻孔表(.txt):最小孔径是否