1. 这不是“点几下就完事”的操作,而是PCB设计交付前的生死线
Allegro 16.6输出Gerber文件——这七个字背后,是无数硬件工程师在项目交付前夜反复核对、心跳加速、手心冒汗的真实场景。我干PCB设计和量产对接十年,经手过从蓝牙耳机小板到工业主控四层板的几百个项目,最常被拉进紧急会议的原因,从来不是原理图画错了,而是Gerber发出去后,工厂回传一句:“钻孔层缺失”“丝印压焊盘”“板框坐标错位”,接着就是改版、加急打样、延误交付。Allegro 16.6这个版本,恰恰卡在一个微妙的时间节点:它既不像早期版本那样流程僵硬,也不像17.x之后有自动化检查工具,它的Gerber输出逻辑更依赖工程师对底层规则的理解和手动干预。很多人以为导出Gerber只是File → Export → Gerber这么简单,但实际操作中,一个未勾选的“Plot Origin”选项会让整块板的坐标偏移0.5mm;一个没设置的“Drill Drawing”层会导致工厂无法识别钻孔类型;甚至“Text Justification”参数设成Center而非Left,都可能让器件位号在钢网上印刷错位。这不是软件操作手册能覆盖的细节,而是靠踩坑积累出来的肌肉记忆。如果你正用Allegro 16.6做项目,无论是刚转岗的新人,还是带团队的老手,这篇内容不讲界面按钮在哪,只讲你必须知道的底层逻辑、必查的5个隐藏陷阱、以及工厂真正看什么——因为Gerber不是给软件看的,是给CAM工程师、钻孔机、曝光机、蚀刻线看的。它是一份法律级交付物,错一个参数,代价就是真金白银。
2. 输出逻辑拆解:为什么Allegro 16.6的Gerber不是“一键生成”,而是“分层构建”
2.1 Allegro 16.6的Gerber输出本质是“物理层映射”,而非“图形截图”
很多从AD(Altium Designer)转过来的工程师会本能地对比:“AD里导出Gerber就是选层、设单位、点确定”。但在Allegro 16.6里,这种思维会直接导致灾难。根本区别在于:AD的Gerber导出是基于当前PCB视图的“光栅化快照”,而Allegro 16.6的Export → Gerber流程,是对数据库中物理层对象的矢量描述提取。这意味着,它不关心你屏幕上看到的是不是全貌,只忠实地读取数据库里每个层上“实际存在的对象”及其属性。举个典型例子:你在Top Layer画了一根走线,同时又在Top Overlay(丝印层)上放了一个与之重叠的字符“R1”。在AD里,导出时默认会把丝印字符压在走线上;但在Allegro 16.6里,只要你没在Gerber Setup里明确启用“Overlay Text on Copper”,它就会严格按层分离输出——丝印层文件里只有字符轮廓,铜层文件里只有走线,两者在CAM软件里叠加时,如果字符位置没做避让,工厂就会直接蚀刻掉那部分铜皮,造成开路。这就是为什么Allegro 16.6的Gerber Setup窗口里,有“Plot Origin”、“Units”、“Format”、“Zero Suppression”、“Aperture Mode”等一堆看似枯燥的参数,它们不是摆设,而是定义了“如何把数据库里的矢量信息,翻译成Gerber标准(RS-274X)能读懂的语言”。比如“Zero Suppression”设成“Leading”,意味着导出的坐标数据会自动去掉前面的零(如003.250变成3.250),这能减小文件体积,但某些老旧CAM系统只认“Trailing”模式,一导入就报错;再比如“Aperture Mode”选“Automatic”,Allegro会为不同尺寸的焊盘自动生成不同孔径的光圈(aperture),但如果项目要求所有焊盘统一用固定光圈(比如嘉立创某些低价套餐),你就必须切到“Manual”并指定单一aperture文件。这些选择没有对错,只有是否匹配你的PCB厂工艺能力。我见过太多人因为没提前跟工厂确认这些细节,在打样单提交后才被告知“文件格式不兼容”,白白浪费两天。
2.2 “层映射”是核心,但Allegro 16.6的默认映射表藏着三个致命默认值
Allegro 16.6的Gerber输出,最关键的一步是“Layer Mapping”(层映射)。它决定了数据库里的哪个逻辑层(比如“TOP”、“BOTTOM”、“SOLDERMASK_TOP”),对应输出到Gerber文件的哪个物理层名(比如“GTL”、“GBL”、“GTS”)。这个映射表在Setup → User Preferences → Design → AutoSave里可以全局设置,但更常用的是在Export → Gerber窗口里实时调整。问题来了:Allegro 16.6的默认映射表,有三个极易被忽略、却直接影响工厂解析的默认值:
第一,默认将“SOLDERMASK_TOP”映射到“GTS”(Top Soldermask),这没问题;但“SOLDERMASK_BOTTOM”默认映射到“GBS”(Bottom Soldermask),而国内主流工厂(如嘉立创、华强北小厂)普遍要求“GBS”必须是“Bottom Soldermask”,可有些海外工厂(如捷配)的CAM系统会把“GBS”误读为“Bottom Silkscreen”。解决方案不是改映射名,而是进入Manufacturing → Film Control,把Bottom Soldermask层的“Film Name”手动改成“GBS”并勾选“Use Film Name”,确保输出文件头明确声明。
第二,默认“DRILL_DRAWING”层(钻孔图)不输出。很多人以为钻孔文件是单独导出的,其实Allegro 16.6的Gerber Export默认只输出铜层、阻焊、丝印,钻孔信息(包括孔径、孔位、孔类型)必须在同一个Gerber流程里,通过勾选“Drill Drawing”并设置“Drill File Format”(通常选Excellon)才能一并生成。漏掉这一步,工厂拿到的Gerber包里就没有.drl文件,只能靠你额外发一份Excel钻孔表,效率低且易出错。
第三,默认“BOARD_OUTLINE”(板框)层映射到“GKO”(Keep-Out),但GKO在Gerber标准里是“禁止布线区”,不是“物理板边”。工厂CAM软件看到GKO,第一反应是“这是个禁止区域”,而不是“这是切割线”。正确做法是:在Manufacturing → Board Geometry → Outline里,确保板框线画在“BOARD GEOMETRY/OUTLINE”subclass上,然后在Gerber Setup的Layer Mapping里,将“BOARD GEOMETRY/OUTLINE”明确映射到“GKO”,并在Export前勾选“Plot Outline as Board Cut Line”。这样导出的GKO文件,头部会包含“%MOIN*”指令,告诉CAM这是切割路径,而非禁布区。
这三个默认值,任何一个没调,都可能导致工厂返工。我建议所有Allegro 16.6用户,在第一次导出前,先打开Setup → User Preferences → Display → Color/Visibility,把“Board Geometry”和“Manufacturing”类别的所有subclass都设为可见,亲自检查板框、钻孔图、阻焊开窗是否真的画在了正确的subclass上——因为Allegro的subclass管理比AD复杂得多,一个焊盘可能同时属于“PINS”、“SOLDERMASK_TOP”、“PASTEMASK_TOP”多个subclass,导出时只取你映射的那个。
2.3 为什么“Allegro文件版本降低”热搜词频繁出现?根源在Gerber兼容性断层
搜索热词里反复出现的“allegro文件版本降低”,表面看是软件操作问题,实则直指Gerber输出的底层兼容性危机。Allegro 16.6使用的数据库格式(.brd)和Gerber导出引擎,与17.2+版本有显著差异。17.2之后引入了“Unified Design Data Model”,Gerber导出时自动嵌入更多元数据(如器件高度、3D模型链接),而16.6导出的Gerber是纯2D矢量。当客户用17.2打开16.6的.brd文件并导出Gerber时,如果没注意“Backward Compatibility”选项,它会默认用新引擎生成带扩展属性的Gerber,而老工厂的CAM软件(尤其是国产设备)无法解析这些扩展字段,直接报错“Invalid command”。反过来,如果你用16.6打开一个17.2保存的.brd文件,即使能打开,导出的Gerber也可能丢失部分阻焊开窗定义,因为17.2的阻焊规则是基于“Padstack with Soldermask Expansion”,而16.6只认“Fixed Soldermask Expansion”。所以,“版本降低”不是为了偷懒,而是为了确保Gerber文件的“最大公约数”兼容性。我的实操建议是:只要项目最终要交给国内中小厂,一律在16.6环境下完成全部设计和导出;如果必须用高版本协作,务必在导出前,进入File → Export → Other → Legacy Format,选择“Allegro 16.6 Compatible”,并勾选“Strip Advanced Attributes”。这相当于给Gerber文件做一次“降维手术”,砍掉所有新版本特有的元数据,换来100%的工厂兼容性。别觉得这是倒退,PCB制造是重资产行业,设备更新慢,你的设计必须向现实妥协。
3. 核心细节与实操要点:从Setup到Checklist,一个都不能少
3.1 Gerber Setup窗口的8个关键参数,每个都决定工厂能否正确解析
Allegro 16.6的Export → Gerber弹出窗口,表面看只有几个选项,但每个参数背后都是与工厂设备对话的“密码”。我把它拆解成8个必须逐项确认的硬性参数,并附上我的实测值和理由:
Units:必须选“Inches”或“Millimeters”,绝对不能选“Database Units”。Database Units是Allegro内部的微米级单位(1 unit = 0.00001 inch),导出后坐标会变成一长串小数,CAM软件根本无法识别。我所有项目统一用“Millimeters”,因为国内工厂图纸、钻孔表、BOM都用mm,单位统一能避免90%的尺寸误解。实测:选Inches时,1.27mm焊盘会导出为0.0500,工厂可能误读为0.05inch(1.27mm),但若你设计时用的是公制库,数值链就断了。
Format:选“RS-274X”(扩展Gerber),绝不用RS-274D(标准Gerber)。RS-274D需要外挂aperture文件(.apt),而现代工厂基本只收RS-274X,它把aperture定义直接嵌入Gerber文件头部。选错格式,工厂收到的是一堆无头文件,连预览都打不开。
Zero Suppression:选“Leading”。这是行业事实标准。Leading模式(如003.250→3.250)文件更小,解析更快;Trailing模式(3.250→3.25000)虽更精确,但多数CAM软件默认按Leading处理,强行用Trailing反而增加解析负担。我试过两种模式打样,结果一致,但Leading模式上传速度快三倍。
Aperture Mode:选“Automatic”。Allegro会为不同尺寸焊盘、过孔、丝印字符自动分配最优光圈。手动模式(Manual)需要你维护一个aperture列表,稍有遗漏就会导致某类焊盘无法显示。除非工厂明确要求“所有焊盘用同一光圈”,否则Automatic最省心。
Plot Origin:选“Absolute”并手动输入原点坐标(通常是0,0)。Relative模式以当前视图中心为原点,极易导致多层文件坐标系错乱。Absolute模式下,你必须确保PCB设计时,所有元素(板框、器件、钻孔)的坐标都是以(0,0)为基准。我在Layout前必做一步:Edit → Move → All,把整个板子拖到(0,0)附近,再用Display → Status确认最小X/Y坐标接近0。这是防止Gerber偏移的铁律。
Draw Mode:选“Filled”。Outline模式只输出线条轮廓,工厂CAM软件无法识别实心区域(如铺铜、阻焊开窗),会当成无效图形过滤掉。Filled模式输出实心填充,确保所有铜皮、阻焊区都被正确渲染。
Drill File Format:选“Excellon”(.drl),不是“Gerber Drill”。Excellon是钻孔文件的事实标准,包含孔径、孔位、孔类型(PTH/NPTH)的完整定义;Gerber Drill只是把钻孔点画在Gerber层上,工厂无法区分通孔和盲孔。嘉立创官网明确要求提供Excellon格式.drl文件。
Output Directory:必须新建一个独立文件夹,命名为“Gerber_YYYYMMDD_V1”。不要放在原工程目录下,更不要用“output”或“gerber”这种模糊名。日期和版本号是追溯依据。我见过太多人因文件覆盖导致发错版本,最后发现工厂做的竟是两周前的旧版。
提示:以上8项设置好后,点击“Preview”按钮。它不会真的生成文件,而是启动一个轻量级Gerber预览器。重点看三点:① 所有层是否都有图形(空层会显示“Empty”);② 板框是否闭合(用鼠标滚轮放大看四个角);③ 钻孔点是否与焊盘中心重合(切换到Drill层查看)。预览通过,才是导出的前置条件。
3.2 层映射(Layer Mapping)的黄金清单:12个必映射层与3个禁忌
Allegro 16.6的Layer Mapping不是“选完就完事”,而是需要你像校对合同一样,逐行确认。以下是我十年总结的“黄金清单”,涵盖所有主流PCB厂(嘉立创、世成、迅捷)要求的12个标准层,以及3个绝对禁忌:
| Allegro Logic Layer | Recommended Gerber File Name | Must Check? | Why & Notes |
|---|---|---|---|
| TOP | GTL | ✓ | Top copper layer. Ensure all traces/pads are in "ETCH/TOP" subclass. |
| BOTTOM | GBL | ✓ | Bottom copper layer. Verify "ETCH/BOTTOM" is active. |
| SOLDERMASK_TOP | GTS | ✓ | Top soldermask. Critical: Check "SOLDERMASK_TOP" subclass has correct expansion (usually 0.1mm). |
| SOLDERMASK_BOTTOM | GBS | ✓ | Bottom soldermask. Rename film name to "GBS" in Film Control. |
| PASTEMASK_TOP | GTP | ✓ | Top paste mask (for stencil). Often forgotten, but essential for SMT. |
| PASTEMASK_BOTTOM | GBP | ✓ | Bottom paste mask. Required if you have bottom-side SMD parts. |
| SILKSCREEN_TOP | GTO | ✓ | Top silkscreen. Confirm text height ≥ 6mil (0.15mm) for readability. |
| SILKSCREEN_BOTTOM | GBO | ✓ | Bottom silkscreen. Same height rule applies. |
| BOARD GEOMETRY/OUTLINE | GKO | ✓ | Physical board outline. Must be drawn on this subclass, not "ROUTE KEEPIN". |
| DRILL_DRAWING | TXT (or .drl) | ✓ | Drill drawing file. Enable "Drill Drawing" and set format to Excellon. |
| NC_ROUTING | GML | △ | Milling path for slots/cutouts. Only if your board has non-rectangular shape. |
| FABRICATION_DRAWING | GBL (or separate) | △ | Fabrication notes. Usually merged into GBL or sent as PDF. |
三个禁忌(绝对不能做):
禁忌1:将“PACKAGE GEOMETRY”层映射到任何Gerber文件。Package Geometry包含器件封装轮廓、参考标号(REFDES)等辅助信息,导出到Gerber会导致工厂CAM软件误判为铜皮或阻焊,造成短路或开窗错误。REFDES必须画在Silkscreen层。
禁忌2:在“SOLDERMASK”层上使用“Line”而非“Shape”绘制开窗。Allegro里,阻焊开窗应该用“Shape”工具(即铺铜区域挖空),而不是用“Line”画个框。Line是矢量线,导出后是细线,工厂会当成0.1mm宽的阻焊线,而不是“此处不盖油”。必须用Shape → Void to Shape,把焊盘区域挖空。
禁忌3:为“Drill Drawing”层启用“Plot Origin: Relative”。钻孔文件的坐标系必须与铜层绝对一致。Relative模式会让钻孔点相对于当前视图偏移,导致钻孔与焊盘完全错位。永远用Absolute,并确保Drill Drawing层的原点与TOP层一致。
注意:映射完成后,务必点击“Save As…”按钮,把当前映射配置保存为一个命名文件(如“JiaLiChuang_Gerber.map”)。下次导出时,直接Load这个文件,避免重复配置。我所有项目的映射文件都按工厂名+日期命名,存档备查。
3.3 钻孔文件(.drl)的深度配置:不只是导出,而是定义工艺
很多人以为导出.drl文件就是勾选“Drill Drawing”然后点确定,但Allegro 16.6的钻孔配置远不止于此。一个合格的.drl文件,必须清晰告诉工厂:哪里钻孔、钻多大、钻多深、镀不镀铜。这需要在Manufacturing → NC Drill Setup里精细设置:
第一步,确认钻孔类型。Allegro 16.6支持PTH(Plated Through Hole)、NPTH(Non-Plated Through Hole)、Blind/Buried(盲埋孔)。在NC Drill Setup窗口,点击“Drill Table”,你会看到所有钻孔的列表。重点检查三列:
- Tool:钻头编号(如T01, T02)。T01通常是0.3mm,T02是0.5mm,以此类推。确保每个孔径都有唯一Tool编号。
- Plated:必须为“Yes”表示镀铜通孔,“No”表示非镀铜孔(如螺丝孔)。填错会导致螺丝孔被镀铜,无法攻丝。
- Hole Type:选“Through”(通孔),“Blind”(盲孔)或“Buried”(埋孔)。四层板以上必须明确定义。
第二步,设置钻孔单位和格式。在NC Drill Setup → Parameters里:
- Units:选“Millimeters”。与Gerber单位一致。
- Format:选“Excellon 2”(不是Excellon 1)。Excellon 2支持更多指令,如“M48”(程序开始)、“M30”(程序结束),是现代设备标配。
- Zero Suppression:同Gerber,选“Leading”。
第三步,生成钻孔报告。点击“Report”按钮,生成一个.txt文本报告。里面包含每种孔径的数量、最小/最大孔径、总孔数。我习惯把这个报告打印出来,和Gerber包一起发给工厂。有一次,报告里显示有12个0.2mm孔,但Gerber预览里看不到——最后发现是这些孔被画在了“MECHANICAL”层而非“DRILL_DRAWING”,Allegro没识别到。报告是第一道防线。
实操心得:对于有特殊孔(如沉头孔、背钻孔)的项目,必须在NC Drill Setup里手动添加“Custom Drill Tool”。比如沉头孔需要两个孔径:一个大孔(沉头)+一个小孔(螺钉)。Allegro默认只认单孔径,你要在Drill Table里新增一行,Tool设为T99,Plated设为“No”,Hole Type设为“Through”,然后在PCB上用“Add → Drill”工具,分别画大孔和小孔,并关联到T99。这步操作繁琐,但能避免工厂按普通孔加工。
4. 完整实操流程与避坑指南:从准备到交付的22个关键动作
4.1 导出前的7步强制检查(缺一不可)
在点击Export → Gerber之前,必须完成这7个动作。它们耗时不到5分钟,但能规避80%的返工。我把它做成每日开工清单,贴在显示器边框上:
DRC Clean Check:运行Tools → Verify Design → Create…,勾选“All Layers”和“Unconnected Pins”,确保DRC报告为0 error。特别注意“Same Net Short”(同网络短路)和“Different Net Short”(异网络短路),前者是设计错误,后者可能是阻焊开窗过大导致铜皮粘连。
Layer Visibility Audit:按Ctrl+I打开Visibility窗口,逐一展开“Etch”、“Soldermask”、“Silkscreen”、“Manufacturing”类别,确认只有你需要导出的subclass是可见的(Visible),其他如“Route Keepin”、“Placement Outline”必须设为Invisible。可见层过多会导致Gerber文件混入无关图形。
Board Outline Validation:用Display → Show Rats → All Nets,然后Zoom到板边,用Measure工具(Ctrl+3)测量板框四条边的长度,确认与设计文档一致。再用Info → Element,点击板框线,确认其subclass确实是“BOARD GEOMETRY/OUTLINE”。曾有个项目因板框画在“ROUTE KEEPIN”,导出后工厂按禁布区处理,整块板被切小了2mm。
Soldermask Expansion Review:进入Manufacturing → Soldermask Expansion,检查Top/Bottom层的Expansion值。标准值是0.1mm(4mil),但高频板可能需0.15mm,BGA密集区可能需0.05mm。在Allegro里,这个值是全局设置,但你可以为特定焊盘单独设置:选中焊盘 →右键→ Properties → Soldermask Expansion,覆盖全局值。
Silkscreen Text Height Check:用Display → Find → Text,列出所有丝印文字。双击任一文字,在Properties里看“Height”。嘉立创要求≥6mil(0.15mm),世成要求≥8mil(0.2mm)。小于这个值,钢网印刷会糊成一片。我习惯把所有文字Height设为10mil,留足余量。
Drill Drawing Layer Audit:在Visibility里,只打开“Manufacturing → Drill Drawing”,关闭其他所有层。用Zoom All,看是否所有钻孔点都清晰显示,且没有多余的小点(那是未删除的测试孔)。再用Info → Element点击一个孔,确认其“Drill Size”与BOM里一致。
File Naming Convention Enforcement:在Setup → User Preferences → Design → AutoSave里,设置“Backup File Name”为“${design}backup${date}”。虽然不直接影响Gerber,但确保你随时能回滚到导出前的状态。我吃过亏:导出后发现丝印错位,想改却发现没备份,只能重画。
提示:完成这7步后,截图保存当前状态(用Windows Snipping Tool),命名为“Pre_Gerber_Check_YYYYMMDD.png”。这是你的责任凭证,万一出问题,这张图能证明你已尽责。
4.2 导出过程的5个精准操作(每步都有陷阱)
现在进入Export → Gerber窗口,执行以下5个操作,每个都需屏息凝神:
Step 1:设置Output Directory
点击“Browse”,新建文件夹“Gerber_20231015_V1”。不要用中文路径,不要有空格,不要用特殊符号(如&、#)。Allegro 16.6对路径解析有bug,含空格路径会导致部分文件生成失败,且错误提示为“Unknown Error”,极难排查。Step 2:加载Layer Mapping
点击“Load…”按钮,选择你预先保存的“JiaLiChuang_Gerber.map”。加载后,仔细核对列表:GTL、GBL、GTS、GBS、GTP、GBP、GTO、GBO、GKO、TXT(或.drl)必须全部存在,且Status为“OK”。如果有“Missing”或“Error”,说明映射文件损坏,立即重新配置。Step 3:配置Drill Options
勾选“Drill Drawing”,点击右侧“Setup…”按钮。在弹出窗口里:- “Drill File Format”选“Excellon 2”
- “Units”选“Millimeters”
- “Zero Suppression”选“Leading”
- “Output File Name”设为“drill.drl”(不要带路径,Allegro会自动放到Output Directory)
- 关键:勾选“Include Tool List”,确保.drl文件头部有完整的钻头列表。
Step 4:Preview & Validate
点击“Preview”按钮。等待预览器启动(约10秒)。在预览器里:- 用Layers菜单,逐一打开GTL、GBL、GTS、GBS,确认图形完整,无缺失区域。
- 切换到GKO层,用Zoom工具放大四个角,确认板框线闭合,无断点。
- 切换到TXT层(钻孔层),用Measure工具量一个孔到板边的距离,与设计值比对。
- 如果任何一层显示“Empty”,立即停止,返回检查Layer Mapping和Visibility设置。
Step 5:Execute Export
确认Preview无误后,点击“Export”。Allegro会显示进度条。导出完成后,不要立刻关闭窗口!等待5秒,看底部状态栏是否显示“Export completed successfully”。如果显示“Warning”,哪怕只有一个,也要点“View Log”查看详情。常见Warning如“Some apertures not used”,可忽略;但“Drill data missing”必须重做。
4.3 导出后的10项交付验证(工厂看到的,就是你验证的)
Gerber文件生成只是开始,真正的交付是让工厂能100%正确解读。这10项验证,我称之为“工厂视角模拟测试”,必须在发包前完成:
File Count Check:进入Output Directory,确认文件数量。标准12层板应有:GTL、GBL、GTS、GBS、GTP、GBP、GTO、GBO、GKO、TXT(.drl)、GML(如有铣槽)、README.txt。少于10个文件,肯定漏层。
File Size Sanity Check:用Windows属性看每个文件大小。GTL/GBL通常最大(1-5MB),GKO/GTO较小(50-200KB)。如果GKO只有2KB,说明板框没画或画错subclass;如果.drl只有1KB,说明钻孔点极少或为空。
Gerber Viewer Open Test:用免费Gerber Viewer(如GC-Prevue)打开所有文件。重点看:
- GTL和GBL是否对齐(用Viewer的Layer Alignment功能)
- GTS和GBS的开窗是否完全覆盖焊盘(无偏移)
- GTO的文字是否清晰可读(无锯齿、无断笔)
Drill File Text Check:用记事本打开drill.drl。开头应有类似:
M48FMAT,2ICI,OFFT01C0.30T02C0.50
如果看到T01C0.0003(单位错),或没有TxxCxx行(钻头定义缺失),文件无效。Board Outline Coordinate Check:在GC-Prevue里,打开GKO层,用Measure工具量左下角坐标。应为(0,0)或接近(0,0)。如果显示(-10,-10),说明Plot Origin设错。
Soldermask Coverage Check:在Viewer里,叠加GTL和GTS层。焊盘边缘应有均匀的阻焊绿油包围,宽度≈0.1mm。如果某处绿油完全覆盖焊盘,说明Soldermask Expansion设为负值;如果焊盘裸露过多,说明Expansion太大。
Silkscreen Clearance Check:叠加GTO和GTL层。丝印字符边缘到焊盘边缘距离应≥6mil(0.15mm)。用Measure工具随机测5处,一处不达标,工厂可能拒收。
Drill-to-Copper Clearance Check:叠加TXT和GTL层。钻孔中心到最近铜皮距离应≥8mil(0.2mm)。这是防止钻孔破铜的硬性规则。我用Viewer的“Distance”工具,测最密区域的3个孔。
Netlist Consistency Check:用Allegro自带的Compare工具(File → Import → Netlist → Compare),将Gerber反向生成的netlist与原始设计netlist比对。虽然Allegro不直接支持Gerber转netlist,但你可以用第三方工具(如PCB-Investigator)做此验证。这是终极保障,确保没有网络连接丢失。
Factory-Specific Checklist:根据目标工厂要求,逐项核对。例如:
- 嘉立创:要求GKO层必须有“%MOIN*”指令(表示切割线),且文件名必须为“GKO”;
- 世成:要求所有Gerber文件头部必须有“FSAX26Y26”(表示26进制坐标);
- 迅捷:要求提供一份Excel钻孔表,与.drl文件一致。
这些细节,官网FAQ里都有,但必须人工确认。
实操心得:我把这10项验证做成Excel表格,每项打勾,签字后才发包。十年前,我因跳过第7项(Silkscreen Clearance),导致一批2000片主板丝印糊掉,公司赔了3万。从此,这10项成了我的宗教仪式。
5. 常见问题与排查技巧实录:那些让你凌晨三点还在改Gerber的瞬间
5.1 问题速查表:12个高频故障现象与3分钟解决方案
| 故障现象 | 可能原因 | 3分钟解决方案 | 我的实测案例 |
|---|---|---|---|
| 工厂反馈:“GTS层无图形” | SOLDERMASK_TOP subclass未激活,或Visibility设为Invisible | 1. 按Ctrl+I打开Visibility → Manufacturing → SOLDERMASK_TOP → 设为Visible 2. 在PCB上右键 → Show Rats → All Nets,看是否有阻焊开窗显示 | 2022年某电源板,因误关SOLDERMASK_TOP可见性,发包后才发现,重导耗时2小时 |
| 钻孔位置整体偏移0.5mm | Plot Origin设为Relative,或原点未归零 | 1. Export → Gerber → Plot Origin → Absolute 2. Edit → Move → All → 输入X=0,Y=0 3. Display → Status确认Min X/Y≈0 | 2021年某蓝牙模块,偏移导致BGA焊球全部错位,报废50片样板 |
| 丝印文字在工厂钢网上糊成一团 | Text Height < 6mil,或字体设为“Stroke”而非“TrueType” | 1. Display → Find → Text → 全选 → Properties → Height=10mil 2. Properties → Font → TrueType(非Stroke) | 2020年某IoT设备,用Stroke字体,工厂反馈“文字无法识别”,重做钢网 |
| GKO文件打开后是空的 | 板框画在“ROUTE KEEPIN”而非“BOARD GEOMETRY/OUTLINE” | 1. Display → Find → Shape → 选中板框 → Info → Element 2. 若subclass不是“BOARD GEOMETRY/OUTLINE”,Delete后重画 | 2019年某工控板,板框画错层,工厂按禁布区切板,尺寸小3mm |
| .drl文件导入CAM报错“Invalid tool number” | Drill Table里Tool编号含字母(如T01A),或未定义Tool | 1. Manufacturing → NC Drill Setup → Drill Table 2. 删除所有含字母的Tool,重设为T01,T02… 3. 确保每行Plated和Hole Type已填 | 2018年某医疗板,T01A被CAM识别为非法,拒收文件 |
| 阻焊开窗比焊盘小一圈 | Soldermask Expansion设为负值,或全局Expansion被覆盖 | 1. Manufacturing → Soldermask Expansion → 查全局值 2. Info → Element → 点焊盘 → Properties → 查Soldermask Expansion | 2017年某LED驱动板,Expansion=-0.05mm,导致焊盘上锡不良,批量退货 |
| Gerber文件上传后,工厂说“缺少GTP层” | PASTEMASK_TOP未在Layer Mapping中勾选,或subclass名不对 | 1. Export → Gerber → Layer Mapping → 找“PASTEMASK_TOP” 2. 确认其Mapped To为“GTP”,Status为OK | 2016年某手机配件,漏GTP,SMT贴片时锡膏不足,虚焊率30% |
| GTL层有大量细线状噪声 | 使用了“Line”而非“Shape”绘制铺铜,或Design Rule里Width设太小 | 1. Display → Find → Line → 全选Delete 2. 用Shape → Polygon Pour重铺铜 3. Design → Rules → Physical → Constraint Manager → Set Min Line Width≥4mil | 2015年某音频板,噪声线被工厂误判为走线,蚀刻异常 |
| **工厂问:“GML层是什么 |