1. 这不是“点一下就完事”的操作——AD中PCB生产文件输出的本质是制造语言的精准翻译
很多人把Altium Designer里导出Gerber、NC Drill、DXF这些文件,当成一个“导出按钮点击流程”。我刚入行那会儿也这么想,直到第一次打样回来的板子上,所有焊盘都偏移了0.15mm,BGA器件根本没法贴——工厂反馈:“钻孔文件坐标原点没对齐,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文件输出顺序应为:GTL(Top)、G1L(Inner1)、G2L(Inner2)、GBL(Bottom)。若顺序错乱(如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 mm(0.0001mm)。对于0.4mm间距的BGA器件,0.0254mm的坐标误差已超出焊盘公差(通常±0.05mm),导致贴片偏移。
实操验证方法:在AD中画一个10mm×10mm的矩形,放置在原点(0,0)。用Inches单位导出Gerber后,用文本编辑器打开.gtl文件,搜索“X0Y0”附近坐标,会看到类似“X10000Y10000”(单位为mils,1mil=0.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 Mask):SMT贴片用的锡膏钢网,必须用负片——白色区域代表要开孔的位置。
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文件,按Ctrl+Shift+D调出“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)
- 是否为背钻孔(Backdrill)
AD生成钻孔报表的路径是: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”图标,仅显示该层。然后按Ctrl+A全选,确认选中对象仅为板框线、安装孔圆弧、散热槽多边形。若有其他元素被选中,说明图层未净化干净。
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中会生成十字形铜桥。但若铺铜区域未重新灌注(Repour),Gerber中仍显示旧的实心焊盘。解决:每次修改铺铜后,必执行“Tools → Polygon Pour → Repour All”。坑2:3D封装体意外导出到机械层
若元件3D模型的机械层(Mechanical Layer)被启用,导出DXF时会将3D模型轮廓一并输出,导致CNC误切。解决:在“PCB Library”中双击3D模型 → “Properties” → 取消勾选“Include in mechanical layers”。坑3:字体大小影响丝印可读性
AD默认丝印字体高度为10mil(0.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”,以单板左下角为起点重绘拼版板框。坑6:BGA底部的阻焊开窗遗漏
BGA器件底部常需阻焊开窗以便散热,但AD默认不为此区域生成开窗。解决:在BGA封装的“Pad Properties”中,为底部焊盘单独设置“Solder Mask Expansion”为正值。坑7:差分对走线的阻焊开窗
高速差分对需裸铜以控制阻抗,但AD不会自动为其生成阻焊开窗。解决:在差分对走线上方,手动放置“Solid Region”,并设置其“Layer”为“Top Solder Mask”,“Properties”中勾选“Keep Out”以移除阻焊。坑8:安装孔的镀层类型误设
安装孔若需导电(如接地),必须设为PTH(Plated Through Hole);若仅机械固定,应为NPTH(Non-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生产文件输出,本质是一场与制造工艺的精密对话。你输出的不是文件,而是信任。