
1. 为什么打样前导出这7个文件是硬性门槛画完PCBDRC全绿连通性检查也没报错很多新手就觉得“板子画完了发给工厂就行了”。结果工厂回一句“缺文件没法做”或者板子回来发现丝印糊了、焊盘上不了锡、贴片机贴歪了——这些问题十有八九不是设计本身错了而是生产文件导出环节出了问题。PCB打样本质上是把你在EDA软件里的设计意图翻译成工厂机器能读懂的语言。这个翻译过程需要一整套文件配合缺一个环节工厂就得靠猜猜错了就是你的钱和时间打水漂。我见过太多人只导一个Gerber就发出去结果工厂打电话来问“钢网要不要”“坐标文件呢”“钻孔表在哪”来回折腾两三天工期全耽误了。这篇内容围绕Cadence Allegro 16.6这个版本展开把从Gerber到钢网、从钻孔到坐标、从叠层到丝印的完整导出流程拆透。Allegro 16.6虽然不算新版本但至今仍有大量公司在用尤其是做通信、工控、汽车电子这类对高速信号要求高的板子。它的出图逻辑和Altium Designer差别很大AD里点几下就能出的东西在Allegro里需要理解Artwork光绘、Film胶片、**Aperture光圈**这套底层概念否则你连参数怎么填都不知道。适合谁看刚接触Allegro的硬件工程师、从AD转Allegro的老手、需要自己出生产文件的独立开发者以及那些被工厂退过文件、想搞清楚到底哪里出问题的人。看完之后你应该能独立完成一套完整的PCB生产文件导出不再依赖别人帮你“补文件”。提示Allegro 16.6的界面和17.x有差异但核心逻辑一致。本文所有操作基于16.6版本17.x用户可参考思路菜单路径可能略有不同。2. 七个文件到底分别解决什么问题在动手之前先把这7个文件的角色说清楚。很多人导出时机械地照做不知道每个文件是干嘛的出了问题也不知道从哪查。理解每个文件的用途比记住菜单路径重要得多。2.1 Gerber文件工厂的“施工图纸”Gerber是PCB行业的通用图像格式每一层对应一个文件。顶层铜、底层铜、顶层阻焊、底层阻焊、顶层丝印、底层丝印、钻孔层……工厂拿到这些文件就像拿到一套分层透明的施工图纸叠在一起就是完整的板子。Allegro里Gerber的导出入口在Manufacture - Artwork核心概念是Film胶片。你可以把每个Film理解成一张“曝光底片”里面定义了这一层要输出哪些内容。比如TOP层Film里要包含顶层走线、顶层焊盘、顶层铜皮SOLDERMASK_TOP里要包含阻焊开窗区域。这里有个关键点Allegro不会自动帮你把所有层都建好Film。你需要手动创建每一个Film指定它包含哪些Subclass子类。这是和AD最大的区别——AD里勾选一下就行Allegro里你得自己搭积木。2.2 钻孔文件告诉工厂在哪打孔钻孔文件NC Drill记录每个孔的位置、孔径、是否镀铜。工厂的钻机读取这个文件来打孔。Allegro里通过Manufacture - NC - NC Drill导出通常输出Excellon格式。很多人忽略的是钻孔文件必须和Gerber里的焊盘位置严格对应。如果钻孔偏了要么孔打歪要么焊盘被钻破。导出前一定要确认**钻孔符号表Drill Legend**和实际钻孔一致。2.3 坐标文件贴片机的“导航地图”坐标文件Pick and Place / XY Data告诉贴片机每个元件在板子上的精确位置、旋转角度、所在层。没有这个文件SMT产线就没法编程只能手工贴——那效率和精度完全不是一个级别。Allegro里通过Manufacture - NC - Placement导出注意要选择正确的单位和格式。坐标文件的精度直接影响贴片质量一般用mil或mm小数点后至少3位。2.4 钢网文件锡膏印刷的“模具”钢网Stencil是一块薄金属板上面按焊盘位置开了孔。印刷锡膏时锡膏透过这些孔落到焊盘上。钢网文件本质上就是顶层焊盘层或底层焊盘层的Gerber但工厂需要单独确认。有些工厂会问你要“钢网层”其实就是PASTEMASK_TOP和PASTEMASK_BOTTOM。这两个层在Allegro里默认可能没有内容需要你从焊盘层复制或确认。2.5 叠层文件让工厂知道板子怎么压合叠层文件Stackup说明每层用什么材料、厚度多少、铜厚多少、介质层多厚。工厂根据这个来选板材、安排压合顺序。Allegro里通过Setup - Cross-section查看和导出通常输出PDF或Excel给工厂参考。2.6 丝印文件让板子“会说话”丝印层Silkscreen包含元件位号、极性标识、版本号、公司Logo等。工厂用这个来印白字。Allegro里丝印通常在Silkscreen_Top和Silkscreen_Bottom两个Subclass里导出Gerber时包含进去即可。但要注意丝印不能压在焊盘上否则印出来会糊影响焊接。导出前用DRC检查丝印到焊盘的间距。2.7 阻焊文件决定哪里不上绿油阻焊层Solder Mask是板子上绿色或其他颜色的绝缘涂层焊盘位置要开窗露出铜。Allegro里对应SOLDERMASK_TOP和SOLDERMASK_BOTTOM。阻焊开窗一般比焊盘大4-6 mil每边2-3 mil这个参数在焊盘设计时就定好了导出时确认即可。文件类型Allegro导出入口核心作用常见格式GerberManufacture - Artwork各层图像RS-274X钻孔Manufacture - NC - NC Drill打孔定位Excellon坐标Manufacture - NC - Placement贴片定位TXT/CSV钢网同GerberPASTEMASK层锡膏印刷RS-274X叠层Setup - Cross-section板材压合PDF/Excel丝印同GerberSilkscreen层字符印刷RS-274X阻焊同GerberSOLDERMASK层开窗定义RS-274X3. Allegro 16.6导出Gerber的完整实操Gerber是整套文件的核心其他文件都是围绕它服务的。这一章把Artwork的配置逻辑讲透你照着做就能出一套干净的Gerber。3.1 导出前的准备工作别急着点Artwork很多人打开Artwork就直接点“Create Artwork”结果报一堆错。导出前有几件事必须先做第一确认单位。Allegro默认可能用mil或mm工厂通常接受两者但你要确保Gerber里的单位和钻孔文件一致。在Setup - Design Parameters - Design里查看当前单位。第二更新DRC。跑一遍完整的DRC确保没有短路、间距违规。Gerber里如果有短路工厂做出来就是废板。第三确认焊盘阻焊和钢网层。打开Padstack Designer检查每个焊盘的SOLDERMASK和PASTEMASK尺寸是否正确。阻焊开窗通常比焊盘大4-6 mil钢网开窗通常和焊盘一样大或略小。第四清理无用元素。删除板外的测试点、多余的丝印、重复的铜皮。这些东西混进Gerber里工厂可能会误判。注意Allegro的Artwork配置保存在.art文件里换电脑或换项目时记得重新配置不要直接套用旧项目的Film。3.2 创建Film每一层都要手动搭打开Manufacture - Artwork你会看到一个Film列表。默认可能只有几个你需要手动添加。右键 -Add输入Film名称。命名建议用工厂能看懂的方式TOP顶层线路BOTTOM底层线路SOLDERMASK_TOP顶层阻焊SOLDERMASK_BOTTOM底层阻焊SILKSCREEN_TOP顶层丝印SILKSCREEN_BOTTOM底层丝印PASTEMASK_TOP顶层钢网PASTEMASK_BOTTOM底层钢网DRILL钻孔层可选每个Film里要添加对应的Subclass。比如TOP层需要添加ETCH/TOP顶层走线和铜皮PIN/TOP顶层焊盘VIA CLASS/TOP顶层过孔操作方式在Film上右键 -Add选择Class和Subclass。或者直接把左侧Visibility面板里的层拖进去。这里有个容易踩的坑Allegro的层是Class-Subclass结构。比如“TOP”是Subclass“ETCH”是Class。你不能只选“TOP”必须明确是“ETCH/TOP”还是“PIN/TOP”。新手经常在这里搞混导致Gerber里缺焊盘或缺走线。3.3 设置Gerber参数RS-274X和精度在Artwork窗口里点击Film Control旁边的General Parameters设置全局参数Format选RS-274X。这是现代工厂通用的格式自带光圈定义不需要额外的Aperture文件。Output Units选Inch或Millimeter和设计单位一致。Decimal Places整数位2-3位小数位4-5位。一般用2.4或2.5精度足够。Suppress Leading Zeros勾选减小文件体积。每个Film还可以单独设置Undefined Line Width一般设为5 mil或0.1 mm这是线宽未定义时的默认值。提示如果工厂要求RS-274D格式老式格式需要额外输出Aperture文件。但现在绝大多数工厂都支持RS-274X直接用就行。3.4 生成Gerber并检查配置完Film后点击Create Artwork。Allegro会在当前工作目录下生成一堆.art文件每个Film一个。生成后不要直接打包发走先检查第一用Allegro自带的Viewer打开。在Artwork窗口里点View可以预览每个Film的内容。检查有没有缺层、多出奇怪的东西。第二用CAM工具检查。如果装了CAM350或GC-Prevue导入Gerber看一眼。重点看钻孔和焊盘是否对齐、阻焊开窗是否覆盖焊盘、丝印有没有压焊盘。第三检查文件大小。如果某个Gerber文件异常小比如几KB可能是Film里没加对层输出了一片空白。我自己的习惯是生成Gerber后用GC-Prevue快速过一遍确认顶层底层铜、阻焊、丝印、钻孔五层齐全再打包。3.5 常见Gerber导出错误与修复问题一Gerber里没有焊盘。原因通常是Film里只加了ETCH/TOP没加PIN/TOP。解决在Film里补上PIN/TOP和VIA CLASS/TOP。问题二阻焊开窗不对。检查Padstack里SOLDERMASK的尺寸。如果阻焊层完全覆盖焊盘说明开窗尺寸为0或没设置。问题三丝印跑到焊盘上。这是设计问题不是导出问题。回到PCB里调整丝印位置或者用Silkscreen检查工具批量移动。问题四Gerber文件打不开。检查Format是否选错。有些老工厂只认RS-274D那就需要额外输出Aperture文件。4. 钻孔、坐标、钢网文件的导出细节Gerber搞定后剩下的文件相对简单但每个都有坑。4.1 钻孔文件Excellon格式和钻孔表打开Manufacture - NC - NC Drill。设置Format选ExcellonUnits和Gerber一致Decimal Places2.4或2.5Output File指定路径和文件名点击Drill生成钻孔文件。同时建议生成Drill Legend钻孔符号表放在PCB上或单独输出方便工厂核对孔径。钻孔文件里会列出每个孔径的刀具号、孔数量、坐标。工厂的钻机按这个来打孔。注意如果板子上有槽孔Slot需要在NC Route里单独输出。普通圆孔用NC Drill槽孔用NC Route两者不能混。4.2 坐标文件贴片机的编程依据打开Manufacture - NC - Placement。设置Output File指定路径Placement Origin选Body Center或Pin 1和工厂确认Units通常用mil或mmFormat选CSV或TXT点击Placement生成。文件里包含每个元件的位号、X坐标、Y坐标、旋转角度、所在层。这里有个细节旋转角度的定义。Allegro里元件的旋转角度和贴片机的角度定义可能差90度或180度。最好和工厂确认一下或者提供一份元件角度对照表。4.3 钢网文件PASTEMASK层的确认钢网文件其实就是PASTEMASK_TOP和PASTEMASK_BOTTOM的Gerber。在Artwork里确认这两个Film已经创建并且包含了正确的焊盘。有些工厂会要求单独的钢网文件你可以把PASTEMASK层的Gerber单独打包命名清楚。钢网开窗一般和焊盘一样大或者略小比如小0.5-1 mil防止锡膏过多。这个在Padstack里设置导出时不用改。4.4 叠层文件Cross-section的导出打开Setup - Cross-section这里定义了板子的层叠结构。你可以截图或导出PDF给工厂。叠层文件要包含每层的材料类型铜、FR-4、半固化片每层厚度铜厚通常1oz或0.5oz总板厚阻抗要求如果有工厂根据这个来选板材和压合。如果板子有阻抗要求还要提供阻抗计算表。文件导出入口关键参数常见错误钻孔NC - NC DrillExcellon, 2.4精度单位和Gerber不一致坐标NC - PlacementBody Center, CSV旋转角度定义不同钢网Artwork - PASTEMASK和焊盘一致忘记创建Film叠层Setup - Cross-section材料、厚度未标注阻抗要求5. 文件打包与工厂沟通的实战经验文件导完了怎么打包、怎么和工厂沟通同样影响打样效率。5.1 打包规范让工厂一眼看懂建议按以下结构打包项目名_PCB打样_日期/ ├── Gerber/ │ ├── TOP.art │ ├── BOTTOM.art │ ├── SOLDERMASK_TOP.art │ ├── SOLDERMASK_BOTTOM.art │ ├── SILKSCREEN_TOP.art │ ├── SILKSCREEN_BOTTOM.art │ ├── PASTEMASK_TOP.art │ └── PASTEMASK_BOTTOM.art ├── Drill/ │ ├── NC_Drill.txt │ └── Drill_Legend.pdf ├── Placement/ │ └── Placement.csv ├── Stackup/ │ └── Stackup.pdf └── Readme.txtReadme.txt里写清楚板子尺寸、层数、板厚、铜厚、阻焊颜色、丝印颜色、表面处理沉金/喷锡、是否有阻抗要求。5.2 和工厂确认的5个关键问题第一Gerber格式。确认工厂接受RS-274X还是需要RS-274D。第二钻孔文件单位。确认是mil还是mm避免钻错。第三坐标文件角度。确认旋转角度的定义避免贴反。第四钢网要求。确认钢网厚度通常0.1-0.15mm、开窗比例。第五叠层和阻抗。如果有阻抗要求确认工厂能否做是否需要调整叠层。5.3 我踩过的坑坑一Gerber里少了VIA。有一次Film里只加了PIN/TOP忘了VIA CLASS/TOP结果过孔没输出工厂做出来的板子过孔位置是空的。后来养成习惯每次生成Gerber后用GC-Prevue检查过孔。坑二钻孔文件和Gerber单位不一致。Gerber用mil钻孔用mm结果孔位全偏。现在统一用mm避免换算。坑三坐标文件角度差180度。贴片厂反馈元件全贴反了后来发现Allegro的0度和贴片机的0度定义不同。现在每次都给工厂一份角度对照表。坑四钢网文件没单独确认。工厂默认用SOLDERMASK层做钢网结果开窗偏大锡膏过多。后来明确要求用PASTEMASK层。提示每次打样后把工厂的反馈记录下来形成自己的检查清单。下次导出时逐项核对能避免90%的问题。6. 常见问题速查与排查思路这一章把导出过程中最常见的问题整理成速查表遇到问题直接查。6.1 Gerber相关问题问题Gerber导入CAM后一片空白。排查检查Film里是否添加了正确的Subclass。常见原因是只加了Class没加Subclass或者Film的层选错了。问题阻焊层和焊盘不对齐。排查检查Padstack里SOLDERMASK的尺寸和偏移。阻焊开窗应该比焊盘大4-6 mil且同心。问题丝印文字缺失。排查检查Silkscreen层是否包含REF DES和PACKAGE GEOMETRY。有些文字在Assembly层不在Silkscreen层。问题Gerber文件过大。排查检查是否包含了无用的铜皮或测试点。可以在Artwork里设置Plot Mode为Positive减少数据量。6.2 钻孔和坐标问题问题钻孔偏位。排查确认钻孔文件和Gerber的单位一致。检查Drill Origin和Design Origin是否重合。问题坐标文件缺少元件。排查检查元件是否被标记为Not Placed。在Placement设置里勾选Include All。问题贴片角度错误。排查和工厂确认角度定义。Allegro里可以用Report功能导出元件角度和坐标文件对照。6.3 钢网和叠层问题问题钢网开窗过大。排查检查PASTEMASK层是否和SOLDERMASK层混淆。钢网应该用PASTEMASK不是SOLDERMASK。问题叠层文件工厂看不懂。排查用标准格式输出标注材料型号和厚度。必要时提供阻抗计算表。问题类型可能原因解决方法Gerber空白Film层选错检查Subclass钻孔偏位单位不一致统一用mm坐标缺元件Not Placed勾选Include All钢网开窗大用错层改用PASTEMASK丝印缺失层不对检查REF DES6.4 独家避坑技巧技巧一建立模板。把配置好的Artwork Film保存为模板新项目直接导入省去重复配置。技巧二用Script自动化。Allegro支持Skill脚本可以写一个脚本自动生成所有Gerber和钻孔文件减少手工操作。技巧三双人复核。导出后让同事用CAM工具检查一遍别人更容易发现你忽略的问题。技巧四保留历史版本。每次打样的文件按日期存档方便追溯和对比。技巧五和工厂建立固定沟通模板。把Readme.txt做成模板每次只改参数减少沟通成本。7. 从导出到打样的完整检查清单最后把整个流程整理成一份检查清单每次打样前逐项核对。导出前DRC全绿无短路和间距违规单位确认mil或mmPadstack里阻焊和钢网尺寸正确丝印不压焊盘删除板外无用元素Gerber导出创建所有FilmTOP、BOTTOM、SOLDERMASK、SILKSCREEN、PASTEMASK每个Film包含正确的SubclassFormat选RS-274X精度2.4或2.5生成后用CAM工具检查钻孔导出Format选Excellon单位和Gerber一致生成Drill Legend槽孔用NC Route单独输出坐标导出Placement Origin选Body Center格式CSV或TXT确认旋转角度定义包含所有元件钢网和叠层PASTEMASK层单独确认Cross-section导出PDF标注材料和阻抗要求打包和沟通按规范目录结构打包Readme.txt写清所有参数和工厂确认5个关键问题保留历史版本这套流程我用了几年从最初被工厂退文件到现在一次通过率95%以上。Allegro的出图逻辑确实比AD复杂但一旦理解了Artwork和Film的机制反而更灵活能精确控制每一层输出什么。希望这份内容能帮你少走弯路把时间花在设计本身而不是反复补文件上。