ARTICLE DETAIL

资讯详情

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

Altium Designer中BOM表与PDF导出实战:从原理图到生产交付的完整指南

Altium Designer中BOM表与PDF导出实战:从原理图到生产交付的完整指南 1. 项目背景与需求分析1.1 为什么BOM表和PDF是硬件的“交付标配”做了这么多年嵌入式硬件我越来越觉得一个项目最容易被忽视、却又最容易出问题的环节不是原理图怎么画、PCB怎么走线而是最后的交付文件整理。尤其是BOM表和PDF图纸这两样东西看着简单真要做规范了里面门道不少。先说BOM表。硬件工程师画完板子PCB发出去打样板子贴片回来调通这只能算项目走完一半。另一半是把BOM表、贴片图纸、装配图这些生产资料交到供应链和生产手里否则你就是画了个寂寞。采购要按BOM清单去询价、备料贴片厂要按BOM表去上料、核对位号任何一个位号的封装不对、容差标错轻则返工重则整批板子报废。我见过不止一次因为BOM表里电阻的精度等级没写清楚采购买了普通5%的料结果用到ADC采样分压电路上整批设备校准不过最后只能手工一颗颗换电阻那种教训真的刻骨铭心。再说PDF。原理图PDF发出去是为了让硬件同事、软件同事、测试同事、甚至客户都能快速查阅不用每个人都装一套几百兆甚至几个G的完整设计工具。PCB加工厂需要的是Gerber文件但结构工程师和装配车间很多时候要的是带尺寸标注的PDF装配图。PDF还有一个好处是它有“不可篡改性”比直接发工程文件更安全也更不容易被误改。所以每次项目收尾我都会花一个下午认真整理输出文件这已经成了习惯。1.2 一次典型嵌入式项目里的输出流程我先描述一个典型场景你手里是一个基于STM32或国产替代MCU的嵌入式控制板项目板子上有电源电路、主控、通信接口、传感器接口等模块。设计用的是Altium Designer也就是大家常说的AD软件。项目进行到投板阶段你需要做的事情包括检查原理图的ERC电气规则检查和PCB的DRC设计规则检查确认没有致命错误整理并导出BOM表分发给采购和贴片厂导出原理图的PDF用于评审、留档和协作导出PCB的PDF含各层打印以及装配图PDF用于生产和装配指导。这四个动作听起来简单但每一条都踩过坑。比如AD软件默认导出的BOM表字段和采购需要的字段对不上比如原理图PDF导出来只有一部分、打印区域没设置好再比如PCB层叠打印时丝印和阻焊层混乱。这些坑我在下面都会逐个拆开讲清楚给出我的处理办法。需要先说清楚的是这里讨论的AD软件主要是指Altium Designer。虽然市面上还有Cadence OrCAD、KiCad、立创EDA等工具但AD在国内嵌入式硬件工程师群体中使用率一直很高而且它的BOM和生产文件输出逻辑在这几款工具里算是比较有代表性的。学会了AD的套路再切其他工具也容易上手。2. BOM表导出与配置2.1 深度理解AD的BOM生成机制BOM是Bill of Materials的缩写也就是物料清单。理论上一份合格的BOM表应该回答清楚这几个问题这个板子上需要哪些元器件每个元器件需要多少个每个元器件应该是什么品牌型号或参数规格贴片时哪个位号对应哪个物料AD软件生成BOM的方式是基于原理图里的元器件属性Parameters来进行的。也就是说你在放置每个元件时它的Value、Footprint、Manufacturer、Supplier等字段就已经决定了BOM表能导出什么样的内容。如果原理图阶段这些信息就不全那么导出BOM时再怎么配置也是白搭。很多新手容易忽略的一点是AD的BOM并不是直接来自PCB而是来自原理图的工程结构。它会把整个工程.PrjPcb下面所有原理图里的元件收集起来按某种规则汇总成表格。所以有一种很常见的情况你画了一部分原理图没保存或者某个元件没有正确放置到原理图里导出的BOM表就会缺件。我自己的习惯是在导出BOM前先编译整个工程Compile看Messages面板里有没有报错或者警告确保原理图层面是完整的然后再生成BOM。AD生成BOM主要分两种方式。一种是直接在原理图编辑器里执行Reports - Bill of Materials弹出的对话框里可以灵活配置输出列、分组条件和文件格式另一种是在OutputJob里配置Fabrication Output批量生成BOM、PDF、Gerber等全套生产文件。我个人更推荐后者尤其是项目到了后期需要反复输出各种文件时用一个OutputJob文件一次性生成所有交付物省时省力还不会漏项。2.2 实操步骤从原理图到一份可交付的BOM表下面我按最常用的方式把从AD软件里导出BOM表的步骤拆开来讲。第一步打开工程文件首先执行Project - Compile PCB Project编译整个工程。编译完成之后检查Messages面板重点关注两类问题一类是ERC报错比如电源网络短路、输出引脚打架另一类是无封装警告说明有元件没分配封装这种元件导出BOM时会在Footprint字段留空生产那边根本没法用。第二步在原理图编辑器里执行Reports - Bill of Materials或者用快捷键R B打开BOM配置窗口。这个窗口左侧是所有原理图元件的属性参数列表右侧是输出的列。你需要在左侧勾选哪些字段要出现在BOM表里并在右侧调整它们的排列顺序。我常用的BOM输出字段包括Designator位号、Quantity数量、Comment型号或注释、Value参数值、Footprint封装、Description描述以及Supplier Part Number供应商型号如果有的话。说白了采购和生产最关心的就是位号、型号、封装、数量这四个核心信息其他字段都是辅助。第三步设置分组条件。AD的BOM默认按Comment Footprint分组这样相同型号相同封装的元件会合并成一行数量变成总数量。这个逻辑是对的因为采购下料时不需要把一个100nF电容拆成十个位号去买它只需要知道这块板上0.1uF/0402的电容一共要多少个。但是这里有个关键细节如果两个元件Comment相同、但Footprint不同千万不要让它们合并。AD默认分组是所有已勾选字段的笛卡尔组合所以你的分组依据里必须同时包含Footprint。我见过有人把Comment和Value都勾上却把Footprint从分组里去掉结果0402和0603封装的电阻被合并成一行供应商按一个封装采购贴片时直接傻眼。这个坑务必避免。第四步选择文件格式和模板。AD支持导出Excel.xls/.xlsx、CSV、PDF、TXT等格式。对于大多数情况Excel格式是最优选既能保留表格样式采购、计划、仓库那边也都能处理。如果公司有统一的BOM模板你可以在窗口右下角选择模板TemplateAD会自动按模板的列头映射字段。没有模板也没关系先导出Excel再手工调整列头即可。第五步点击Export保存文件。到这里BOM的基本输出就完成了。2.3 字段映射、分类汇总与自定义模板直接导出的BOM表大多数情况下还不能直接发给采购。为什么因为默认导出的BOM表往往字段太杂、格式不够规范。这里我要分享两个实用技巧。第一个技巧是关于“按组装位置分列”的需求。很多贴片厂希望同一种物料对应的所有位号都放在一个单元格里用逗号或空格分隔这样上料员可以快速核对。AD软件的BOM窗口里有一个Export Options在Excel选项卡下可以选择Combined合并或Separate分开。切换到Combined模式后相同分组行的Designator就会合并到同一个单元格里比如“R1, R2, R5, R8”。这个功能对于大板子特别有用几百个位号的板子贴片厂反馈特别好用。第二个技巧是自定义列头。默认导出的列头是字段名本身但很多公司有自己内部的物料编码体系比如希望列名改成“位号”、“型号规格”、“封装描述”、“数量”。AD支持把列头改为可读性更强的内容方法是手动修改Excel里第一行标题或者自建一个BOM模板。我在公司里就建了一个带宏的Excel模板每次导完BOM套一下模板自动生成物料编码、采购分类、替代料选项直接对接ERP。这套流程帮我省了非常多时间。这里再补充一个BOM数量检查的经验。导出的BOM表里总物料种数行数一般等于你原理图上去重后的元件种类数。如果发现行数不对优先检查是否原理图有的页面没保存或者是否有元件被放置在了原理图图纸边界之外。AD对图纸外的元件会提示但经常被忽略。我的习惯是最后把所有原理图页逐张翻一遍看有没有元件跑到灰色区域外面去。3. PDF导出与方法优化3.1 原理图PDF怎么导才干净原理图转PDF是硬件评审和文档归档时最常用的操作。AD软件里最简单的办法就是在原理图编辑器里按Ctrl P打开打印设置然后选择打印机为Adobe PDF或者系统自带的Microsoft Print to PDF。不过直接这样打印出来的PDF有两个常见问题一是背景是黑色的打印出来费墨观感也不好二是页面分割不合理一张原理图被拆成好几页顺序还乱。先说黑色背景的问题。AD软件默认原理图编辑区是黑色的这种黑底在屏幕上看着还行但PDF留档、打印、甚至发给同事用手机看体验都很差。解决方法是取消勾选Preferences - Schematic - Graphical Editing里的Use Alpha Blending?不对正确的做法是在打印设置里把Color Mode改成Gray或者Mono并且在Advanced设置里取消勾选Print Monochrome? 其实还有更本质的方法在原理图编辑界面右下角Panels里打开Properties把图纸颜色Sheet Color改成白色原理图元素颜色保持默认。这样导出PDF就是白底黑线清爽很多。我习惯在最终交付前统一把图纸背景调成白色。再说页面分割。很多时候原理图很大一页图纸放不下AD会把它拆成多张A4或A3页面打印。如果直接用默认的Smart HMM? 其实AD有一个非常实用的选项在打印预览窗口里选择Page Setup - Scaling把缩放模式设置为Fit Document On One Page这样整张原理图会等比例缩小到一页纸上。适合评审时的快速浏览但如果字体太小生产端看不清楚那还是建议按标准图框分页打印。如果图纸本身是按标准图框设计的比如A3、A4图框用1:1打印最稳。还有一个被很多人忽略的选项在Printout Properties里只能勾选你要打印的层。默认情况下原理图打印会包含注释和网格建议只保留Top Overlay元件位号、标注和Sheet Border这些必要内容网格可以关掉这样导出的PDF更干净。3.2 PCB和3D装配图PDF的输出技巧PCB相关的PDF输出可以分为两大类一类是各层打印图用来给生产、维修和检查做参考另一类是3D装配图用来给结构工程师和装配车间看。各层打印图的做法是在PCB编辑器里执行File - Smart PDF或者用Print Preview - Print在打印设置里选择要打印的层组合。我常用的方案是一次性输出四张图顶层丝印顶层阻焊、底层丝印底层阻焊、顶层走线层、底层走线层。如果板子有内层电源层也把对应的内层打印出来方便排查电源短路问题。这里有个很重要的技巧打印PCB时默认背景也是黑色的而且走线、焊盘、过孔的颜色层次在黑白打印机上区分度很差。我的做法是在打印预览的Preferences里把颜色模式改成Mono单色并关闭所有非关键层的显示只保留当前需要打印的层。比如打印顶层丝印时把Top Overlay和Multi-Layer打开其他层全部关掉这样导出的PDF每一层都清清楚楚不会被杂乱的走线干扰。3D装配图PDF则用另一个路径在PCB里按3键切换到3D视图然后执行File - Export - PDF 3D。AD支持导出带模型交互的3D PDF但生成的文件比较大打开也慢。如果只是为了给结构工程师看大致外形我更推荐在3D视图下截图或者导出一个固定的视角图片放到文档里比3D PDF实用得多。真的要导3D PDF时注意先把板子颜色、元件颜色调成相对真实的配色否则导出来全是默认的五颜六色看起来很不专业。3.3 打印区域和页面设置的坑与处理关于PDF导出热词里有一条“ad20导出原理图pdf只有部分区域”这绝对是很多人的痛点。出现这个问题的原因往往是原理图对象超出了图纸边界或者打印范围设置成了当前选中的某块区域。AD软件打印时有一个Print Range设置在打印预览窗口的Properties里可以选择All Pages、Current Page或者Selection。当你之前做过区域选择操作然后直接打印AD很可能会把打印范围停留在Selection导致只输出你框选的那一小块。解决方法是每次打印前先按Esc取消所有选择或者进入打印预览后明确把Print Range改为All Sheets / All Pages。还有一个原因是原理图页面堆积了太多历史残留。很多工程师喜欢在原图上反复修改又喜欢随手放一些备用的框图在图纸外侧相当于把原理图纸当成草稿纸。这些放在图纸外的对象不会显示但打印时AD偶尔会把它们当作有效几何体来计算边界导致打印区域变大PDF内容发生奇怪的偏移或截断。解决方法是选中图纸外的所有内容删掉或者用Edit - Select - Outside Board?那是PCB的原理图可以用编辑菜单里的Select - All on Sheet? 不最彻底的方法就是逐页检查删掉图纸边框外的所有遗留对象。PCB的PDF导出也会遇到类似问题表现为“导出的PDF只有一块板子区域、其他部分空白”。这个通常发生在你对PCB进行过区域缩放或者高亮部分网络的场景下。解决办法同样是在打印预览里把Print Range调整为整块板子并在Advanced里勾选Include Board Outline确保以板框为边界输出。我自己的经验是PCB导出PDF时优先使用File - Smart PDF向导这个向导会按照PCB板框自动计算页面和缩放比手动打印设置要省心很多。4. 常见问题与排查技巧实录4.1 导出PDF范围不对、内容缺失的排查流程每次有同事跑来问我“我的PDF为什么导出来不对”我都会按照下面这个顺序帮他排查效率非常高。第一步看打印预览。所有PDF问题在打印预览里都能提前发现千万别直接打印。在打印预览窗口里按CtrlP后先看清楚左下角的页数和页面范围如果显示的页面数量和你的原理图页数对不上那肯定有问题。此时优先检查Print Range把它设为All Pages或者By Prinout? 在AD的Smart PDF向导里有一个页面范围选项选择All Pages一般能解决大部分问题。第二步查图纸边界外的残留物。按键盘的CtrlA全选当前原理图页看选中范围是否明显超出图纸框。如果发现图纸外有内容选中后按Delete删除。这个操作在项目后期整理文件时尤其重要我每次提交前都会做一遍。第三步检查打印层设置。很多时候不是内容缺失而是需要打印的层没有被勾选。比如你把原理图的Comment、Parameter层关闭了那么导出的PDF自然缺少参数文字。原理图打印时建议勾选所有含文字信息的层反正白底黑字多印几层不会有太大问题。第四步如果以上都没解决检查AD的打印驱动设置。有些情况下Adobe PDF打印机的设置会限制页面大小比如默认只输出A4而你的原理图图框是A3打印时就被切割到了一页A4。处理办法是在系统打印机设置里把Adobe PDF的默认纸张改成A3或A2或者在AD的Page Setup里把纸张尺寸改成Auto自动匹配图框。4.2 BOM表导出后数量对不上、漏元件的原因BOM导出数量对不上是嵌入式硬件开发中非常普遍的痛点。我这里总结几个最常见的原因。第一原理图里元件被隐藏或锁定了但没有被正确放置。AD里有一种操作是把元件设置为Isolated? 其实更常见的是你在编辑库元件时某个元件的Graphical Editing属性被改成了Dont Show on Schematic? 不对准确地说是有些元件在放置时被放到了其他层或者被藏在某个文本对象下面。我的排查方法是用Report - Bill of Materials看输出列表里的Designator列和原理图上的位号逐一对一遍很快就能发现哪个位号缺失。第二同一个位号被重复使用。如果原理图复制粘贴时没注意导致两个元件位号相同AD编译时会有Duplicate Designator警告。但如果你没看Messages面板直接导出BOM系统会默认两个元件合并为同一行数量变成2但Designator只显示一个位号。这种情况在BOM表面上是“数量正确”实际上去核对位号会发现漏了一个。所以每次编译后看到Duplicate Designator警告一定要处理掉。第三元件参数为空。比如某个电阻你在Value字段里什么都没填导出BOM时这一行的Comment就是空白。采购看到空白清单完全没法下单。我的习惯是每一个无源器件都要写清楚Value比如10K、100nF有极性的还要在Description里标注这些细节在项目初期花点时间后期能省下大量沟通成本。关于隐藏和锁定还有一个容易踩坑的是元件的Locked属性。如果原理图里某个元件被锁定了编译时可能会跳过它的BOM生成实际上AD对锁定元件的BOM生成逻辑是正常的不会跳过。但如果你在筛选元件时不小心过滤了Locked元件BOM表里就会缺项。所以在调整BOM列时检查一下Filters栏是否误开了某些过滤条件。4.3 工程文件导入导出、Gerber和PDF联动的注意事项除了单纯的BOM和PDF导出嵌入式硬件项目里还有几个经常一起出现的场景我也一并说下。热词里有一条“ad导入gerber转pcb”这指的是把Gerber文件反向导回PCB。这个操作偶尔会用到比如供应商回传了加工后的Gerber你想核对一下实际生产文件和你设计的差异。AD软件支持File - Import - Gerber导入后在PCB编辑器里可以看到每一层的图形。但注意Gerber导回来只包含图形没有元件属性、没有网络连接、没有封装信息本质上就是一堆线和焊盘图形。你没法在上面做DRC也没法补线。所以这种导入只适合查看不适合继续编辑。真正需要修改还是得用原始工程文件。另一个常见问题是“dwg文件导入ad”。DWG是AutoCAD的格式结构工程师经常用它来给出板框。AD支持File - Import - DWG/DXF导入时要注意设置好单位mm还是mil和线宽映射否则板框尺寸会整体放缩错误。我导入DWG后一定会用测量工具量几个关键位置比如板子长宽、安装孔间距确认和原始图纸一致再做PCB外形。最后如果你导出的PDF是给PCB加工厂或者SMT贴片厂用的记得把PDF命名规范一点比如ProjectName_Sch_V1.2_Date.pdf、ProjectName_PCB_Top_Assembly_V1.2.pdf。我见过很多工程师文件名就一个“新建文档.pdf”发出去之后对方还得打电话确认这是哪个版本、哪个层。这个习惯很不好文件管理本身就是嵌入式硬件开发中专业度的一部分。这里还有一个联动技巧AD的Output Job可以一次配置好BOM、PDF、Gerber等所有输出并且保持相同的命名规则和输出目录。这样每次版本更新时只要重新跑一遍OutputJob所有交付文件就自动生成好不会漏掉任何一个。我强烈建议各位花半小时建立一个自己的OutputJob模板从原理图PDF、PCB各层PDF到BOM表一步到位之后每个项目复用效率提升非常明显。5. 我在实际项目中的几个经验沉淀最后分享几个我自己的小习惯算是这些年用AD输出BOM和PDF的一点沉淀。第一每次出文件前先编译先看Messages。这个习惯帮我拦下了无数低级的疏漏包括位号重复、封装缺失、ERC报错。原理图编译的Messages面板虽然偶尔会出现一些不影响功能的警告但至少每条信息你都要看一眼心里有数。第二BOM表和PDF图纸的版本号必须一致。我见过硬件工程师改了一版原理图BOM也更新了但忘了重新导出PDF导致发出去的资料里BOM是V1.2、PDF还是V1.1产线照着PDF装配最后元件位置对不上。现在我要求所有交付文件的版本号从同一个Project Revision字段读取在OutputJob里做好映射保证不会出现版本错配。第三关于打印背景色我在Preferences里做了统一设置新打开一个工程时自动应用白底。这样无论谁用我的环境打开导出的PDF都自带白底不会因为某台电脑的显示设置不同而输出黑底文件。第四用Smart PDF向导代替手动打印。从AD的File - Smart PDF向导走一遍每一步都有确认尤其会检查打印层、缩放格式、输出文件名这些容易被忽视的设置。虽然多花几秒钟但稳定性和可重复性远高于手动CtrlP。嵌入式硬件这个行业画板只是基本功能不能把图纸和物料清单整理到“发给别人就能直接产出”的程度才真正体现工程师的职业素养。BOM和PDF导出这件事门槛不高但细节非常多。希望这篇总结能帮你少走一些弯路。下次如果你的贴片厂又打电话过来说“这版BOM和上一个版本对不上”你也许就能想起来该回头看看是不是OutputJob里的模板没有更新或者某个元件的封装忘了改了。工具永远只是工具真正靠谱的是人脑子里那套“交付前必查清单”。
返回列表