
不管你是刚入行画第一块板子的学生还是在实验室里帮导师打下手的新人只要碰过Altium Designer早晚都会撞上“Gerber”这个词。AD23里导出Gerber表面上只是菜单里几次点击但等你真把文件发去板厂对方十有八九会回一句“请提供Gerber文件。”很多人这时候才意识到板厂压根不碰你的PCB源文件。这篇教程就是写给新手的我把“为什么必须导出Gerber”讲清楚再把AD23从零导出Gerber的完整流程、参数设置和避坑经验一次性倒出来你照着操作就能顺利交付不用再对着板厂的技术支持小心翼翼赔笑脸。1. 先弄明白Gerber是什么为什么板厂死磕这个格式1.1 用打印机打比方Gerber就是PCB的“打印语言”要把Gerber讲明白我最喜欢拿打印机来打比方。大家都有过打印经验你给打印机传一个Word文档打印机并不能直接“读懂”Word它真正执行的是由驱动程序生成的一串页面描述语言比如PostScript或者PCL。PCB生产也是同样的逻辑你手里的AD工程.PrjPCB、.PcbDoc就相当于Word文档板厂生产线上的CAM设备、曝光机、钻机并不能直接解析这些工程文件。Gerber就是专用于PCB制造的光绘格式它把每个物理层拆出来用矢量图形描述每一层的线条、焊盘、文字、板框。板厂拿到后用CAM软件把Gerber“翻译”成生产线能用的底片和坐标数据一层一层往外做。细分一下Gerber最早由Gerber Systems公司定义经过几十年演化现在行业主流是RS-274X也叫扩展Gerber。AD23默认导出的就是RS-274X格式如果需要提升信息交换能力还可以选择X2格式——X2在RS-274X基础上增加了层属性、元件属性等额外信息部分先进板厂可以直接通过它识别叠层和封装意图。但对新手来说先掌握RS-274X就够用了绝大多数板厂都能无损读取出问题的概率最低。为什么非要拆层因为PCB制造是逐层累加的。线路层铜箔、阻焊层绿油、丝印层白字、助焊层钢网开口分属不同工序曝光时各用各的底片。Gerber文件体系里还有钻孔文件Excellon格式它负责告诉钻孔机每一个孔的位置、钻头尺寸和孔的类型。所以一份完整的投产资料是“一组Gerber文件一个钻孔文件一张工艺说明表”的组合单一个文件是没法生产的。你画了那么多层板厂就必须一层一层分开做这就是Gerber存在的根本原因。1.2 为什么板厂不直接收源文件非要Gerber很多新手想不通我AD源文件里信息全得很层、规则、封装都在为什么板厂还要我重新导出Gerber这里面有几个很现实的原因。第一是版本兼容性。Altium Designer的工程文件升级飞快AD23保存的PcbDoc和几年前的AD17格式差异巨大。板厂每天收成百上千个板子不可能每台工作站都装好所有版本更不可能替你逐个转档。Gerber是开放标准所有CAM软件都能打开这就消除了工具壁垒。你发一个源文件过来板厂还要猜你是哪个版本画的为什么不用大家公认的“普通话”呢第二是责任界定。Gerber文件是“定稿”它代表了你最终要制造的物理结果。板厂按Gerber生产出了问题可以直接对比Gerber和成品是谁的问题一眼就能查清。如果拿源文件直接生产板厂还要替你筛选层、补规则、定工艺一旦理解出偏差责任就说不清了。说白了板厂要的不是你的“设计过程”而是“最终结果”。第三是安全与体积。源文件里包含内部网络、完整元件库、闲置层、设计规则所有这些内部信息体积也往往有几十MB甚至上百MB。Gerber则干净小巧一个普通双面板全套输出也就几百KB到几MB发邮件、上传工厂系统都非常方便。事实上很多公司的设计资料是保密资产交付Gerber而不是源文件也是知识产权保护的一种常见做法。顺便提一句当前行业里除了Gerber还有ODB和IPC-2581这类更面向制造的数据格式它们能携带叠层、BOM、装配信息自动化程度更高。但Gerber仍然是最通用、最稳妥的交付格式不管板厂规模大小、设备新旧Gerber基本通吃。新手不用纠结先把Gerber玩熟再说。2. 导出前必做的5项检查没做对导出来也是残次品在点开Gerber导出菜单之前我建议你先花十分钟把下面几件事过一遍。我见过太多人导出前不检查结果Gerber在CAM里一打开要么缺层、要么板框跑得老远、要么孔全部错位。这些坑绝大多数在导出前就能避免。2.1 设计规则检查DRC真的跑了吗DRCDesign Rule Check设计规则检查是导出前最基础、最不能省的一步。在AD23里设计规则检查的入口在Tools → Design Rule Check快捷键是TD。如果你不记得快捷键可以在右上角的搜索框里输入“Rule Check”直接调出。跑DRC的目的不是追求“0错误”而是确保你清楚每一条报错的存在。很多初学者一看到满屏绿色波浪线就慌了实际上有的DRC报错是故意保留的比如“板框到走线距离不够但板框还没改”“差分对内等长差一点”。对待DRC的正确姿势是每一条报错都要能说出原因不能有“不知道为什么会报错”的项。因为Gerber导出后板厂只会按铜箔形状制作不会替你判断哪条线是故意走短的。我在导出前会习惯性跑一遍DRC把Error级别的问题全部清零Warning级别的问题逐条确认。确认无误后再导出这样后续板厂问起来你也能拍胸脯保证。尤其要留意未连接网络Un-Routed这个检查项它最容易在多层板里漏掉一根孤立的飞线在Gerber里根本看不出来但生产出来就是断的。2.2 板框和原点板厂加工的第一依据板框Board Outline看起来是个简单图形实际上一旦出错后果很严重。在AD中板框通常画在Mechanical 1层或者Keep-Out Layer层。板厂读Gerber时只认机械层的闭合多边形。导出时如果忘记把板框所在的机械层勾选到Gerber里板厂就只能看到一堆悬浮的走线和焊盘没法拼板也没法切外形。我的做法是始终把板框放在Mechanical 1层用2D线画出闭合轮廓并且养成一个习惯——用“板框定义”功能Design → Board Shape → Define Board Shape from Selected Objects根据选中的闭合线条生成PCB板形。这样无论你后来怎么缩放视图、移动原点板框始终和板子形状严格对应不会出现“板框和设计图形貌合神离”的诡异局面。坐标原点的选择同样关键。AD的坐标原点默认在板子某个位置很多人在布局时会随手移动。导出Gerber之前按快捷键EOS重新设定原点Edit → Origin → Set把原点放到板框左下角顶点。这样导出的Gerber坐标读数都在第一象限板厂对位、拼板都方便。如果原点很乱Gerber里的对象坐标可能带负值部分下游CAM软件处理起来会出怪问题。2.3 图层信息整理铜箔、阻焊、丝印、助焊一个不能少导出Gerber前你要在PCB面板里核对一下自己实际用了哪些层。一块双面板通常包含铜箔层Top Layer顶层、Bottom Layer底层。阻焊层Top Solder、Bottom Solder决定绿油开窗位置也就是最终露铜、露锡的地方。丝印层Top Overlay、Bottom Overlay文字和元件框。助焊层Top Paste、Bottom Paste钢网开口用于SMT贴片。很多新手会把阻焊层和助焊层弄混。简单说Solder是“不盖油”露铜露锡让焊盘能上锡焊接Paste是“印锡膏”只用于贴片钢网。如果你画的是纯手工焊接的双面板Paste层不导出问题不大但如果是给贴片厂用的Paste层必须导。四层板、六层板或者更高层数的板子还要额外勾选内层Internal Plane 1、2等。另外如果板上有螺丝孔、定位孔、异形槽、V-cut标记这些特征属于机械层还是Keep-Out层不同画手习惯不同。我的建议是孔位放机械层禁止布线区放Keep-Out层不要混着放并且导出前确认所有用到的机械层都被正确勾选。图层逻辑混乱是新手Gerber文件最常被板厂打回的原因之一。2.4 钻孔信息要提前和板厂对齐Gerber解决的是“图形怎么做”钻孔文件解决的是“孔怎么打”。AD导出钻孔文件用的是Excellon格式后缀通常为.TXT或.DRL。钻孔文件里的关键信息包括孔坐标、刀具尺寸即钻头直径、孔类型金属化孔PTH和非金属化孔NPTH。导出之前你要用Tools → Fabrication → Drill Hole Size Table检查一遍板上孔径种类。如果孔径种类太多比如几十种板厂换刀频繁成本会上升如果最小孔径低于板厂能力比如0.2mm以下大概率要上激光钻或者特殊机械钻工艺费用直接翻倍。作为参考常规FR-4双面板最小机械钻孔孔径不建议低于0.3mm除非设计必须。另外还要确认板上是否有非金属化孔例如螺丝孔、定位孔。这些孔在AD中通常会设置成NPTH属性钻孔文件里会有专门标记板厂要做“二次钻孔”工序。如果漏标NPTH板厂默认按PTH生产孔内壁会沉铜绝缘和装配都会出问题。对新手来说最稳妥的方法是在发板前和板厂确认孔径能力、PTH/NPTH标记规则别自己猜。2.5 输出单位与小数位格式统一这是最容易被忽略、也最致命的一点。Gerber和钻孔文件都涉及坐标单位与精度。AD中常见选项有英寸Inches和毫米Millimeters以及格式2:3、2:4、2:5等。所谓2:5表示整数部分最多2位、小数部分5位。以英寸为单位时2:5的分辨率是0.00001英寸约等于0.254微米比2:4高一个数量级。我强烈建议Gerber和钻孔文件统一使用“英寸2:5”输出这是国内绝大多数板厂最常用的接收组合。如果你Gerber用毫米、钻孔文件用英寸或者Gerber用2:4、钻孔文件用2:5下游程序解析时经常出现坐标位数对不齐的诡异现象轻则孔偏移重则所有孔整体错位。你在设置阶段花一分钟统一能省掉和板厂来回确认的三天时间。所有单位不一致导致的罗生门最后都只能靠CAM叠图才能查出来何必呢。3. AD23从零导出Gerber完整实操步骤现在正式开始点菜单。以下操作基于Altium Designer 23版本界面为中文汉化后的布局。如果你的AD还是英文界面按照英文菜单名对应即可位置完全一致。3.1 两种导出入口怎么选AD里导出Gerber其实有两条路。第一条是传统的菜单路径File → Fabrication Outputs → Gerber Files会直接弹出一个Gerber Setup对话框配置完点OK就能在PCB文件同目录下生成Gerber。同时还要单独去File → Fabrication Outputs → NC Drill Files导钻孔文件。这个方式简单直接但输出项一多就容易漏。第二条是使用Output Job输出工程File → Outputs → Output Job打开Output Job编辑器在里面可以同时添加Gerber输出、NC Drill输出、BOM表、PDF原理图等做成一个“一键输出”的配置。AD23主推的也是这种方式项目改版后可以批量重新生成。对新手我更推荐直接用Output Job。原因很简单输出项越多手动一项项导就越容易漏。用Output Job一次配好以后每版改完只需要刷新一下专注设计本身。而且Output Job里可以把命名规范、输出目录固定下来交给板厂时包装更专业不会出现“钻孔文件在桌面、Gerber在工程目录”这种把板厂工程师逼疯的情况。3.2 Gerber Setup参数逐项说先走菜单File → Fabrication Outputs → Gerber Files或者在Output Job里双击Gerber Setup打开Gerber Setup对话框后五个页面按这个思路填。General通用页面单位Units选择Inches英寸。格式Format选择2:5。如果你的板厂明确要求2:4或者毫米按他们要求改否则2:5英寸是通用选择。勾选“Generate RS-274X format”默认就是RS-274X一般不用改。AD23较新版本在General页面还能选X2格式但对新手来说标准RS-274X已经足够稳定先不折腾X2。Layers层页面Plot下的勾选框决定哪些层会被导出。铜箔层勾选Top Layer、Bottom Layer多层板记得加内电层。阻焊层勾选Top Solder、Bottom Solder。丝印层勾选Top Overlay、Bottom Overlay。助焊层勾选Top Paste、Bottom Paste有贴片元件才需要。板框在Mechanical Layers标签页找到你画板框的机械层例如Mechanical 1勾选Plot。如果板框画在Keep-Out Layer那就在Keep-Out Layer上勾选Plot。有几个默认选项容易诱导新手比如“Include Components”导出元器件标识、“Include Board Outline”把板框并入所有层。我建议都不勾保持层与层之间的干净避免出现重复图形。Drill Drawing钻孔图页面这里用于生成钻孔指示图勾选“Drill Drawing Plots”和“Drill Guide Plots”默认即可。它生成的是一种标注了钻头符号的参考图不是真正的钻孔文件。真正的钻孔靠后面单独导出的NC Drill文件完成别混淆。Apertures光圈页面务必勾选“Embed apertures”嵌入光圈。早期Gerber依赖外部光圈表.APR文件一旦漏发板厂读出来全是混乱的线条。嵌入光圈后光圈信息内嵌到Gerber文件里板厂直接可读这是目前全行业通用的做法。Advanced高级页面主要看“Film size”和“Suppress leading zeroes”选项。Film size默认就行一般不用改。“Suppress leading zeroes”压缩前导零是一个历史遗留选项老式光绘机对数据长度敏感才需要压缩。现代CAM软件都支持完整坐标格式我建议关闭Suppress保留完整数据或者按板厂要求来。关键点是Gerber和NC Drill两处的零填充设置要保持一致否则坐标解析会错位。设置结束后点OK系统会问是否在CAM编辑器里打开查看新手建议点是直接看图确认。3.3 NC Drill钻孔文件设置要点钻孔文件独立于上面的Gerber导出需要单独操作。走File → Fabrication Outputs → NC Drill Files打开NC Drill Setup对话框。关键设置Units必须和Gerber保持一致选Inches。Format必须和Gerber保持一致选2:5。勾选“Generate Drill Files”生成Excellon钻孔文件。“Drill Drawing”保持默认。点击OK后弹出一个Excellon Output面板直接点OK会输出钻孔文件和一个钻孔图。输出后会生成两个关键文件一个是以.TXT结尾的Excellon钻孔文件一个是.DRR结尾的钻孔图文件。前者才是板厂真正用来钻孔的数据后者只是辅助说明。如果你用Output Job模式在Output Job里添加NC Drill Files输出配置好参数后和Gerber一并生成省去二次点击。如果你好奇钻孔文件长什么样用记事本打开.TXT文件会看到类似下面的结构M48 INCH T01C0.0300 T02C0.0400 % T01 X0100Y0200 X0150Y0250 M30这里M48表示Excellon格式头INCH表示单位是英寸T01C0.0300表示1号刀具直径0.03英寸X和Y就是孔的坐标M30表示结束。读懂这些你就能直接用文本检查出明显错误比如单位写错、坐标范围离谱。3.4 一键输出与文件归档用Output Job时整体操作链路是这样的打开PCB文件。点击File → Outputs → Output Job。在Output Job编辑器里点击“Add New Output”分别添加Gerber Files、NC Drill Files有需要还可以加BOM。在每个输出项的数据源里选择“From PCB Document”然后进入各自的Setup设置参数。点击上方的“Generate Content”按钮就能在当前项目中生成所有输出。生成后项目里会自动多出一个“Generated”文件夹里面按输出类型分子目录。如果AD版本输出目录比较分散也可以手动把Gerber和NC Drill文件收集到一个文件夹里命名成“项目名_日期_Gerber”压缩成一个ZIP发送给板厂。规范的交付压缩包板厂开箱体验会好很多也会从侧面降低沟通成本。4. 导出后的验证与常见问题排查文件生成不是终点导入到CAM里看一眼才算完成。这一步能把你从“板厂说文件有问题”的尴尬里救出来也能让你亲眼确认自己设计的板子在生产端到底是什么样。4.1 用AD自带的CAM工具做投产前体检AD自带CAM编辑器不需要额外装其他软件。操作方法在AD里选择File → Import → CAM打开刚才生成的任意一个Gerber文件例如.GTL系统会提示“是否同时加载同目录下的其他Gerber文件”点是就能一次性把所有层叠在一起查看。此时你应该重点检查几件事板框是否完整闭合是否出现在正确位置。各层是否对齐铜箔、阻焊、丝印有没有发生整体偏移。阻焊层开窗区域是否和焊盘吻合。如果Solder层缺失开窗就会没有板厂做出来焊盘全被绿油盖住没法焊接。丝印文字是否清晰有没有和开窗、焊盘大面积重叠。用CAM编辑器查看时记得把层单独开关逐个看不要全部叠在一起瞎猜。还有一个很实用的技巧在CAM编辑器里查看钻孔图时可以确认图例里列出的孔径和数量是否和设计一致如果数量差得离谱多半是钻孔文件设置出了问题。4.2 文件清单核对表发送板厂前我建议你用下面这个表逐一核对文件是否齐全。以最常见的双层板为例文件类型常见后缀内容说明缺少后果顶层线路.GTL顶层铜箔走线、焊盘顶层完全空白底层线路.GBL底层铜箔走线、焊盘底层完全空白顶层阻焊.GTS顶层绿油开窗位置顶层无法焊接底层阻焊.GBS底层绿油开窗位置底层无法焊接顶层丝印.GTO顶层文字、位号、标记顶层无标识底层丝印.GBO底层文字、位号、标记底层无标识顶层助焊.GTP顶层钢网开口贴片厂无法开钢网底层助焊.GBP底层钢网开口贴片厂无法开钢网机械层/板框.GM1或.GKO板框、外形、定位无法加工外形钻孔文件.TXT或.DRL孔坐标、钻头尺寸板上无孔钻孔图.DRR钻孔说明参考图影响沟通不致命不同类型板子的文件数量会有差异四层板还会多出内层G1、G2等文件有盲埋孔的板子钻孔文件会拆成多个。无论如何规则都是一样的每层都有对应Gerber钻孔文件单独备好。发文件之前花两分钟过一遍这个表比板厂来问再补要省心太多。4.3 高频翻车现场与解决办法我在带新人的时候收集过一套高频Gerber翻车案例写出来给大家避雷。案例一板框消失。原因基本都是导出Gerber的Layers页面忘了勾选板框所在机械层。解决办法是回到Layers页面找到对应的Mechanical层勾选Plot。如果你把板框画在Keep-Out Layer也要在Keep-Out层上勾选Plot。更好的做法是在导出前用板框选择功能确认对象所在层别等到文件发出去才发现。案例二钻孔整体偏移。这个问题多见于Gerber用英寸、钻孔文件用毫米或者两者零填充设置不一致。排查方法是在CAM里叠放Gerber和钻孔文件看孔是否正好在焊盘中心。如果偏了优先检查单位与格式是否统一。遇到AD版本差异时建议两个文件都显式指定为Inches 2:5再重新导出。案例三阻焊开窗失效。具体表现是Gerber里看不到绿油开窗或者焊盘被整片阻焊层覆盖。原因通常是Solder层没勾选或者阻焊规则设置成了全覆盖。处理方式是先在Layers里勾选Top/Bottom Solder再看一遍阻焊扩展规则一般默认的Expansion开窗扩展在0.1mm左右就够太小会导致焊接困难太大又会露铜过多容易短路。案例四丝印乱码或空心字。中文丝印在导出Gerber后经常变成空心轮廓或者乱成一团因为AD的字体引擎和Gerber的线条/矢量字体兼容性有限。解决办法是板面丝印尽量使用英文字符和数字不要用中文。如果必须保留中文建议先把中文字体转为线条Tools → Convert → Explode Text to Line Segments再导出。案例五内电层负片错误。四层板的内电层在AD里既可以是正片也可以是负片导出Gerber如果搞错铜皮关系全反。新手建议一律用正片设计信号层用Signal平面层用Plane导出时内层的隔离带和热焊盘设置要和板厂确认不要想当然。5. 进阶补充几个新手最容易忽略的细节5.1 工艺说明文档别等板厂来问Gerber文件本身只描述了“图形”不包含板厚、铜厚、表面处理这些工艺参数。很多新手只发一个压缩包然后就等板厂来问“板厚多少”“铜厚多少”“要喷锡还是沉金”。与其被问不如主动写。我习惯在压缩包里放一个readme.txt或者简短的工艺文档写明板子名称、层数、板厚、铜厚、阻焊颜色、丝印颜色、表面处理方式、最小线宽线距、最小孔径、是否有阻抗要求。这些内容看起来很琐碎但能省掉你和板厂之间一周的扯皮。把工艺要求一次性写清楚板厂开箱即做整个流程顺滑得让人感动。5.2 版本管理与迭代习惯版本管理这件事新手往往意识不到它的重要性。我常看到有人把Gerber文件命名为“最终版”“最终版2”“最最终版”这种习惯在生产交付上是灾难。我的做法是在Gerber压缩包上标注AD版本、导出日期和板卡版本号例如“v1.2_Gerber_2025-01-18.7z”。这样一旦后续改了设计你能立刻判断哪一版文件是对应的板厂那边也容易追溯。更重要的是建议养成“每改一次板子就完整导出一次Gerber”的习惯。很多人只在打样前才导出一次中间改了两版都懒得重新导最后寄给板厂的文件可能已经过时。宁可多导几次也不要等板子回来了才发现送错了版本。这几年我因为“发错版本”导致的返工占比比想象中高得多。5.3 第一次导出时心态放平最后说一点心态上的体会。第一次导出Gerber时面对一堆选项和陌生后缀慌是正常的。但你要明白这些选项真正的服务对象是板厂而不是你。你只要能稳定输出统一单位、统一格式、层齐全、板框闭合的文件就已经打败了绝大多数业余选手。剩下的工艺细节板厂工程师会主动和你沟通。多导两次多和板厂技术聊两次你很快就会发现Gerber没那么神秘反而会成为你整个设计流程里最踏实的收尾动作。