
1. 这不是“点一下就完事”的操作——AD中PCB生产文件输出的本质是制造语言的精准翻译很多人把Altium Designer里导出Gerber、NC Drill、DXF这些文件当成一个“导出按钮点击流程”。我刚入行那会儿也这么想直到第一次打样回来的板子上所有焊盘都偏移了0.15mmBGA器件根本没法贴——工厂反馈“钻孔文件坐标原点没对齐Gerber层叠顺序错了一层你们用的是IPC-2581但没勾选单位强制毫米”。那一刻我才明白AD里的“输出生产文件”根本不是软件功能而是一次面向PCB制造商的工程级技术沟通。它要求你同时扮演电路设计师、工艺工程师和制造协调员三重角色。核心关键词AD、PCB、Gerber、NC Drill、DXF每一个都不是孤立文件格式而是制造链路上的特定语义单元Gerber是光绘机的“图纸指令集”NC Drill是CNC钻床的“坐标动作序列”DXF是机械加工设备识别的“轮廓边界定义”。它们共同构成PCB从设计数据到物理实体的完整制造契约。而AD作为设计端工具其输出模块本质是一个“制造协议编译器”——它不生成文件而是将你的设计意图按IPC-2581或RS-274X等工业标准翻译成工厂产线能无歧义执行的机器语言。这解释了为什么网络热搜里反复出现“ad导出gerber文件教程”“ad25导出gerber文件步骤”这类长尾词大家要的从来不是操作路径而是如何避免翻译失真。比如“ad在铜皮里面走线怎么避让了”表面问布线技巧实际是担心铺铜区域与走线的DRC规则在Gerber层被错误解析“ad导出dxf文件”背后是结构件开模需要精确的板框轮廓而DXF若未导出为1:1真实尺寸且单位锁定毫米模具厂直接按英寸加工整块PCB就报废了。所以这篇内容不叫“AD导出教程”而叫“AD_PCB生产文件-输出”。它聚焦于输出环节的决策逻辑、参数陷阱与验证闭环——即当你按下“Fabrication Outputs”菜单时真正该思考的三个问题第一这份文件要交给谁嘉立创深南电路还是自家SMT车间第二对方产线当前支持哪套工艺规范比如是否接受负片Gerber、是否要求独立的 solder mask expansion 文件第三你的设计数据里哪些隐含状态会影响输出结果比如多边形铺铜的热焊盘连接方式、3D封装体是否参与机械层输出。接下来每一节都围绕这三个问题展开实操推演。2. Gerber输出别再迷信默认设置——层叠顺序、单位、极性才是生死线Gerber文件是PCB制造最核心的输入但它绝非“导出即用”。我在2022年帮一家医疗设备公司处理过一批6层板他们用AD19默认设置导出Gerber送到嘉立创打样后阻焊层solder mask完全覆盖了所有焊盘导致无法上锡。复盘发现AD默认导出的solder mask层是正片Positive而嘉立创产线要求的是负片Negative——正片文件里白色区域代表要保留阻焊黑色区域是开窗负片则相反。工厂按负片逻辑解析默认把所有焊盘区域当作了要覆盖的区域。2.1 层叠映射必须人工核验而非依赖软件自动匹配AD的Gerber输出界面File → Fabrication Outputs → Gerber Files看似简单但关键在“Layers”页签。这里不是勾选“Top Layer”“Bottom Layer”就完事而是要逐层确认三件事物理层与Gerber层的映射关系AD中的“Mechanical 1”层在Gerber中可能对应“Board Outline”板框也可能对应“Drill Drawing”钻孔图。必须手动指定——点击“Mechanical 1”右侧的下拉框选择“Board Outline”否则工厂会把你的结构件开孔图当成板边切割线。层名标准化嘉立创、捷多邦等主流厂商要求Gerber层名严格遵循IPC命名规范。例如顶层阻焊层必须命名为“GTL”Gerber Top Soldermask而非AD默认的“Top Solder Mask”。在“Advanced”页签中勾选“Use Gerber extensions”后系统会自动添加.gtl/.gbl等后缀但层名前缀仍需手动修正。实测发现若层名含空格或中文如“顶层阻焊层”部分国产CAM软件会直接报错无法导入。层叠顺序决定压合逻辑6层板的Gerber输出顺序必须与PCB叠层结构一致。假设叠层为Top Copper → PP1 → Inner1 → Core → Inner2 → PP2 → Bottom Copper则Gerber文件输出顺序应为GTLTop、G1LInner1、G2LInner2、GBLBottom。若顺序错乱如G1L排在GTL之后工厂压合时内层图形会错位。AD不会校验此逻辑全靠设计师人工比对叠层图Design → Layer Stack Manager。提示在“Gerber Setup”对话框中点击“Plot Layers”页签右下角的“Setup…”按钮可打开层映射编辑器。这里能看到每层的Gerber类型Copper、Soldermask、Silkscreen等及对应文件名。务必导出后用GC-Prevue软件打开逐层检查图形位置、尺寸、极性是否与AD设计视图完全一致。2.2 单位与精度0.001mm的误差足以让BGA失效Gerber文件的单位设置藏在“General”页签的“Units”选项中只有“Inches”和“Millimeters”两个选择。但陷阱在于单位选择不仅影响坐标数值更决定小数点后位数精度。AD默认使用Inches单位此时坐标精度为1/1000 inch≈0.0254mm若切换为Millimeters精度提升至1/10000 mm0.0001mm。对于0.4mm间距的BGA器件0.0254mm的坐标误差已超出焊盘公差通常±0.05mm导致贴片偏移。实操验证方法在AD中画一个10mm×10mm的矩形放置在原点(0,0)。用Inches单位导出Gerber后用文本编辑器打开.gtl文件搜索“X0Y0”附近坐标会看到类似“X10000Y10000”单位为mils1mil0.001inch改用Millimeters单位导出同一位置坐标变为“X100000Y100000”单位为1/10000mm。后者精度高10倍但需确保工厂CAM软件支持该精度——部分老式设备只识别mils单位。注意NC Drill文件的单位必须与Gerber严格一致。若Gerber用Millimeters而Drill用Inches钻孔坐标会整体缩放25.4倍后果是所有孔位飞出板外。AD的Drill文件输出File → Fabrication Outputs → NC Drill Files中“Units”选项必须与Gerber设置完全相同。2.3 极性设置正片与负片的底层逻辑与规避策略Gerber极性Polarity指图形的显示逻辑正片中白色区域为铜箔/阻焊保留区负片中白色区域为开窗/去除区。现代PCB厂普遍支持正片但仍有两类场景必须用负片阻焊层Soldermask当设计中有大量细密焊盘如0201封装时负片文件体积更小且避免因光绘机分辨率限制导致焊盘边缘锯齿化。钢网层Paste MaskSMT贴片用的锡膏钢网必须用负片——白色区域代表要开孔的位置。AD中设置极性的位置在“Gerber Setup” → “Layers”页签每层右侧有“Polarity”下拉框。但关键陷阱是某些层如Mechanical层不支持极性切换强行设置会导致输出失败。我的经验是仅对Copper、Soldermask、Paste Mask三层设置极性其他层保持默认。验证方法用CAM350打开Gerber文件切换“View” → “Polarity”选项。若阻焊层在正片模式下焊盘为黑色开窗而在负片模式下焊盘为白色开窗说明极性设置正确。若两种模式下图形不变则该层不支持极性切换。3. NC Drill文件钻孔数据不是“导出就完事”坐标原点与孔表才是交付核心NC Drill数控钻孔文件是PCB制造中另一关键输入它告诉钻床“在哪里打多大的孔”。但很多设计师只关注“导出Drill文件”却忽略了一个致命细节钻孔坐标的参考原点Origin必须与Gerber板框原点严格重合。我在2023年处理过一个4层工控板项目Gerber板框原点设在左下角而NC Drill原点设在板中心结果工厂钻孔时所有孔位向右下偏移了50mm整批板报废。3.1 原点一致性AD中唯一可靠的设置路径AD的NC Drill输出界面File → Fabrication Outputs → NC Drill Files中“Origin”选项有三个值Absolute、Relative、User Defined。其中Absolute以PCB文档左下角为原点0,0。这是最安全的选择因为Gerber板框Board Outline默认也以左下角为原点。Relative以当前光标位置为原点。极易出错除非你明确知道光标位置且已锁定。User Defined自定义坐标。需手动输入X/Y值风险极高。实操中我强制要求团队所有项目统一使用“Absolute”原点。但仅此不够——还需验证Gerber板框是否真的以左下角为原点。方法在AD中打开PCB文件按CtrlShiftD调出“Board Planning Mode”查看右下角状态栏显示的“Board Size”和“Origin”。若Origin显示为非零值如X:10mm, Y:5mm说明板框被移动过此时必须执行“Design → Board Shape → Define Board Shape”重新绘制板框并确保起点在(0,0)。提示在“NC Drill Setup”对话框中“Report Options”页签勾选“Generate drill report”会输出一份.txt格式的钻孔报表。该报表包含每种孔径的数量、位置坐标、孔类型PTH/NPTH。务必检查报表中第一个孔的坐标是否接近(0,0)若为(50.8,25.4)之类数值说明原点已偏移。3.2 孔表Drill Table制造端最依赖的工艺依据NC Drill文件本身.txt或.drl只包含坐标和孔径但工厂真正依赖的是钻孔报表Drill Report。这份报表详细列出每种孔径对应的钻头编号如DRILL-1: 0.3mm, DRILL-2: 0.5mm每种孔径的总数量孔类型Plated Through Hole / Non-Plated Through Hole是否为背钻孔BackdrillAD生成钻孔报表的路径是File → Fabrication Outputs → Drill Drawings。这里输出的.pdf文件就是工厂工艺工程师制定钻孔程序的直接依据。常见错误是设计师只导出.drl文件却忘了生成Drill Drawings。结果工厂按常规孔径加工而你的设计中有0.2mm的微孔需特殊钻头最终导致孔壁粗糙、断钻。实操要点在“Drill Drawings”设置中“Drill Pairing”必须勾选“Show drill pairs”确保PTH和NPTH孔分开标注。“Scale”设为1:1禁用缩放——任何比例缩放都会导致孔径标注失真。输出前在AD中用“Reports → Drill Report”生成一份.csv报表与Drill Drawings.pdf交叉验证csv中“Hole Size”列的数值必须与pdf中对应钻头编号的标注完全一致。3.3 钻孔文件格式Excellon 1 vs Excellon 2的兼容性抉择AD导出的NC Drill文件默认为Excellon 2格式.xln但部分老式钻床只支持Excellon 1.drl。两者核心区别在于Excellon 1单位固定为inch精度1/1000 inch不支持多层板的层间对齐标记。Excellon 2支持mm/inch双单位支持层间对齐孔Fiducial定义支持更复杂的孔类型如槽孔。若你的PCB需送至中小厂加工务必确认其设备支持情况。我的做法是在“NC Drill Setup” → “Advanced”页签中勾选“Excellon 1 format”并手动设置“Unit”为“Inches”。但需同步修改Gerber单位为Inches否则坐标系统不匹配。验证方法用文本编辑器打开.drl文件Excellon 1文件开头为“%MOMM*”表示mm单位或“%MOIN*”表示inch单位Excellon 2文件开头为“M48”指令。若看到“M48”说明是Excellon 2格式。4. DXF输出机械加工的“轮廓契约”单位锁定与图层净化是成败关键DXF文件在PCB制造中承担着板框切割、安装孔定位、散热槽开模等机械加工任务。但网络热搜中“dwg文件导入ad”“ad导入gerber转pcb”等词暴露出一个普遍误区DXF不是设计交换格式而是制造执行格式。它不传递电气信息只定义物理边界的精确几何形状。因此AD导出DXF的核心目标不是“能导出”而是“导出后工厂能1:1加工”。4.1 单位锁定毫米制是唯一安全选项AD的DXF输出路径为File → Export → DXF。关键设置在“DXF Export”对话框的“Units”选项中有Millimeters、Inches、Meters三种。必须选择Millimeters理由如下国内所有PCB厂的CNC切割机、激光切割机均以mm为默认单位。若导出Inches单位DXF工厂需手动缩放25.4倍极易遗漏导致尺寸错误。AD中PCB的物理尺寸如板长100mm在mm单位下存储为整数100在Inches单位下存储为小数3.937浮点运算可能引入微小误差如3.9370001累积后导致板框闭合不严。实操验证导出DXF后用AutoCAD或FreeCAD打开执行“LIST”命令查看任意一条线段长度。若显示为“100.0000”说明单位正确若显示为“3.9370”或“100.0001”则单位或精度设置有误。注意DXF导出前务必在AD中执行“Design → Board Shape → Repour Selected Polygons”确保所有铺铜区域已重新计算。否则DXF中可能包含未更新的旧板框轮廓。4.2 图层净化只保留机械层删除所有无关元素DXF文件中混入电气层如Top Layer走线、丝印层Silkscreen是重大风险。工厂CNC机床会将所有线条视为切割路径导致走线被误切板子断裂丝印文字被铣削影响外观多余图层增加文件体积CAM软件解析失败。AD中DXF导出的图层控制在“DXF Export” → “Layers”页签。这里必须做到仅勾选Mechanical 1层假设你已将板框、安装孔、散热槽等全部绘制在Mechanical 1层取消勾选所有其他层Top Layer、Bottom Layer、Keepout Layer、Silkscreen等勾选“Include only selected layers”避免AD自动包含隐藏层。我的经验是在导出前先在AD中执行“View → Panels → PCB”打开PCB面板点击“Mechanical 1”层右侧的“eye”图标仅显示该层。然后按CtrlA全选确认选中对象仅为板框线、安装孔圆弧、散热槽多边形。若有其他元素被选中说明图层未净化干净。4.3 闭合轮廓与零宽线DXF的几何健壮性校验DXF文件中最隐蔽的坑是“非闭合轮廓”和“零宽线”。例如板框由四条线段首尾相接构成但第四条线段终点与第一条线段起点存在0.001mm间隙CAM软件会将其识别为开放路径拒绝生成切割程序。AD中校验方法在Mechanical 1层绘制板框时必须使用“Place → Line”工具而非“Place → Rectangle”。Rectangle工具生成的矩形在DXF中可能被分解为四条独立线段易产生间隙。绘制完成后执行“Tools → Polygon Pour → Repour Selected”再右键点击板框 → “Properties”检查“Outline”是否显示为“Closed”。导出DXF后用QCAD打开执行“Info → Distance”测量相邻线段端点距离。若大于0.005mm需返回AD重新绘制。提示在“DXF Export”对话框中“Options”页签勾选“Export as polylines”可将多段线合并为单个闭合多段线大幅提升几何健壮性。但需确保AD中原始图形已闭合否则合并无效。5. 输出验证闭环三步法确认文件零缺陷交付导出Gerber、NC Drill、DXF后90%的设计师会直接打包发送给工厂。但真正的专业交付必须建立一套本地验证闭环。我坚持的三步法已在50个项目中零失误验证5.1 第一步用GC-Prevue进行跨文件层叠对齐验证GC-Prevue是免费的Gerber/CAM查看器其核心价值在于多文件层叠比对。操作流程将导出的全部Gerber文件.gtl, .gbl, .gts, .gbs等、NC Drill文件.drl、DXF文件.dxf拖入GC-Prevue。点击“View” → “Layer Settings”为每类文件分配颜色如Top Copper设为红色Bottom Copper设为蓝色Drill设为黄色DXF设为绿色。关键操作勾选“Align Layers” → “By Origin”让所有文件以同一原点对齐。放大至1:1检查所有钻孔黄色点是否精确落在对应层的焊盘中心DXF板框绿色线是否与Gerber板框如Mechanical层完全重合阻焊开窗GTS层是否完全覆盖焊盘且无多余覆盖。若发现钻孔偏移立即返回AD检查NC Drill原点设置若DXF板框错位检查AD中Mechanical 1层是否被移动过。5.2 第二步用CAM350执行DRC设计规则检查CAM350不仅能查看更能执行制造级DRC。重点检查三项Soldermask Clearance阻焊开窗与焊盘的最小间距。在“Analysis” → “Check Design” → “Soldermask”中设置阈值通常0.1mm若报错说明阻焊层有覆盖风险。Copper to Edge铜箔到板边的最小距离。在“Analysis” → “Check Design” → “Copper to Edge”中设置通常0.2mm防止锣槽时铜箔被削掉。Drill to Copper钻孔到铜箔的最小距离。在“Analysis” → “Check Design” → “Drill to Copper”中设置通常0.25mm避免钻孔破环铜箔。注意CAM350的DRC规则库需根据工厂工艺能力定制。例如嘉立创官网公布的最小线宽/线距为0.127mm你的DRC阈值必须≤此值。5.3 第三步生成IPC-2581压缩包实现交付标准化IPC-2581是新一代PCB制造数据交换标准它将Gerber、Drill、BOM、装配图等全部整合为一个.xml文件并附带校验码。相比传统多文件打包优势在于工厂只需导入一个文件自动解析所有层内置SHA-256校验确保传输过程无损坏支持元数据如板材型号、阻燃等级减少沟通成本。AD导出IPC-2581的路径File → Fabrication Outputs → IPC-2581 Export。关键设置“Output Format”选择“IPC-2581C”最新版“Include”中勾选“Bill of Materials”“Assembly Drawings”“Netlist”“Compression”勾选“Zip archive”生成.zip包。交付时将.zip包与一份README.txt同发。README中写明板材要求如FR-4, TG170表面处理如ENIG、HASL特殊工艺如沉金厚度、阻焊颜色关键尺寸公差如板厚±0.1mm。这样工厂收到的不是一堆文件而是一份完整的制造契约。6. 实战避坑清单那些没人告诉你、但会让你返工三次的细节最后分享我在AD生产文件输出中踩过的12个坑每个都曾导致打样失败或工厂拒收。这些细节不在官方文档里却是真实产线的雷区坑1铺铜热焊盘Thermal Relief的Gerber表现AD中设置的热焊盘连接如4 spoke, 0.3mm width在Gerber中会生成十字形铜桥。但若铺铜区域未重新灌注RepourGerber中仍显示旧的实心焊盘。解决每次修改铺铜后必执行“Tools → Polygon Pour → Repour All”。坑23D封装体意外导出到机械层若元件3D模型的机械层Mechanical Layer被启用导出DXF时会将3D模型轮廓一并输出导致CNC误切。解决在“PCB Library”中双击3D模型 → “Properties” → 取消勾选“Include in mechanical layers”。坑3字体大小影响丝印可读性AD默认丝印字体高度为10mil0.254mm但嘉立创要求≥6mil。若使用超小字体如5mil工厂会提示“丝印不可辨识”。解决在“Design → Rules → Manufacturing → Silkscreen”中将“Minimum Silk Width”设为6mil“Minimum Silk Height”设为10mil。坑4负片Gerber的阻焊扩展Soldermask Expansion当阻焊层设为负片时AD中设置的“Soldermask Expansion”值如0.102mm会被反向应用。若未调整焊盘开窗会过大。解决负片模式下将Expansion值设为负数如-0.102mm。坑5多板拼版Panelization的原点错位拼版后若未将拼版原点Origin设在单板左下角Gerber和Drill原点会不一致。解决拼版完成后执行“Design → Board Shape → Define Board Shape”以单板左下角为起点重绘拼版板框。坑6BGA底部的阻焊开窗遗漏BGA器件底部常需阻焊开窗以便散热但AD默认不为此区域生成开窗。解决在BGA封装的“Pad Properties”中为底部焊盘单独设置“Solder Mask Expansion”为正值。坑7差分对走线的阻焊开窗高速差分对需裸铜以控制阻抗但AD不会自动为其生成阻焊开窗。解决在差分对走线上方手动放置“Solid Region”并设置其“Layer”为“Top Solder Mask”“Properties”中勾选“Keep Out”以移除阻焊。坑8安装孔的镀层类型误设安装孔若需导电如接地必须设为PTHPlated Through Hole若仅机械固定应为NPTHNon-Plated。AD中默认为PTH易被忽略。解决双击安装孔 → “Properties” → “Hole Type”设为NPTH并在Drill Report中确认。坑9板边倒角的DXF表达板边倒角Chamfer在AD中用圆弧绘制但DXF导出时若未闭合CAM软件无法识别为倒角。解决倒角圆弧两端必须与板边直线精确相切用“Tools → Measure → Distance”验证切点距离为0。坑10嘉立创特殊要求的阻焊层命名嘉立创要求阻焊层文件名必须为“GTS”Top Soldermask和“GBS”Bottom Soldermask而非AD默认的“Top Solder Mask”和“Bottom Solder Mask”。解决在Gerber输出的“Advanced”页签中手动修改文件名。坑11钢网层Paste Mask的极性混淆Paste Mask必须用负片但AD中“Polarity”设置与Soldermask层共用。若Soldermask用正片而Paste Mask用负片需分别设置。解决在Gerber Layers页签中为GTP/GPB层单独设置Polarity为Negative。坑12版本号嵌入Gerber文件名工厂需区分不同版本文件。AD不支持自动添加版本号。解决导出后用批量重命名工具如Ant Renamer为所有Gerber文件添加后缀如“_V1.2.gtl”。这些坑每一个都曾让我加班到凌晨。现在我把它们列在这里不是为了展示经验而是提醒你PCB生产文件输出本质是一场与制造工艺的精密对话。你输出的不是文件而是信任。