ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Allegro 17.2 Gerber导出完整指南:光绘参数与钻孔文件避坑详解

Allegro 17.2 Gerber导出完整指南:光绘参数与钻孔文件避坑详解 Gerber文件是PCB设计交付板厂的“通用语言”。Allegro 17.2里导出Gerber也就是光绘文件的流程表面上就是几个菜单、几次点击实际上牵扯到的环节相当多输出路径、单位精度、光绘层设置、钻孔数据、钻孔表图例任何一步没理顺都可能换来板厂一封“请确认”的邮件。这篇文章我按从零到一的顺序带你把Allegro 17.2从路径设置到钻孔表生成的完整流程走一遍。刚上手的工程师可以直接照做出了很多次Gerber但一直没细究参数含义的兄弟也可以对照看看自己有没有踩过类似的坑。1. 为什么出Gerber这件事值得较真1.1 板厂要的不是.brd而是“板子的完整描述”很多初学者觉得“我把.brd文件发给板厂不就行了”这个想法在十几年前或许还能凑合现在就别想了。板厂用的EDA工具版本、封装库、铜皮和钻孔规则模型都和你本机不一样直接打开.brd很容易出现显示错乱、铺铜丢失、钻孔属性对不上这类问题。Gerber是业界统一的中间格式把每一层图形、外形、钻孔位置、孔符表、板框尺寸“拍平”成一批独立的文件板厂只需要解析这些文件就能开做不再依赖你的软件环境。所以我的建议很直白正式投产前永远以导出的Gerber为准不要拿原设计文件当交付物。哪怕板厂说“可以转也可以看brd”量产文件里还是要有一份完整、自洽的Gerber包。Allegro 17.2里跑PDF、跑DXF、跑3D模型都不难但这些都不能替代光绘输出。1.2 动手之前先想清楚整条链路出Gerber不是点一下“Export”就完事。Allegro 17.2里常规的正片输出流程至少包括六步第一步检查设计数据库。至少要跑一遍DRC确认没有未连接的管脚、间距违例、未填充的Shape别把明显的错误带到制造环节。第二步设置单位和精度。PCB设计里用Mil或毫米都行但输出的光绘和钻孔文件的精度必须匹配板厂制前要求。第三步规划输出目录。Artwork输出和NC Drill输出最好分文件夹避免一锅烩。第四步逐个配置光绘Film。顶层、底层、丝印、阻焊、钢网、板框、钻孔表每层都要勾选正确的Subclass设置极性。第五步生成钻孔文件和钻孔表。NC Drill负责坐标和孔径NC Legend负责孔符图例两个文件相互对应。第六步回读检查。把生成的Gerber导入CAM工具里逐层核对再打包发给板厂。这套链路里路径设置是第一章也是后面所有操作的根基。如果路径没有规划好后续几轮改板时你会在几十个相似文件名里找得怀疑人生。2. 路径与文件命名动手前先定规矩2.1 在电脑上建一套固定目录Allegro 17.2在输出Gerber时默认路径是当前.brd所在目录。如果直接在默认路径输出光绘文件、钻孔文件、临时log会混在一起非常糟心。我习惯在每一个PCB项目文件夹里固定建好四类子目录D:/work/proj_xxx_board/ allegro/ # 存放.brd、.dra、.psm等设计源文件 gerber/ # 存放Artwork光绘文件 nc_drill/ # 存放NC Drill钻孔文件和钻孔报表 cam/ # 存放用CAM工具回读检查后的工程文件这套结构和板厂通用的“光绘钻孔”分类是吻合的。目录路径里尽量不要放中文和空格也别用“新建文件夹”这种没意义的命名。板厂很多自动化脚本对中文路径的兼容性不好老老实实用英文或拼音最省事。2.2 Artwork路径和NC Drill路径怎么填在Allegro 17.2里Artwork和NC Drill的路径入口略有不同。Artwork路径在“File Export Artwork”打开的Artwork Control Form里界面底部或“General Parameters”区域一般有一个“Output Directory”输入框点击后面的浏览按钮选择gerber目录即可。NC Drill路径在“File Export Drill”或“Manufacture NC NC Drill”打开的NC Drill对话框里也有对应的“Output Directory”或“Output File”设置。NCDrill输出目录选nc_drill。还有一个容易忽略的路径设置如果你用的是老式的Gerber 4x00格式还需要指定光圈文件Aperture File的路径。但Allegro 17.2本身支持RS-274X格式RS-274X已经把D码光圈定义直接嵌入Gerber文件里不需要额外提供光圈文件这也是我推荐大家优先用RS-274X的原因之一。提示路径里最好用相对项目根目录的方式或者干脆在打开.brd之前就把当前工作目录切到项目文件夹。避免出现“文件存在但Allegro就是读不到”的玄学问题。2.3 文件命名里必须包含的信息文件名看似小事实际上板厂每天收到几十个项目命名混乱的文件最容易出错。我自己的命名规则是“项目代号_板卡型号_版本_层序号/类型”。例如xxx_main_v12_TOP.phoxxx_main_v12_BOT.phoxxx_main_v12_SILKTOP.phoxxx_main_v12_DRILL.artxxx_main_v12.drl其中版本号、日期、版本修订号必须和设计文件的版本一一对应。千万不要出现“final”这种很“玄”的词因为你下一次一定还会改板最终版永远是不存在的。文件后缀方面Allegro 17.2默认的光绘后缀可能是.art或.pho板厂都能识别不需要刻意改。钻孔文件后缀通常.drl加个版本号即可。2.4 路径混乱的真实教训我之前协助一个项目组救过火对方发板前自己出了一套Gerber文件名只有TOP、BOT、SILK没有版本号和日期。板厂制前回复说“钻孔层缺失”我们排查了很久最后发现是同一目录下有两份不同版本的TOP文件工程师打包时选错了。这就是路径和文件名管理不当的代价。所以别嫌我啰嗦路径设置这件事真的值得在动手前花两分钟定好规矩。3. 光绘参数配置Artwork Control Form实操3.1 先做两件基础检查单位精度和Shape填充打开Artwork Control Form之前先在“Setup Design Parameter Editor”里确认单位。Allegro 17.2的单位可以是Mils、毫米、英寸精度可以设置小数位数。对外输出时单位不需要跟板厂完全一致但精度必须足够。对于常规板卡我习惯用Mils并把精度设为2也就是坐标能识别到0.01mil这个精度对绝大多数工艺绰绰有余。如果用的是毫米精度至少设到3或4位小数。另一件容易被忽略的事是Shape填充。很多人遇到过“Allegro铜皮只有轮廓Gerber里没有铜”的情况这通常就是设计里Shape处于未填充或过期的状态。输出光绘前先打开“Display Status”看一下Shape Fill的状态如果显示有未填充的Shape执行“Shape Update/Fill”或者“Tools Update DRC”让系统重新计算填充。别急着输出先把铜皮状态处理干净。3.2 创建各层Film并勾选SubclassAllegro 17.2的光绘输出核心在Artwork Control Form里。打开“File Export Artwork”后你会看到“Film Control”选项卡。左侧是已经创建的Film列表中间是可用的Subclass列表右侧是当前Film包含的Subclass内容。一个常规双面板至少需要这几个FilmFilm名称需要勾选的主要Subclass极性用途TOPETCH/TOP、PIN/TOP、VIA/TOP、BOARD GEOMETRY/OUTLINEPositive顶层线路BOTTOMETCH/BOTTOM、PIN/BOTTOM、VIA/BOTTOM、BOARD GEOMETRY/OUTLINEPositive底层线路SILKTOPBOARD GEOMETRY/SILKSCREEN、REF DES/SILKTOP、DEVICE TYPE/SILKTOPPositive顶层丝印SILKBOTBOARD GEOMETRY/SILKSCREEN、REF DES/SILKBOT、DEVICE TYPE/SILKBOTPositive底层丝印SOLDERTOPPIN/SOLDERMASK_TOP、VIA/SOLDERMASK_TOP、BOARD GEOMETRY/SOLDERMASK_TOPPositive顶层阻焊开窗SOLDERBOTPIN/SOLDERMASK_BOTTOM、VIA/SOLDERMASK_BOTTOM、BOARD GEOMETRY/SOLDERMASK_BOTTOMPositive底层阻焊开窗PASTETOPPIN/PASTEMASK_TOP、VIA/PASTEMASK_TOPPositive顶层钢网PASTEBOTPIN/PASTEMASK_BOTTOM、VIA/PASTEMASK_BOTTOMPositive底层钢网OUTLINEBOARD GEOMETRY/OUTLINEPositive板框DRILLMANUFACTURING/NCDRILL_LEGEND、MANUFACTURING/NCDRILL_FIGURE、BOARD GEOMETRY/OUTLINEPositive钻孔表图例四层及以上的板子还需要根据叠层增加内电层Film例如VCC、GND层。内电层如果用大面积铜皮可以用正片输出也可以按需要设置负片。我的建议是如果你不是对负片特别熟练统一用正片输出让Allegro把Shape直接生成在Gerber里风险更小。创建Film时在左侧空白处右键或点击“Create”按钮输入Film名称然后在中间Subclass列表里勾选对应子层点“Add”把它加入右侧Film内容中。3.3 Film Options里这几个参数必须设每个Film都要单独配置参数。在Artwork Control Form左侧选中某个Film双击或点击“Edit”打开Film Options对话框。这里面有几个参数非常关键Undefined line width未定义线宽这个必须设置不要留0。光绘输出时如果遇到宽度为0的线或弧系统会一脚踩空要么报警要么出文件后线宽异常。我习惯设成6mil或8mil具体看你的最小线宽要求。设置后0宽度的对象会按这个值输出。Plot mode极性普通正片层选Positive如果某个内层要做负片选Negative。注意负片和Shape的设置是联动的玩不明白就不要乱用。Suppress unconnected pads忽略孤立焊盘这个选项对内层负片很有用可以避免孤立焊盘形成小铜岛外层正片我一般保持默认或根据实际情况勾选。如果你板上有测试点、金手指乱勾会导致焊盘丢失慎用。Mirror、Rotation等默认保持0度和不镜像即可除非要镜像拼板。此外在Artwork Control Form的“General Parameters”里还要确认输出格式为Gerber RS-274X。有些老模板会默认选Gerber 4x00那是石器时代的格式需要额外光圈文件别用。3.4 输出RS-274X格式并预览所有Film配置完成后点击“Create Artwork”开始输出。为了避免Allegro在出图过程中发现数据库不一致建议在“General Parameters”里勾选“Check database before artwork”让系统先做一次一致性检查。如果检查报错回到设计里改完再出不要强行输出。输出完成后我会直接在Artwork Control Form里点“Preview”或“View Plot”预览每一层光绘。这个预览功能虽然不如专业CAM工具强大但用来发现明显缺层、错位、空白层已经够了。预览没问题再去生成钻孔文件和钻孔表。4. 钻孔文件与钻孔表最容易出问题的环节4.1 NC Drill参数怎么选钻孔文件是给数控钻床用的坐标文件Allegro 17.2通过“Manufacture NC NC Drill”或“File Export Drill”打开NC Drill对话框。这一步的参数直接决定板厂能否正确读取孔位。我在NC Drill对话框里重点设这几个选项File Type选ASCII也就是Excellon格式这是板厂最通用的钻孔格式。Excellon Precision精度格式一般写作“2:5”或“2:4”含义是整数位数:小数位数。我习惯用2:5坐标精度更高对钻孔位置更有保障。老工程师常用2:4也没问题关键是和板厂约定一致。Coordinate Mode选Absolute绝对坐标不要选Incremental增量坐标。增量坐标一旦中间某个孔出错后面的孔全错排查起来非常痛苦。Drill Origin选Absolute或Body字面意思差不多实际影响的是坐标原点的参考。最关键的一点是钻孔坐标原点和Gerber光绘原点必须一致否则板厂会发现孔位和焊盘对不上。输出前记得核对两个输出设置里的原点选项。Enhanced Excellon如果你的板子上有槽孔长条孔、椭圆孔、铣槽建议勾选Enhanced Excellon格式它能把槽孔信息以更多样化的方式写进钻孔文件。对于纯圆孔普通Excellon就够。Generate Drill Report勾选这个选项Allegro会额外生成一份钻孔报表。这份报表会列出每种孔径的数量核对时非常有用我基本每次都勾。设置好输出目录和文件名后点击“Drill”按钮生成board.drl文件。老版本里按钮可能叫“Generate”效果一样。4.2 NC Legend钻孔表怎么生成钻孔文件只有坐标和孔径编码人眼看不懂。为了让板厂工程师快速核对“哪个D码代表多大孔、总共有多少个孔、是否镀铜”需要在图纸上生成一张钻孔表也就是Drill Legend。Allegro 17.2里执行“Manufacture NC NC Legend”。执行后会弹出一个对话框让你选择图例的放置位置和参数。我一般把这些项设为Hole Sort Order按孔径从小到大排序便于阅读。Show Total Count勾选让表格显示同一种孔径的总数量。Legend Sheet Size根据板框尺寸选择一般A4或A3不需要太大。Text Height / Text Width如果表格字太小看不清可以调大但别超过板框外留白的尺寸。设置好后命令会提示你在画布上点选放置位置。我的习惯是放在板框右下方或右侧的空余区域距离板框至少3mm以上避免压到器件丝印。放好之后Allegro会自动生成一个包含孔径符号、尺寸、数量、镀层属性的表格这就是钻孔表。4.3 钻孔表Film层如何放进Gerber钻孔表生成后它并不是立即出现在光绘输出里。你要在Artwork Control Form里单独建一个Film比如DRILL并把以下Subclass加入这个FilmMANUFACTURING/NCDRILL_LEGEND钻孔表图例表格MANUFACTURING/NCDRILL_FIGURE钻孔符号图形BOARD GEOMETRY/OUTLINE板框用来定位板子边界输出时勾选这个DRILL Film生成的光绘文件就是一张包含孔符表的图。这套操作顺序很多人反着来先出了所有Gerber再想起没生成钻孔表结果DRILL层空白。我的经验是先执行NC Legend把它放到图纸上再回Artwork里创建DRILL Film并出光绘这样一次就能出全。4.4 钻孔报表的作用刚才提到NC Drill里勾选“Generate Drill Report”后会生成一份报表文件内容类似TOOL SIZE QTY PLATING T01 0.30 120 PLATED T02 0.50 36 PLATED T03 1.00 8 NON-PLATED这份报表不要扔留着。它至少有两大用途第一发板前自己核对看孔的数量、孔径分布是否符合预期第二如果板厂制前工程问“你这个3.2mm的孔是Non-Plated还是Plated”你直接翻报表给结论不用再回Allegro里慢慢数。我每次发的Gerber包里都会附带这份报表算是给板厂一个“对账清单”。5. 常见问题排查与避坑实录5.1 钻孔表空白或钻孔符号丢失这是出Gerber时最高频的问题。表象是DRILL图层输出后里面什么都没有或者只有一个表格框架表格里的孔符图形全是乱的。原因通常有两个没有执行NC Legend光绘Film里NCDRILL_LEGEND本来就是空的自然什么都没有。NC Legend已经生成了但Artwork里DRILL Film没有把MANUFACTURING/NCDRILL_FIGURE这一层加进去导致符号图形丢失。解决方法是回到Artwork Control Form检查DRILL Film的Subclass列表确保同时包含NCDRILL_LEGEND和NCDRILL_FIGURE重新出图即可。5.2 铜皮只有轮廓没有填充这个现象在Allegro 17.2里偶尔会遇到打开GerberShape的外框清晰可见但铜皮内部是空的。最常见的原因是Shape填充状态异常或者设计里Shape本来就没有更新。我的排查思路是先在“Display Status”里看Shape Fill的状态如果有“Unfilled”字样执行Shape更新如果状态正常再看Artwork里的Film Options确认没有误设成“Outline Only”之类的输出模式。铜皮问题在制板环节是灾难级的一定要在发板前解决。5.3 丝印错位或层叠丝印层的问题是“看着有细看全错”。比如顶层丝印跑到底层去了或者Ref Des文字全部叠在一起。排查时先确认Film里勾选的Subclass是否正确顶层丝印应该用SILKTOP相关子层底层用SILKBOT。别把SILKSCREEN和SILKTOP搞混一个是几何丝印图形一个是字符丝印层功能不同。另外丝印文字在光绘里默认是空心还是实心取决于Allegro的Text设置。如果板厂反馈丝印太细看不清可以按板厂要求调整字宽而不是用光绘参数强行放大——强行放大会带来很多不可控的显示问题。5.4 板框线丢了板框是所有层的“定海神针”。如果出完之后每一层都不带板框板厂只能靠猜。我的习惯是在每个Film的Subclass里都加上BOARD GEOMETRY/OUTLINE。这样不管板厂用哪一层定位都能看到外框。同时注意板框必须是闭合线尤其在做外形铣削时板厂依赖这条线的完整闭合。如果板框不闭合Gerber里看起来可能没问题实际铣板时会出偏差。5.5 常见问题速查表问题现象可能原因排查思路钻孔层空白未执行NC Legend 或 Film缺NCDRILL_LEGEND重跑NC Legend检查Film Subclass钻孔符号乱码/缺失缺少NCDRILL_FIGURE子层把NCDRILL_FIGURE加进DRILL Film铜皮只有外框Shape未填充或填充未更新更新Shape确认Display Status丝印丢失Fil用的Subclass不对检查SILKTOP/SILKBOT勾选板框缺失没有在Film里加OUTLINE每个Film都加BOARD GEOMETRY/OUTLINE单位对不上Allegro单位和NC Drill精度不一致统一为Mil2精度NC Drill用2:5焊盘丢失Suppress Unconnected Pads误勾检查Film Options按层取舍6. 出完Gerber之后我还会做的三件事6.1 用CAM工具做一次“回读”光绘文件生成后第一件事不是打包而是把文件导入CAM工具比如CAM350、Genesis、InCAM或者免费的Gerber Viewer。我习惯用CAM350做一次回读把所有光绘层叠在一起看看每一层是否对齐原点和板框是否统一看阻焊开窗和焊盘是否匹配有没有该开窗却没开窗的地方看钻孔符号有没有超出焊盘边界看丝印有没有覆盖到焊盘或开窗位置。这一步是板厂制前必做的动作你提前做一遍就能把问题消灭在自己手里。我自己踩过的最贵一个坑就是阻焊开窗比焊盘小了0.05mm板子回来后一批焊盘上有绿油最后只能手工刮油补救。回读工具能帮你把这种低级失误挡下来。6.2 写一页制板说明Gerber文件是几何信息板子还需要工艺要求。我会在Gerber包里放一个README.txt或制造说明.pdf写清楚板子层数、板材、板厚、表面工艺喷锡/沉金/OSP、阻焊颜色、丝印颜色、阻抗要求、最小线宽线距、最小孔径、以及是否要求板厂做飞针测试。这些信息在Gerber里看不出来但板厂开料和生产必须知道。别嫌这步麻烦一份清楚的制板说明能省掉板厂三五次确认邮件。尤其是“非沉铜孔NPTH”和“槽孔”这类信息画在图上容易漏写在说明里更稳妥。6.3 按版本归档最后一步是把生成的Gerber目录、钻孔目录、CAM检查工程、制板说明一起打包按“项目名_版本_日期”命名归档。比如proj_xxx_v12_20250618.zip。归档完再到版本管理工具里打个tag跟原理图、PCB源文件关联起来。这样下个月改板时你还能准确知道“上一版到底发了什么”。我个人的习惯是每次改板都重新出一整套Gerber不允许“只改一层”这种操作。因为Gerber各层之间是联动的单独改一层很容易让版本错乱。全套重出也就十几分钟换来的是后续追溯的确定性这笔账非常划算。出Gerber这件事做得多了你就知道真正难的不是按钮在哪里而是你有没有给自己定好一套“不依赖记忆”的流程。路径、命名、参数、回读、归档每一步都按标准来板厂那边自然顺畅你返工的概率也会低很多。反正我现在每次发板前都按这套顺序走一遍宁可多花十分钟检查也绝不把问题留给板厂去“帮你发现”。
返回列表