已经数不清这是第几次帮人看投板文件了。上周一位刚接手项目的同事,把Altium Designer 22里的PCB源文件直接拖到嘉立创下单页,结果系统弹了一串提示:缺少钻孔文件、找不到完整板框、某层文件打不开。他一脸懵地问我:“Gerber到底是个什么东西?我给的PCB不是更完整吗?”这个场景,我相信很多刚接触打板的硬件工程师都遇到过。
这篇文章就从这个问题开始,我把AD 22导出Gerber的完整流程拆开讲一遍,每一步都告诉你为什么这么设置,并把嘉立创下单时最容易踩的坑列成清单。不管你是第一次独立打板,还是以前靠师兄/同事代劳、现在要自己扛流程,这篇都能直接照着操作,省掉来回折腾的几天时间。
1. 先说清楚:为什么工厂要的是Gerber,而不是你的.PcbDoc源文件
很多人都觉得,我把整个工程文件发过去,工厂打开一看不就什么都清楚了?实际完全不是这么回事。
1.1 源文件与Gerber的本质区别
PCB源文件(.PcbDoc)是设计数据,里面包含的不仅仅是铜箔、焊盘、丝印这些几何图形,还有元器件封装、网络表、规则约束、3D模型路径、公司内部库引用等大量信息。工厂拿到一个.PcbDoc,首先得装一个能打开这个版本的Altium Designer,其次还得祈祷你用的库文件和字体库里包含所有东西,否则打开就是一堆问号和丢失封装。
Gerber文件则完全不同。它本质上是一种标准化的光绘格式,把每一层物理图形翻译成一种所有CAM软件都能识别的“绘图指令”。你可以把它理解成:源文件是Word文档的编辑版,Gerber是打印店能直接开工的PDF。PDF拿到任何一台打印机都能打,而Word文档可能因为版本、字体、排版差异打出来完全变样。
具体到一块双面板,工厂真正需要的是这样一组Gerber文件:
| 文件类型 | 扩展名示例 | 对应工艺层 |
|---|---|---|
| 顶层线路 | .GTL | 顶层铜箔走线 |
| 底层线路 | .GBL | 底层铜箔走线 |
| 顶层丝印 | .GTO | 顶层白字/字符 |
| 底层丝印 | .GBO | 底层白字/字符 |
| 顶层阻焊 | .GTS | 顶层绿油开窗,露出焊盘 |
| 底层阻焊 | .GBS | 底层绿油开窗 |
| 板框 | .GM1 / .GKO | PCB外形、铣边轮廓 |
| 钻孔文件 | .TXT/.DRR | 所有孔位坐标与孔径 |
| 槽孔文件 | .ROU | 非圆形孔、异形槽、邮票孔 |
如果少了其中一个环节,后果是实实在在的:没有丝印层,板子上光秃秃什么都标不了;没有阻焊层,整板铜面裸露,焊接时四处连锡;没有钻孔文件,工厂根本不知道哪个坐标打多大的孔。别笑,这三种事故在打样返工中天天都在发生。
1.2 RS-274X格式为什么是默认答案
Gerber格式有老式的RS-274-D和新式的RS-274X两种。RS-274-D必须附带一个Aperture File(光圈文件)才能说明D码,一旦光圈文件丢失或版本不一致,CAM解析出来的图形就是乱的。而RS-274X把光圈定义直接嵌入Gerber文件头部,单个文件自包含。
AD 22从Gerber Files对话框里默认输出的就是RS-274X,这个保持默认就好。唯一要注意的是,不要在高级选项里勾选那些把文件拆分成老格式的兼容项。
2. 导出前的三件准备:DRC、板框、原点,一个都别省
很多人打开PCB文件就直接点导出,结果Gerber倒是生成了,工厂那边却各种报错。实际上,导出前花五分钟检查这三件事,能避免80%的下单返工。
2.1 先跑一次DRC,别把设计规则的雷带进Gerber
Gerber是根据PCB当前状态直接生成的,你在设计里留下的规则冲突,它会原封不动地画进光绘文件。比如两条走线间距只有0.1mm,而PCB工艺要求最低0.2mm,DRC报错了你没管,Gerber照样画出来,最后工厂那边判定工艺超限,直接把你订单挂起。
在AD 22里操作很简单:点击菜单 Tools(工具)→ Design Rule Check(设计规则检查),在弹出的面板里点 Run Design Rule Check。看结果时,重点关注Clearance(安全间距)、Width(线宽)、Hole Size(孔径)这几类错误。不一定要做到0错误,但批量打样至少不该有红色级别的违规。
2.2 板框到底画在机械层还是Keep-Out层
这是个常年争论的话题。我的建议很明确:板框统一画在Mechanical 1层,并用它来定义Board Shape(板子形状)。
Keep-Out层是电气禁布层,设计时用来圈定走线和器件的禁区。很多教程说“嘉立创能识别Keep-Out层当板框”,这话不假,它的系统确实能兼容,但前提是位工程师把Keep-Out层画得足够规范。一旦Keep-Out层里有几根杂线,或者板框没封闭,识别就会出错。
操作路径:先在Mechanical 1层画一个完整的闭合轮廓(矩形或异形都行),选中这个轮廓的所有线段,然后点击 Design(设计)→ Board Shape(板子形状)→ Define from selected objects(从选中对象定义板形)。这样板框和系统内部的板形完全一致,导出的Gerber里,板框在机械层就是一条干净的、闭合的线。
2.3 原点设置影响所有层的对位
这是新手最容易忽略的细节。Gerber和钻孔文件里所有坐标都是相对于原点计算的,如果设计里原点设在乱七八糟的位置,或者各文件参考的原点不一致,工厂CAM导入时就会出现层与层之间错位——焊盘在顶层是一个位置,钻孔文件里是另一个位置,整板废掉。
我的习惯是:把原点设在板框左下角。操作路径:Edit(编辑)→ Origin(原点)→ Set(设置),然后点击左下角那个点。这样所有坐标都是正的,CAM预览一目了然,后续如果要做拼板或者阵列,也不容易算错位置。
2.4 单位与精度:别让小数点后第三位毁掉整张板
AD工程可以混用公制和英制,但导Gerber时,必须给所有文件一个统一的单位基准。我的建议是:如果你设计时用的是毫米,那输出就统一用毫米;如果用的是英制(mil),输出就统一用英寸。
在Gerber Files对话框的General选项卡里,Format(格式)那一栏是关键。常见选项有2:3、2:4、2:5,分别表示整数位2位、小数位3/4/5位。这意味着最小的坐标分辨率分别是0.001mm、0.0001mm、0.00001mm。
2:3听起来好像也行,但曾经有位同事用2:3导出,板子尺寸超过100mm后,坐标末尾的微小误差被逐层累积,结果几个连接器的位置偏了。我后来一律建议用2:5或者至少2:4,反正输出的是文本文件,体积不会大到哪去。
3. Step by Step:AD 22导出Gerber的完整操作
现在进入正题。以下每一步都来自我反复验证过的配置,直接照做基本不会出问题。
3.1 打开Gerber Files设置面板
在PCB文件处于激活状态时,点击主菜单 File(文件)→ Fabrication Outputs(制造输出)→ Gerber Files(Gerber文件)。
弹出的对话框分为几个选项卡,Step 3.2到3.4会逐个说明。
3.2 General选项卡:统一单位和精度
在这个页面的 Units 区域选择你设计时用的单位。我的建议是全程用一种,不要混。然后 Format(格式)选 2:5。下方的“Apply”按钮只是个实时预览,不用纠结。
3.3 Layers选项卡:勾选哪些层,为什么
这是最关键的页面。我直接在“Plot Layers”下拉菜单里选“Used On”(已使用的层),然后手动核对下面这些层是否都在勾选状态:
- Top Layer:顶层线路,必须有
- Bottom Layer:底层线路,必须有
- Top Overlay:顶层丝印,建议有
- Bottom Overlay:底层丝印,可选但通常保留
- Top Solder:顶层阻焊开窗,必须有
- Bottom Solder:底层阻焊开窗,必须有
- Keep-Out Layer:如果用来限定走线区域,建议勾上,便于工厂参考
- Mechanical 1:承载板框,必须勾
如果是四层及以上的板子,还要把内层走线或内电层(Internal Plane)对应勾上。多层板漏掉内层导致工厂完全按两层板做,这种事也不是没发生过。
页面下方还有个 Drill Drawing(钻孔图)区域,保持默认的“Plot all used drill pairs”即可。这个选项会让生成的Gerber里附带钻孔标记图,方便工厂在CAM里做人工检查。
3.4 Apertures和Advanced选项卡:决定文件能不能被正确解析
在 Apertures(光圈)选项卡里,确保勾选的是 Embedded aperture (RS-274X)。这个选项把所有D码光圈定义嵌入Gerber文件本身,工厂拿到单个文件就能解析。如果误选了“Use software aperture”,系统会要求单独输出一个光圈文件,漏发就完蛋。
Advanced(高级)选项卡里,两个关键选项:
- Suppress leading zeroes(省略前导零):建议勾选。它把“0.123”写成“.123”,让文件更精简,CAM软件默认都支持解析。
- Reference to absolute origin(绝对原点):建议勾选。这保证所有层都以同一个原点对齐,不容易出现层间偏移。
另外,不要勾选“Protel Extended Gerber”,那是旧版兼容格式,没必要用。也不要勾选“Generate DRC File”,因为我们已经手动跑过DRC,再生成一份只会增加干扰。
3.5 点击OK后发生了什么
点击OK,AD会把所有勾选的光绘文件生成到工程目录下的“Project Outputs for 工程名”文件夹里。打开这个文件夹,你会看到一串后缀为.GTL、.GBL、.GTO、.GBO、.GTS、.GBS、.GM1之类的文件。
接下来,别急着打包,还有一步:钻孔文件。
提示:光绘文件生成后,AD默认不会帮你在界面里打开CAM预览,需要去文件夹里找,或者用CAM工具打开。千万别以为“没报错就万事大吉”。
4. 钻孔文件与槽孔文件:最容易漏掉的另一半
Gerber只画了图形,板上哪里要钻多大多深的孔,主要靠NC Drill文件告诉工厂。这块的配置相对简单,但恰恰是最多人漏操作的环节。
4.1 NC Drill Files设置与生成
同样在 File(文件)→ Fabrication Outputs(制造输出)下,这次选择 NC Drill Files(NC钻孔文件)。
弹出的第一个对话框会让你设置单位、格式这些参数。核心要求只有一句话:与刚才的Gerber设置完全一致。如果Gerber用了毫米2:5,钻孔也必须毫米2:5;如果Gerber勾了Suppress leading zeroes,这里也保持勾选。尤其是单位不一致,就会导致钻孔坐标和线路层坐标错位,工厂导入时发现所有孔都偏了0.46mm之类的位置,非常难排查。
点击 OK 后,AD会生成:
- 一个 .TXT 文件:包含所有钻头(刀具)定义和孔坐标,工厂最核心的输入。
- 一个 .DRR 文件:钻孔报告,包含孔径数量统计等,供检查用。
- 一个 .ROU 文件:只有设计中有非圆形孔、槽孔或邮票孔时才会出现,描述铣刀路径。
4.2 槽孔文件的坑:为什么多边形槽总是被做成一组圆孔
这是踩坑重灾区。很多人设计里有散热槽、连接器异形孔、邮票孔,但导完Gerber后根本没检查有没有.ROU文件,结果工厂只能把异形孔拆成若干个小圆孔来钻,或者干脆当成不存在,最后板子回来发现槽没了或者全是毛刺。
正确做法是:导完钻孔文件后,回到刚才的输出文件夹,确认所有非圆形孔设计的工程里,都生成了对应的.ROU文件。如果没有,多半是孔属性定义问题,要去检查一下槽孔是否是用Slot Tool或带有Slot参数设计的,而不是随手画了两条重叠的线。
4.3 用Output Job把整套输出固化下来
既然每次导Gerber都要设置这么多选项,不如一次配好以后复用。AD 22支持创建Output Job(输出任务)文件:File → New → Output Job,在里面把Gerber Files、NC Drill Files都配置好,甚至可以同时输出PDF原理图、BOM表。
配好之后保存,以后每次打板只需打开这个OutJob,点一下Generate Content,所有文件一键生成。这样既不会忘层,也不会忘钻孔文件,还统一了大家的配置,对团队协作尤其有价值。
5. 文件自检:用CAM工具把问题拦在下单前
实话实说,我见过的投板事故里,有很大一部分是没做文件自检直接上传导致的。Gerber生成后,花十分钟用CAM工具看一遍,真的能省下后面几天的沟通成本。
5.1 用什么工具检查
常用选择大致三种:
- CAM350:老牌CAM软件,功能齐全,文件兼容性最好,网上能找到试用版。
- Gerbv或GerbView:免费开源,打开极快,适合快速瞄一眼。
- 嘉立创在线预览:上传压缩包后,系统会自动渲染每一层,零成本。
我个人习惯先把Gerber在本地用GerbView之类快速过一遍,确认没有明显离谱的问题,再上传到嘉立创,用它的在线预览做最终确认。
5.2 检查哪些项目
用CAM软件把各层叠加显示,依次检查下面几件事:
第一,板框是否闭合。把机械层单独显示,放大看轮廓起点和终点有没有完全连接。只要有头发丝粗细的断开,工厂铣外形时就会出现轮廓不完整。
第二,阻焊开窗是否正确。把Top Layer和Top Solder叠加显示,所有需要焊接的焊盘位置,应该能看到阻焊层开出的窗口略大于焊盘。如果阻焊开窗缺失,焊盘会被绿油盖住,器件根本焊不上。
第三,丝印有没有压焊盘。把Top Overlay和Top Layer叠加,看看丝印线有没有跨到焊盘上。轻微压一点也不行,可能导致焊接不良。如果发现压盘,回设计里调整丝印位置重新导出。
第四,钻孔坐标是否都在板框内。把钻孔文件和机械层叠加显示,看所有孔位是否都落在板内。曾经有案例是坐标原点设置错误,导致所有钻孔坐标偏移到板外几百毫米,这种问题一叠图层立刻暴露。
第五,有没有孤岛铜。孤岛铜是那些没有连接任何网络的孤立铜皮,看起来就是一整块浮空的铜。工厂蚀刻时分不清要不要保留,最后可能多出一块多余的金属。如果发现孤铜,去设计里增强连接或删除,再重新导。
5.3 压缩与命名:别让文件夹里塞满无关文件
AD生成输出时,会在输出文件夹里顺便放一些辅助文件,比如.ERR文件、.OUT文件,甚至可能包含.PrjPcb。这些不是你主动放进Gerber包里的,编译过又没清理,很容易被一起压缩。
我的做法是:在“Project Outputs for 工程名”旁边新建一个文件夹,把需要的.GTL、.GBL、.GTO、.GBO、.GTS、.GBS、.GM1、.TXT、.DRR、.ROU(如果有)全部复制进去,然后右键压缩成ZIP。
压缩格式一定要选ZIP,不要用RAR或7z。嘉立创系统支持ZIP直接解析,RAR传到网页端反而可能提示格式不支持。
文件名里不要有中文和空格。用类似V2.0_20250114_2Layer这种纯英文数字版本号命名,工厂和自己在后续追溯时都能一眼看懂。
6. 嘉立创下单避坑清单:从上传到工艺参数一条条过
文件准备好了,最后一步是到嘉立创下单。这块我踩过的坑比导出Gerber还多,列成清单供你避雷。
6.1 上传环节:看预览比看聊天记录靠谱
下单页选择“上传Gerber”而不是“上传PCB源文件”。上传成功后,系统会弹出在线预览。请务必点开每一层,花几分钟确认:
- 所有层是否齐全
- 板框是否被系统正确识别
- 钻孔是否在正确位置
- 层数是否和预期一致
这些预览信息直接决定系统能否正确报价和排产。很多人上传后瞄一眼价格就付款了,完全忽略了预览里那层“警告:缺少钻孔文件”的红色提示,等板子到手才发现所有孔都没钻。
6.2 常见下单参数怎么选
参数选择本质上没有绝对对错,但有几个高频歧义点值得单独说。
层数:系统会根据Gerber自动识别,通常不会错。但如果你下单页选2层,上传的Gerber却是4层,系统会提示不一致,这时不要强行提交。
板厚:默认1.6mm。如果你的设计结构没有特殊要求,保持默认即可。做小模块、邮票孔拼板时,0.8mm或1.2mm会更轻便。
铜厚:默认1oz(35μm)。除非你的电源走线电流很大,否则默认足够。选2oz时,最小线宽线距的工艺能力会变差,因为铜厚了蚀刻精度会下降,这个要留意。
阻焊颜色:绿色默认最便宜、交期最快。白色、黑色、紫色这类特殊颜色,可能加价或延长交期,对成本敏感的项目提前评估。
表面处理:默认无铅喷锡或喷锡。如果是射频电路、金手指、需要频繁插拔或接触可靠性高的场景,换成沉金更合适。
6.3 高发拒单原因一览
把这些年遇到和听说的拒单原因整理成了一张表,每条后面都附了解决办法。
| 拒单原因 | 具体表现 | 解决办法 |
|---|---|---|
| 缺少钻孔文件 | 系统提示没有NC Drill或打不开 | 回AD重新输出NC Drill,检查格式 |
| 板框未闭合 | 系统识别不到完整外形 | 用Board Shape定义板框后重新导出 |
| 钻孔坐标偏移 | 预览区孔位跑到板外 | 检查原点设置,重设为零后再导出 |
| 线宽过细 | 提示最小线距不足 | 在设计规则里把安全间距提高到6mil以上 |
| 丝印字高太小 | 字符模糊无法辨认 | 字符高度至少0.8mm,线宽0.15mm以上 |
| 阻焊桥不足 | 焊盘间距过近导致绿油桥太窄 | 调整焊盘间距或加大阻焊开窗间隙 |
| 槽孔被忽略 | 异形孔没生成.ROU | 检查槽孔定义,输出后确认.ROU存在 |
6.4 拼板、邮票孔、阻抗板的额外注意事项
自己拼板时,V割和邮票孔的设计直接影响分板质量。V割线要画在板与板之间,不要误画到板内;邮票孔最好设计成每段5到8个孔,孔边距离板边缘至少0.3mm,否则分板后板边容易崩缺。
阻抗板是另一个高频坑。如果你的设计里有射频走线或其他要求阻抗的线路,除了把线宽线距做对,下单备注里一定要写清楚叠层要求、阻抗值(比如50Ω单端)和参考层。嘉立创的系统里也有阻抗计算工具,可以预先把线宽算好,然后在备注里附上计算依据。
6.5 客服沟通后,为什么还要重新上传文件
最后分享一个真实教训。有一次我和客服沟通后,对方说“把Keep-Out层的线删掉就行”,我就在AD里改了,然后在聊天窗口说“改好了”。结果产线拿到的还是旧版本Gerber,因为聊天内容不会自动同步到订单文件里,最后板子做出来还是有杂物。
正确的做法是:修改完设计后,重新导出Gerber,重新压缩,在下单系统里重新上传文件,并在备注里写清楚“V3版本,已删除Keep-Out杂线”。这样产线拿到的才是最终版。
最后留一个习惯
我后来给自己定了一个流程:每块板子出Gerber后,本地建一个以“日期_版本_板层数”命名的文件夹,把Gerber文件复制进去,再放一个readme.txt,写清楚这一版改了什么、是不是阻抗板、有没有拼板。等几个月后这块板子出装配问题需要复刻时,你会庆幸当时留了这么一份记录。
Gerber导出这件事,说到底就是把“我认为的板子”转成“工厂能做出来的板子”的过程。只要理解了每一层文件对应什么工艺,再按部就班配置一遍并做好自检,它就不会再成为你打板路上的拦路虎。