
1. 为什么打样前导出文件这件事值得单独写一篇画完PCBDRC全绿连通性检查也没问题很多新手这时候就直接把整个工程文件夹打包发给板厂了。结果呢板厂回复一句“请提供Gerber文件”然后就懵了。更常见的情况是板厂勉强接受了你的文件做出来的板子焊盘小了、丝印盖住焊盘了、过孔盖油了、钢网对不上位——这些问题追根溯源八成都是因为打样文件导出环节出了岔子。我用Cadence Allegro有些年头了从16.6到17.x都折腾过。16.6这个版本在国内用户基数特别大很多公司至今还在用稳定性好但界面和操作逻辑跟Altium Designer差别不小新手第一次导出Gerber经常找不到北。这篇内容就是把我自己反复踩坑之后总结出来的一套流程写清楚围绕Cadence Allegro 16.6把PCB打样之前必须导出的7个文件一个一个拆开讲包括Gerber、钢网文件、钻孔文件、坐标文件等等每一步都给到具体操作路径和参数设置。不管你是刚画完第一块板子的学生还是从AD转过来还没适应Allegro的老手这套流程都可以直接照着做。我不会只告诉你“点哪个菜单”还会说清楚每个文件是干什么用的、板厂为什么需要它、参数为什么这么设。搞明白这些以后不管用哪个版本的Allegro甚至换到别的EDA工具你都能举一反三。2. 打样文件全景7个文件各自解决什么问题2.1 先搞清楚板厂到底要什么PCB板厂的生产流程大致是拿到你的设计文件→CAM工程师处理→光绘→蚀刻→钻孔→表面处理→成型。在这个过程中板厂需要的信息包括每一层的铜箔图形、阻焊层图形、丝印层图形、钻孔位置和孔径、板子外形、以及SMT贴片用的坐标和钢网数据。所以打样前要导出的文件本质上就是把你在Allegro里设计的这些信息翻译成板厂CAM系统能读懂的通用格式。Gerber就是最通用的光绘格式钻孔文件用Excellon格式坐标文件用文本格式钢网文件本质上也是一个Gerber层。2.2 七个文件清单序号文件类型格式用途1顶层线路GerberRS-274X顶层铜箔图形2底层线路GerberRS-274X底层铜箔图形3阻焊层GerberRS-274X开窗区域防止绿油盖住焊盘4丝印层GerberRS-274X元件标号和轮廓5钻孔文件Excellon过孔和插件孔的位置与孔径6坐标文件文本/Pick and PlaceSMT贴片机定位元件7钢网文件RS-274X锡膏印刷模板严格来说Gerber文件不止两层线路还包括内层、电源层等但打样阶段如果是双层板核心就是上面这些。多层板的话内层也要一并导出逻辑是一样的。注意有些板厂会要求你把所有Gerber打包成一个压缩包命名规范也要注意不要用中文路径和特殊字符否则CAM工程师解压可能乱码。2.3 为什么Allegro的导出逻辑和AD不一样用过Altium Designer的朋友知道AD里导出Gerber是在File→Fabrication Outputs里操作界面比较直观。Allegro的逻辑不太一样它把光绘设置放在Artwork对话框里需要先配置Film Control再生成光绘文件。而且Allegro的层叠结构、焊盘命名规则、钻孔符号都有自己的体系第一次接触确实容易迷糊。但Allegro的好处是精度控制非常细尤其适合复杂板子。16.6版本的Artwork界面虽然看起来老派但功能很完整。下面我按实际操作顺序从准备工作开始一步步走。3. 导出前的准备工作别急着点菜单3.1 检查PCB设计状态在导出任何文件之前先确认几件事DRC检查已通过在Allegro里执行Tools→Quick Reports→Design Rules Check确保没有报错。有DRC错误的情况下导出的Gerber可能包含短路或断路的图形。所有层已正确显示在Color Dialog里确认每一层的颜色和可见性设置正确尤其是负片层Negative Plane的处理。板框闭合板框必须在Outline层上是一个闭合的多边形否则板厂无法识别板子外形。用Display→Element查看Outline层是否有断点。原点设置合理建议把原点设在板子左下角方便后续坐标文件的对齐。操作路径Setup→Change Drawing Origin然后在板子左下角点一下。3.2 确认单位与精度Allegro默认单位可能是mil但国内板厂通常用毫米。建议在导出前统一确认执行Setup→Design Parameters→Design标签页查看User Units。如果板厂要求mm这里要改成Millimeter。精度方面Gerber通常用2:4或2:5格式整数位:小数位钻孔文件用2:4。这个在Artwork和NC Drill的导出设置里可以调。实操心得我一般会在导出前把设计参数里的单位改成mm精度设为4位小数。这样导出的Gerber和钻孔文件跟板厂的CAM系统兼容性最好减少来回沟通的次数。3.3 备份工程文件这一步很多人忽略。导出Gerber的过程中如果误操作改了设计参数可能影响原始工程。建议先把整个工程文件夹复制一份备份或者用File→Save As存一个副本再操作。4. Gerber文件导出Artwork对话框完整操作4.1 打开Artwork对话框在Allegro 16.6里路径是Manufacture→Artwork。打开后会看到一个叫“Artwork Control Form”的对话框里面有几个区域Film Control、General Parameters、Options。Film Control区域列出了当前已经定义的Film光绘层默认可能有一些但通常需要自己新建或修改。每个Film对应一个Gerber文件。4.2 新建和配置Film点击Film Control里的“New”按钮输入Film名称。命名建议用英文比如“TOP”“BOTTOM”“SOLDER_TOP”“SILK_TOP”等一看就懂。每个Film需要指定它包含哪些层。在Film Control里选中一个Film下方会显示该Film包含的层列表。右键可以添加或删除层。以顶层线路Gerber为例需要包含的层通常有PIN焊盘VIA过孔ETCH/TOP顶层铜箔走线PACKAGE GEOMETRY/PLACE_BOUND_TOP元件占位区可选阻焊层Gerber需要包含PIN焊盘阻焊开窗基于焊盘VIA过孔如果过孔需要开窗PACKAGE GEOMETRY/SOLDERMASK_TOP阻焊层图形丝印层Gerber需要包含BOARD GEOMETRY/SILKSCREEN_TOP板级丝印PACKAGE GEOMETRY/SILKSCREEN_TOP元件丝印REF DES/SILKSCREEN_TOP位号4.3 关键参数设置在Artwork对话框的General Parameters标签页里有几个参数必须注意Format选RS-274X这是目前最通用的Gerber格式板厂都支持。Output Units选Millimeter跟设计单位一致。Integer Places2或3取决于板子尺寸。一般2位整数够用大板子可能需要3位。Decimal Places4或5。建议4位精度到0.1微米级别足够。Suppress Leading Zeros勾选减小文件体积。Suppress Trailing Zeros一般不勾。在Options标签页里Film Size Limits确认自动计算的尺寸覆盖整个板子。Coordinate Type选Absolute绝对坐标。4.4 生成Gerber文件配置好所有Film之后在Artwork对话框里点击“Create Artwork”按钮。Allegro会在工程目录下生成一个artwork文件夹或者你指定的输出目录里面就是各个Film对应的Gerber文件。生成后建议用CAM工具比如免费的GC-Prevue或者在线Gerber查看器打开检查一遍。重点看焊盘是否完整有没有被阻焊覆盖走线是否连续有没有断线丝印是否压到焊盘如果压到了板厂可能会自动裁剪但最好自己调整板框是否闭合常见坑有时候生成Gerber后发现某些层是空的八成是因为Film里没有正确添加对应的层或者层的可见性被关掉了。回到Film Control里检查一下。4.5 多层板的内层处理如果是4层以上的板子内层Internal Layer也要单独建Film。负片层Negative Plane的处理要特别注意在Allegro里负片层显示的是反的导出Gerber时需要确认Film里添加的是正确的层并且Options里的Plot Mode设置正确。正片用Positive负片用Negative。5. 钻孔文件导出NC Drill操作详解5.1 钻孔文件为什么重要Gerber文件描述的是每一层的二维图形但不包含钻孔信息。板厂需要单独的钻孔文件来知道在哪里打孔、打多大。Allegro里用NC Drill功能导出钻孔文件格式是Excellon。5.2 操作步骤路径Manufacture→NC→NC Drill。打开对话框后Format选2:4整数2位小数4位。Output UnitsMillimeter。Leading/Trailing Zeros跟Gerber设置保持一致。Drill Origin选Absolute。Separate Drill Files如果板子上有不同孔径的孔可以选“Separate”生成多个文件也可以合并成一个。一般合并成一个就行。点击“Drill”按钮生成钻孔文件扩展名通常是.drl。5.3 钻孔符号表除了钻孔文件本身板厂有时还需要钻孔符号表Drill Legend用来对照孔径和符号。在Allegro里可以通过Manufacture→NC→Drill Legend生成会放在一个单独的光绘层里。这个不是必须的但建议一起导出方便板厂核对。5.4 检查钻孔文件生成后可以用文本编辑器打开.drl文件看一眼里面应该包含类似这样的内容M48 METRIC,TZ T1C0.300 T2C0.400 ... % T1 X10000Y10000 ... M30每一行T后面跟的是刀具编号和孔径X/Y是坐标。如果发现孔径明显不对回去检查焊盘和过孔的设置。实操心得我遇到过钻孔文件里出现过孔但Gerber里没有对应焊盘的情况后来发现是过孔的Padstack设置有问题。所以导出后一定要交叉检查Gerber和钻孔文件是否一致。6. 坐标文件导出SMT贴片的关键数据6.1 坐标文件的用途坐标文件Pick and Place File是给SMT贴片机用的里面包含每个元件的位号、X坐标、Y坐标、旋转角度、所在层。没有这个文件SMT产线就没法编程贴片。6.2 导出操作路径Tools→Reports或者直接用Manufacture→Pick and Place不同版本路径略有差异。在16.6里我一般用Reports功能打开Tools→Reports对话框。在Available Reports里找到“Component Report”或“Pick and Place Report”。设置输出格式为Text选择输出路径。点击Report按钮生成。生成的坐标文件里每一行对应一个元件包含RefDes、Layer、X、Y、Rotation等信息。6.3 坐标原点的一致性坐标文件的原点必须和Gerber、钻孔文件的原点一致否则贴片机对不上位。这就是为什么前面强调要在导出前统一设置Drawing Origin。如果原点不一致SMT产线需要手动偏移容易出错。6.4 旋转角度的坑不同EDA工具对元件旋转角度的定义可能不同Allegro里0度可能是元件的某个特定方向而贴片机默认的0度可能是另一个方向。这个需要跟SMT产线确认。一般板厂或SMT厂会提供他们的角度对照表你按照他们的要求调整即可。常见问题坐标文件里出现“#”或“!”之类的符号通常是某些元件的位号包含特殊字符或者元件没有正确放置。检查一下是否有元件在板框外面。7. 钢网文件导出SMT锡膏印刷的模板7.1 钢网文件是什么钢网Stencil是SMT产线用来印刷锡膏的模板上面的开孔位置对应PCB上的焊盘。钢网文件本质上就是一个Gerber层通常基于顶层或底层的焊盘层生成但开孔尺寸可能比焊盘略小或略大取决于工艺要求。7.2 在Allegro里生成钢网层Allegro没有专门的“钢网文件”导出选项钢网文件实际上就是焊盘层的Gerber。具体做法是在Artwork里新建一个Film命名为“STENCIL_TOP”或“PASTE_TOP”。添加顶层焊盘层PIN和相关的Paste层如果有的话。如果设计里有专门的Paste Mask层PACKAGE GEOMETRY/PASTEMASK_TOP也要加进去。生成Gerber这个文件就是钢网文件。7.3 开孔尺寸的调整钢网开孔一般比焊盘略小常见的是焊盘尺寸的90%~95%具体取决于锡膏类型和元件密度。如果Allegro里的Paste层已经按这个比例做了收缩直接导出即可。如果没有可以在CAM阶段让板厂帮忙缩放但最好在设计阶段就处理好。注意钢网文件通常只需要顶层和底层如果有双面贴片不需要丝印和阻焊。导出时确认Film里只包含焊盘相关的层。7.4 钢网文件的检查用Gerber查看器打开钢网文件确认开孔位置和焊盘一一对应没有偏移或缺失。特别是细间距元件比如QFN、BGA开孔尺寸和位置必须精确。8. 常见问题与排查技巧实录8.1 Gerber导出后板厂说文件打不开这种情况通常是格式或精度设置问题。检查以下几点Format是否选了RS-274X单位和精度是否跟板厂要求一致文件是否完整有没有被截断压缩包是否用了中文命名或特殊字符8.2 阻焊层盖住焊盘这是最常见的问题之一。原因通常是阻焊层的Film里没有正确添加焊盘层或者阻焊开窗的Padstack设置有问题。检查方法在Allegro里打开阻焊层的显示看看焊盘位置是否有开窗。8.3 钻孔文件和Gerber对不上可能是原点不一致或者过孔的Padstack定义有问题。建议在Allegro里用Display→Element逐个检查过孔和焊盘的属性。8.4 坐标文件里元件角度不对前面提到过这是角度定义差异导致的。解决办法是跟SMT产线确认他们的角度标准然后在Allegro里批量调整元件的Rotation属性或者让SMT产线在编程时修正。8.5 钢网开孔太大或太小如果锡膏印刷后出现桥连或虚焊可能是钢网开孔尺寸不合适。一般建议开孔面积为焊盘面积的80%~100%具体需要根据实际工艺调试。问题现象可能原因排查方法Gerber打不开格式/精度不对检查RS-274X和单位设置焊盘被绿油盖住阻焊层配置错误检查Film里的焊盘层钻孔偏位原点不一致统一Drawing Origin贴片角度错角度定义差异跟SMT厂确认标准钢网桥连开孔过大缩小开孔面积独家避坑技巧每次导出完所有文件后我都会用一个免费的在线Gerber查看器把所有层叠在一起看一遍。重点看焊盘、钻孔、丝印三者的对齐关系。这一步花五分钟能省掉后面跟板厂来回沟通的好几天。9. 打包与交付最后一步别翻车所有文件导出完之后建议按以下结构打包项目名_PCB打样文件/ ├── Gerber/ │ ├── TOP.gbr │ ├── BOTTOM.gbr │ ├── SOLDER_TOP.gbr │ ├── SOLDER_BOTTOM.gbr │ ├── SILK_TOP.gbr │ ├── SILK_BOTTOM.gbr │ └── OUTLINE.gbr ├── Drill/ │ └── NC_DRILL.drl ├── PickAndPlace/ │ └── CPL.txt └── Stencil/ └── STENCIL_TOP.gbr压缩包用英文命名比如ProjectName_PCB_20250101.zip。发给板厂的时候在邮件或订单备注里写清楚板子层数、板厚、铜厚、表面处理工艺、阻焊颜色、丝印颜色。这些信息虽然不在文件里但板厂需要知道。如果是第一次跟某家板厂合作建议先小批量打样确认工艺没问题再批量生产。打样回来的板子重点检查焊盘是否完整、丝印是否清晰、钻孔是否偏位、板子尺寸是否准确。我在实际使用中发现Allegro 16.6的Artwork配置一旦调好可以保存成模板下次新项目直接调用省去重复设置的时间。具体做法是把配置好的Film Control导出成.art文件新工程里导入即可。这个技巧对经常画同类板子的人特别实用。