ARTICLE DETAIL

资讯详情

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

Allegro 17.4输出PCB装配文件(Assembly Drawing)完整流程指南

Allegro 17.4输出PCB装配文件(Assembly Drawing)完整流程指南 先交代个背景。上个月同事递过来一块板子说工厂那边催装配文件催得紧我一打开工程发现位号图、极性标识、拼板方向、BOM位号对照全都没整理。这种状态要是直接发出去贴片厂十有八九要打电话来问方向、问位号、问哪颗料该放哪面。我当时顺手在 Allegro 17.4 里按老流程走了一遍开颜色、关底层面、隐藏飞线、出 PDF再把正面反面分别归档整套动作做完大概也就一支烟的功夫。事后我想了想这套操作几乎每个人都会但真正能“3分钟出干净可交付的装配文件”的人不多难点根本不在操作而在你的环境配置和输出习惯够不够顺手。这篇文章就把我在 Cadence Allegro 17.4 里输出 PCB 装配文件Assembly Drawing的完整流程拆开讲从 Artwork 层的配置逻辑、PDF 打印的自动记忆到用 Skill 脚本做批量输出全部按实际干活的标准来写。看完你不仅能自己复现还能把这套方法沉淀成模板以后每块板子到装配文件这一步都是 3 分钟收工。1. PCB装配文件到底是什么别和制造文件搞混了很多刚接触 PCB 设计的人会把“装配文件”和“制造文件”当成一回事等到投板、贴片两头来回沟通才发现根本不是同一种东西。这里先说清楚后面所有操作才有意义。1.1 装配文件与制造文件的分工制造文件通常指 Gerber、钻孔文件是给 PCB 裸板工厂看的用来确定铜箔走线、钻孔位置、阻焊开窗、丝印文字这些物理层面的东西。简单说板厂照着 Gerber 就能把一块空板做出来。装配文件则是给贴片厂SMT和手焊线看的它关注的是“器件怎么放”。一张合格的装配图至少需要表达三件事器件位号Reference Designator、器件本体轮廓或者极性标识、方向性信息比如二极管、电解电容、IC 第一脚。有些复杂板子还会要求在装配图里标注测试点、跳线、不贴件位置、禁布区等信息。用一个好记的话来区分制造文件管“板子长什么样”装配文件管“元器件怎么放”。两者可以同时从 Allegro 里导出但用途完全不同输出配置也不能混用。1.2 装配文件输出的三个核心要求根据我和板厂、贴片厂打交道的经验在 Allegro 17.4 里出装配文件时只要抓住下面三条交付质量基本不会翻车层次清楚。顶层器件和底层器件不能混在一起看。大部分工厂希望顶层一张图、底层一张图如果你作为设计端能在 PDF 里就分好层工厂的工程师会非常感激。信息完备但不过载。位号、极性、方向必须有飞线、铜皮、走线这类信息在装配图里通常不需要显示否则图面上会花成一片根本看不清位号。尺寸比例可读。输出 PDF 的页面大小要和板子实际尺寸匹配最好用 1:1 或者按标准图框缩放不要搞出一个几十页拼接的大图。板厂打印出来发现比例不对还得重新拼纯属浪费时间。满足这三条你的装配文件就算合格了。下面开始看 Allegro 17.4 里的具体操作。2. 输出前的准备把层颜色和显示状态调到“装配模式”在 Allegro 里要快速输出装配文件核心思路是用颜色显示状态来决定 PDF 里出现什么内容。因为 Allegro 的打印/输出 PDF 本质上是“所见即所得”屏幕上有哪些层、哪些元素开了打到 PDF 里就有哪些内容。所以 3 分钟出装配文件的关键就是提前存好一套“装配视图”的 Display State / Color View以后每次调用即可。2.1 打开颜色管理面板关闭无关层执行菜单命令Display - Color/Visibility快捷键通常我改成CtrlF5看个人习惯。这一步是装配视图配置的主战场。在打开的 Color Dialog 里我们要检查以下几类层的开关状态显示内容顶层装配底层装配说明Board Geometry / Outline开开板框是定位基准必须显示Ref Des / Silkscreen Top开关顶层装配要显示顶层位号Ref Des / Silkscreen Bottom关开底层装配要显示底层位号Package Geometry / Silk Top开关顶层器件丝印轮廓Package Geometry / Silk Bottom关开底层器件丝印轮廓Etch / Top关关铜皮信息在装配图里不需要Etch / Bottom关关同上关掉避免视图杂乱Pin / Ref Des开开引脚位号建议保留对贴片定位帮助很大Ratsnest / All关关飞线绝对不能出现在装配图里DRC Errors关关DRC标记不能出现在交付文件里实际操作中很多人会漏掉Pin / Ref Des这一项。引脚位号在贴片编程和人工核对时非常有用尤其对于多引脚 IC能快速核对丝印方向是否正确。我建议装配图里保留 Pin Number 显示但注意字号别太大否则图和文字叠在一起很难看。2.2 保存为命名视图随时一键切换Allegro 17.4 提供了非常实用的视图保存功能。配置好上面的颜色显示后在Display - Color/Visibility面板中找到Display State选项卡如果是通过Display - Color/Visibility打开的面板通常在下面有 Visibility 相关的下拉按钮点击Save给当前设置起个名字例如asm_top_only和asm_bot_only。这样以后每次打开 Allegro只需要在View - Color View List或者Display - Color/Visibility - Display State中选择对应视图一键就会把所有层的颜色、显示状态切换到装配模式。这个动作能省掉至少 30 秒到 1 分钟的重复操作。实测下来这是 Allegro 里性价比最高的小技巧之一。2.3 隐藏未定义位号的空字符还有一个经常被忽视的细节如果板上有机械孔或者没有位号的元件Allegro 可能会在装配图里显示一些空的 Ref Des 占位符或者显示成奇怪的符号。清理办法是在Display - Color/Visibility里临时关闭Manufacturing / No Pro这类层或者把空位号的字符单独移到某个不需要输出的层面。另一种更彻底的办法是用Edit - Delete删掉空字符但我不建议为出图去删设计数据。更好的做法是在生成 PDF 前用Tools - Quick Reports - Unplaced components检查一下是否存在完全没有位号的封装如果只是个别机械件直接在打印设置里把对应的层关掉就好。3. Artwork控制面板与PDF自动生成的底层逻辑很多人一说输出 PDF第一个想到的是File - Plot。这个思路没错但如果你只停留在这一步很难做到“3分钟”和“自动生成”。在 Allegro 17.4 里我推荐的路径是Artwork 控制面板 PDF 打印机 批量脚本。3.1 Allegro 的打印机制与 Plot 窗口Allegro 出 PDF 的本质是走打印流程Windows 下你安装任何一款 PDF 虚拟打印机比如 Adobe PDF、Foxit PDF 或开源的 PDFCreatorAllegro 都能直接调用来生成 PDF。这种方式的好处是所见即所得支持任意图层组合文字可以保留为矢量打印出来的位号清晰锐利。打开打印窗口的路径是File - Plot或者快捷键CtrlP我用的是自定义快捷键F6。在 Plot 窗口里需要关注几个关键项Plot Contents可以选择All全部显示内容或Current layer。装配图当然要选 All因为我们要输出的是屏幕上的整体视图状态。Scale factor这是输出比例默认 1.0。如果板子尺寸不大建议用1.0输出 1:1 的 PDF工厂端测量也方便。如果板子较大比如超过 A3 幅面可以适当缩小但要保证比例数值是整数或常见值如 1.5、2.0避免工厂误读。Page size按板框实际大小选择对应纸张。如果板子是 100mm x 80mm直接选 A4 或者自定义尺寸都行。一般来说让 PDF 页面刚好包住板框即可不要留大片空白。3.2 PDF虚拟打印机的选择与配置市面上的 PDF 打印机不少但在 Allegro 17.4 里出装配图我最常用的方案是Microsoft Print to PDFWindows 自带和Adobe Acrobat Distiller。两者区别在于Microsoft Print to PDF零成本系统自带画质足够但生成的 PDF 没有图层信息全是平面内容。对于装配文件来说已经完全够用。Adobe Acrobat Distiller / Foxit PDF Printer生成体积更小支持嵌入字体按需安装。如果你交付给外协工厂希望 PDF 文件更规范建议用它。开源方案 PDFCreator免费且支持批量打印配合脚本输出很可靠但我个人觉得它的虚拟打印机队列偶尔会卡住需要留意。如果你追求稳定和效率我建议直接用Microsoft Print to PDF。原因无他兼容性最好不会被杀毒软件误拦也不容易在批量输出时崩溃。实测下来在 17.4 里连续输出几十份 PDF这个方案最稳定。3.3 纸张方向与板框匹配在 Plot 窗口的Setup里能定义纸张大小和方向。很多时候装配图输出变成横躺的就是因为我们没匹配板框的实际朝向。建议在输出前先Quick Reports - Board Data看一眼板框的宽高比再在打印设置里把纸张方向设成纵向或横向。这里有个小技巧如果板框是不规则形状或者板框坐标原点离图纸原点很远PDF 里板子可能跑到角落甚至出界。解决办法是在 Plot 窗口里点击Pen或Clipping相关的选项或者直接把Plot origin offset设为板框左下角坐标值让板子完整出现在页面中央。4. 3分钟实战装配文件输出标准流程前面把原理讲完了现在说实际的。下面是我整理出的 3 分钟装配文件输出流程按时间轴拆开你照着做一次就能体会到什么是“顺手”。4.1 第1分钟切换装配视图并检查显示打开工程输入快捷键调用之前保存的asm_top_only显示视图前提是你已经在项目初期把它存好了。如果是从头配置那就在 Color/Visibility 里按第 2 节的表格把颜色和层开关设置好。在画布上按F5我习惯把 Zoom Fit 改成 F5看全板确认无飞线、无 DRC 标记、无铜皮。这一步的核心不是用眼睛逐像素核对而是快速扫一眼有没有明显的多余线条。关闭位号重叠检查如果某些位号文字重叠严重那说明元件间距过小属于设计阶段就有的显示问题不可能在输出 PDF 时光靠调字号解决。一个折中的办法是在 Allegro 里执行Manufacture - Silkscreen的X缩放把重叠严重的位号稍微移开一点但要慎用因为这会改到设计数据。4.2 第2分钟配置Print Setup并预览PDF执行File - Plot打开打印窗口。Scale 选 1.0Page Size 根据板框选择合适纸张。点 Preview如果预览窗口里看到的图面是干净的、层次分明的那就可以直接输出。如果有任何多余的内容按Esc退出预览回 Color/Visibility 里关掉对应层再回来重新预览。确认预览无误后选择Microsoft Print to PDF作为打印机点击 OK在弹出的另存为窗口输入文件名保存。这一步最耗时间的其实是预览这个动作。刚开始多花 20 秒检查能省掉工厂返工的几个来回。我几乎没见过任何人第一次输出装配 PDF 就能完全正确总有些层忘了关或者比例忘了调。4.3 第3分钟底层装配文件与文件归档重复第 1 分钟和第 2 分钟的操作只是这次把显示视图切换成asm_bot_only。注意底层装配图一般需要做镜像吗答案是取决于工厂要求。Allegro 17.4 在 Plot 里可以直接设置镜像输出Mirror但我不建议在生成 PDF 时做镜像。正确的做法是让 Allegro 自动按照底层视图显示即“从顶层往下看底层”的图像内容。实际上贴片厂有自己的 CAM 系统会自行处理镜像逻辑。你只要保证底层装配图上显示的器件位号与底层实物是一一对应的即可不要自己额外做镜像否则很容易把方向搞反。文件归档格式建议采用PCB板名_Rev1.0_Assy_Top_20250101.pdf PCB板名_Rev1.0_Assy_Bot_20250101.pdf不要把顶层和底层合成一个 PDF。除了少数简单双面板合在一起阅读体验非常差工厂还要自己拆分不划算。5. 进阶用Skill脚本一键生成多份装配PDF如果你每个月要处理好几块板子或者一个工程要同时输出顶层装配、底层装配、打印坐标文件、BOM 文件那么手动操作这 3 分钟也嫌多。这时候就该上 Skill 脚本了。5.1 Skill脚本实现批量输出的思路Allegro 的 Skill 接口里axlPlot或axlShell可以调用 Plot 命令。利用这一点我可以写一个脚本实现下面的动作切换显示状态即调用color命令加载asm_top视图执行plot命令调用 Windows PDF 打印机并指定输出文件名等待打印完成再切换显示状态到asm_bot再次执行plot输出底层装配 PDF因为这套动作完全对应我手动操作的逻辑所以脚本本身不复杂。更重要的是脚本还能配合axlPrint或者调用系统命令来生成文件名中的日期信息实现“运行一次脚本所有 PDF 自动归档”。5.2 一个可用的装配输出Skill脚本片段下面是一段我常用的装配输出 Skill 脚本简化版分为两个部分第一个函数负责设置打印和显示状态第二个函数负责调用打印命令。注意plot_asm里我调用了系统的 PDF 打印机名称这个名称要和你电脑里的打印机名称一致可以用axlShell执行plot之前手动确认。; asm_export.il ; 用法: 在Allegro Command窗口输入 load(asm_export.il) 然后执行 asm_export() procedure(asm_export optional (output_dir ./) let((top_view bot_view) ; 先保存当前颜色设置 top_view axlGetVariable(color) ; 调用显示状态, 这个名称需要和你在Color Dialog里保存的名称一致 axlShell(set color -view asm_top_only) ; 设置打印参数 axlSetVariable(plot_name assemble_top) axlSetVariable(plot_device Microsoft Print to PDF) ; 输出顶层PDF axlShell(plot -y) sleep(3) ; 切换到底层显示状态 axlShell(set color -view asm_bot_only) axlSetVariable(plot_name assemble_bottom) axlShell(plot -y) ; 恢复用户原来的显示状态 axlSetVariable(color top_view) ) )上面这段只是示意性质不同版本的 Allegro 中axlSetVariable和axlShell的具体写法有差异你在实际使用前需要查一下当前版本的 Skill 开发手册。但核心思想是通用的把颜色视图切换和 plot 执行串起来就能实现一键输出。5.3 用 script 文件方式实现Allergo 17.4适用如果不想折腾 Skill还有一个更轻量的办法用 Allegro 本身的script 文件。你可以把手动操作录制成一个.scr文件然后每次运行File - Run Script或者直接在 Command 窗口replay asm_output.scr。录制方式很简单在 Command 窗口输入script asm_output接下来你的每一步操作都会被记录下来直到输入norecord结束。之后把录制的文件稍微编辑一下去掉不必要的步骤只保留切换颜色视图、打开 Plot、选择打印机、保存 PDF、关闭窗口等几个动作。以后每次有新板子只要在工程里先保证颜色视图名一致然后replay asm_output.scr就能批量自动输出。我最初就是用 script 方式做的后来觉得 script 文件对某些窗口等待时间处理不好比如弹出保存对话框后Allegro 不会自动等 PDF 打印机完成才改用 Skill 脚本。6. 常见问题排查装配文件输出的翻车现场这部分是我多年实战中踩过的坑整理成速查表。你要是在输出装配 PDF 时遇到类似问题直接对应排查能省下不少时间。6.1 输出PDF里位号全是问号或者方框这个问题的原因九成是字体映射出了问题。Allegro 默认字体如果没有嵌入到 PDF 打印机虚拟打印机可能无法正确渲染导致字符变成乱码或方框。解决办法有两个一是在 Allegro 的 Setup - Text Sizes 或者 Design Parameter Editor - Text 里统一字体换成标准 TrueType 字体比如 Arial二是在 PDF 打印机设置里勾选“嵌入所有字体”选项。最省事的方式是换用 Microsoft Print to PDF它对字体兼容性极好基本不会出现乱码。如果位号显示成问号还有一个可能是你关掉了某些字符所在的层面。记得检查Ref Des和Silkscreen对应的子层是否打开尤其是顶层位号也许被分到了Silkscreen Top / Ref Des和Display Top / Ref Des两个不同层级里。6.2 顶层和底层器件重叠无法辨认典型场景是双面贴片板。顶层装配图和底层装配图如果分开输出工厂看的时候各看各的没有问题。但如果你强行把所有层都开在一个 PDF 里比如某些人喜欢出“正反面合成图”那就会出现器件轮廓、位号叠在一起完全分不清的情况。我的建议始终是顶层和底层必须分开输出。如果你需要一张总览图可以在 PDF 里用颜色区分顶层和底层配图例说明但不要指望密集双面板在黑白打印下还能看清。6.3 丝印方向指示缺失或方向不明确极性器件二极管、电解电容、钽电容、LED、IC必须在装配图里清晰标注方向。Allegro 的 Symbol 在封装绘制时如果 Assembly 层只画了一个方框而没有把极性和第一脚标识画在 Assembly 层里那 PDF 上是看不到方向信息的。正确的做法是在做封装时就把极性标识画到Assembly_Top或者Package Geometry/Assembly层例如在二极管封装里画一条竖线表示阴极电容封装的极性符号用一个小斜角标出。如果封装已经做好但没有方向标识可以在输出前临时用Manufacture - Label Tune或者手动加一个Silkscreen_Top的极性标记但要记得输出后删除。这只是输出阶段一个比较坑的细节因为大多数封装库的 Assembly 层并不完整只有占位框。我建议你在建库时就把 Assembly 层的极性符号和第一脚标识画好后面出装配文件会省心非常多。6.4 PDF文件太大打不开或发送超时这也算高频问题尤其是板子密度大、图形复杂时Allegro 输出的 PDF 可能达到几十甚至上百 MB。影响 PDF 体积的主要因素是矢量图形的复杂度和字体嵌入方式。如果 PDF 太大可以试试在 Plot 窗口把Enhanced View关掉或者反向操作看具体版本或者用Shape Fill相关的选项把大面积铜箔填充变成空心轮廓。装配图里反正不显示铜皮这个设置对输出 PDF 没有什么影响。如果字体嵌入导致体积变大可以改用 Microsoft Print to PDF它默认压缩字体比 Acrobat 嵌入所有字体时会小不少。6.5 输出后需要按公司模板加图框、标题栏有些公司交付给工厂的装配图必须有自己的图框、标题栏、版本信息。遇到这种需求我建议不用 Allegro 自带的图框功能虽然它也能做而是用 PDF 后期处理工具比如 Adobe Acrobat 或 Foxit批量加图框和标题栏。这样你 Allegro 里的输出流程保持简洁PDF 标准化和模板化在后期统一处理更方便维护。如果你一定要在 Allegro 里加标题栏那就在板框外添加Board Geometry / Outline线段和文字注意不要把这些内容放到生产 Gerber 输出的层里否则板厂会在板子上也做出来。强烈建议开一个专门层比如Board Geometry / Assembly_Legend只在装配图输出时打开。6.6 底层装配图容易出错的镜像处理前面提到过底层装配图不要自己做镜像。Allegro 打印时即使选择Mirror选项生成出来的 PDF 也只是图片翻转并不会让位号的可读性变好。真实项目中贴片厂拿到 Gerber 和装配文件后会在自己的软件里自行判断旋转和镜像方向设计端强行镜像反而会误导工厂。因此这里的原则是保持原始数据输出不做额外变换。7. 装配文件中容易忽略的细节坐标文件与BOM配合只输出一份 PDF 其实解决不了全部问题。装配文件真正要发挥价值还得配合坐标文件Pick and Place和 BOM。虽然文章主题是 PDF 输出这里依然值得多讲两句因为这三者是一个完整交付包。7.1 在Allegro 17.4里输出坐标文件Allegro 自带输出坐标文件的功能File - Export - Placement。在弹窗里可以选择单位、精度、是否输出顶层底层、是否包含旋转角度等信息。输出格式通常是RefDes, Footprint, X, Y, Rotation, Side要特别注意的是精度设置。坐标文件的小数位数至少要保持 4 位以上单位 mm 时精度 0.0001否则贴片机编程时可能产生误差累积。很多设计者在这个环节为了省事直接点默认结果输出的坐标缺少旋转角度或者缺少顶层/底层属性得不偿失。7.2 装配图编号与BOM位号对应装配图的每个位号必须能在 BOM 里找到对应物料。有些小伙伴把 BOM 导成 Excel 后自己手工做了删减导致个别位号在 BOM 里缺失工厂核对时就会卡壳。Allegro 生成的 BOM 标准路径是File - Export - Bill of Materials。建议导出时把 Value、Footprint、封装层面信息都勾选方便贴片厂直接使用。如果公司要求附加物料编码可以在导出后用 Excel 公式把Reference Designator和内部料号关联起来但前提是封装库里的 Value 字段已经规范填写。7.3 归档交付目录的推荐结构我一般建议把装配文件按下面的目录组织交付ProjectName_RevA/ Gerber/ (制造文件) Assembly/ (装配文件) BOM.xlsx PickAndPlace_Top.csv PickAndPlace_Bot.csv Assy_Top.pdf Assy_Bot.pdf Docs/ (其他说明)这样归档后无论是发给贴片厂还是以后自己翻查都很清晰。不要把所有文件堆在一个文件夹里玩过外协的人都知道一堆文件名相似的文件混在一起工厂漏看一个文件就可能导致整批贴片用错料。8. Allegro 17.4效率设置让“3分钟”成为可能如果想让开头的“3分钟”不仅仅是标题噱头平时就该把 Allegro 的快捷键和启动配置调顺手。很多人每天被 Allegro 的默认交互折磨原因就是没花半小时配置自己的环境。8.1 快捷键设置把高频操作绑定到单键Allegro 17.4 的自定义快捷键主要通过env文件实现。在%CDSROOT%\share\pcb\text\env或者用户目录的pcbenv\env文件中可以添加类似下面的内容alias F5 zoom fit alias F6 plot alias F7 color alias F8 export placement我自己的快捷键习惯是把Plot出PDF、Color/Visibility、Zoom Fit、Export Placement这几个频率最高的操作放在 F5~F8 上另外把Move设置成M、Copy设置成C、Delete设置成D和很多其他 EDA 工具的使用习惯对齐。实际用起来你会发现少在菜单里翻几层整个人的工作节奏都会不一样。8.2 启动脚本自动加载装配视图Allegro 17.4 在启动时也可以自动加载一些设置。如果你想一打开工程装配视图就已经处于可用状态可以在pcbenv目录下的allegro.ilinit里用load(asm_export.il)加载装配输出脚本。这样每次打开 Allegro你只需要在 Command 窗口输入函数名就可以执行对应功能。如果你的机器性能足够还可以把工程打开时默认显示状态设置为asm_top_only这样打开一个板子后看到的直接就是顶层装配形态。不过这个修改对日常设计不太友好我不建议这么干毕竟大多数工作时间我们还是要在布线层工作的。8.3 模板化把颜色视图、打印配置、脚本做成一套3 分钟目标的核心从来不是“手速快”而是“模板化”。当你的颜色视图、PDF打印机设置、Skill脚本、归档目录结构全部固定后任何一块板子走到装配文件输出这一步都只是打开工程、切换视图、运行脚本、归档。整个过程连思考都不太需要。每次换电脑、换公司、换版本第一件事就应该把这一整套配置恢复出来。我见过不少工程师每换一次版本就重新用默认配置干活效率损失非常大。把pcbenv文件夹整个备份到网盘或 Git换环境后直接铺回去是 Allegro 使用者最不该省的功夫。从装配文件输出这一个点铺开其实能牵扯出 PCB 设计交付的所有环节。这篇文章覆盖的内容不算大但操作细节和踩坑心得都来自实际项目。如果你在 17.4 里按上面的步骤试一遍会发现真正占用时间的不再是“出 PDF”这件事而是前面把环境配置做得够不够齐全。我的切身感受是凡是能在前期花半小时沉淀下来的模板化工作后期都会以每块板子节省一到两小时的形式加倍回报你。
返回列表