简介:InteractiveHtmlBomForAD是专为Altium Designer开发的PCB快速BOM生成插件,适合电子硬件工程师、PCB Layout人员及焊接调试岗位使用,解决传统BOM生成环节依赖人工整理、信息分散且不直观的痛点。压缩包共55个文件,大小约246KB,其中包含17个JavaScript脚本、13个示例文件、3个HTML页面、3个Markdown文档及配置文件等;js脚本负责BOM的生成渲染与交互,示例文件便于参考实际用法,HTML页面提供结果展示载体,Markdown文档提供说明与使用指引,批处理文件则可简化插件安装和卸载。资源已有2319人学习下载,实用性获得较多关注。安装后,用户可在Altium Designer环境中为现有PCB直接输出交互式HTML格式的物料清单;该BOM表除列出元件位号、型号、数量、封装等常规字段外,还能同步展示每个器件在板上的坐标、角度、尺寸,并支持网页内搜索、缩放和高亮定位任意元件。在焊接与调试阶段,这种可视化方式能显著减少查找器件的时间,降低贴错元件或漏装风险,整体提升硬件研发和生产效率。 干了这么多年硬件,BOM我见过Excel的、PDF的、打印A4纸贴墙上的,但自从试了InteractiveHtmlBomForAD这个AD插件之后,其他格式基本就不怎么想碰了。它不是一个花里胡哨的小玩具,而是真能把原理图、PCB、位号、物料清单揉成一个独立HTML文件,浏览器一开,想高亮哪里点哪里——焊接、贴片、维修、核对库存,整个流程都能用它兜底。这篇文章就把它的安装、配置、踩坑过程完整写一遍,不管是画板一年的新手还是十几年老师傅,只要你在用Altium Designer,都值得花十分钟了解一下。
1. 为什么BOM要用交互式HTML来呈现
1.1 传统BOM在实战里的痛点
以前用AD自带的BOM功能导出Excel,拿到手就是一张干巴巴的表格:位号、Value、Footprint三列,对着线路板找位置得靠肉眼扫丝印。整板三百个电阻电容还好,遇到两千个元件的板卡,光找一颗R123就能把人看花眼。PDF版本的BOM也差不多,唯一优点是不容易被不小心改坏,但同样没法解决“这个元件到底贴在板子哪个位置”的问题。
AD自带的BOM表其实也能做到“点击BOM行、PCB里高亮元件”,前提是你得在AD软件里打开PCB文件,同时把BOM面板和PCB面板并排摆放。问题在于实际生产场景里,车间工人、维修工程师、库房备料员往往并没有装AD的电脑,更不可能人手一份正版License。就算装了AD,软件启动一次也要几分钟,让工人搞清楚怎么在工程文件里打开PCB再点BOM面板,培训成本又是另一笔账。
1.2 HTML格式到底好在哪里
InteractiveHtmlBomForAD的做法很简单:你在自己的电脑上,用AD打开PCB文件,运行这个插件,它就把整块板子的元件位置、位号、封装、Value等信息全部打包成一个独立的HTML文件。这个文件不需要装任何软件,浏览器打开就能用。
它的交互性是纸质BOM给不了的:点击BOM表任意一行,PCB视图里对应的元件立刻高亮并居中放大,位号、丝印、焊盘全看得一清二楚。反向操作也行,点击PCB视图里的某个元件,BOM表自动滚到那一行。焊接完某一类电阻,想看下一类放在哪里,直接在过滤框里输入新的Value,界面就只显示目标元件,干净利落。
单文件还有一个隐藏好处——方便归档。Gerber、坐标文件、BOM Excel、交互式HTML,四个文件往项目文件夹里一扔,后续改板、返单、维修,随便找台电脑打开浏览器就能查。
2. 安装与快速上手:从下载到第一条BOM
2.1 下载和安装:我踩过的两个坑
先到GitHub搜索“InteractiveHtmlBomForAD”,进到项目主页找最新的Release版本,下载zip压缩包。注意别跟另一个叫InteractiveHtmlBom的核心库搞混了,那个是针对KiCad的,虽然界面类似,但安装路径和菜单入口完全不同。AD专用的这个后缀是ForAD,下错版本的话在AD里根本装不进去。
第一个坑是安装目录。下载下来的zip包解压之后,里面是一整个文件夹。有些人图省事,直接把这个文件夹放到AD的安装根目录下,结果重启后菜单死活不出来。正确做法是把整个插件文件夹放到AD安装目录下的Extensions子目录里,或者放到系统用户目录下的Altium插件搜索路径。放好之后,在AD的“Extensions and Updates”界面里点“Load from file”安装,选择插件文件夹里的.ins安装文件,确认后重启AD,菜单才会出现。我一开始就是图省事直接扔根目录,折腾了半小时才反应过来。
第二个坑是版本兼容。插件在AD17以上的版本里基本都能正常工作,但AD16及以下版本因为脚本接口差异,装上后可能报错或者菜单灰掉无法点击。手头还在用老版本AD的,建议先把AD升级到17以上。另外,这个插件运行在PCB编辑器环境下,打开原理图文件时Tools菜单里根本找不到入口,第一次用的人很容易卡在这一步。
2.2 生成第一条BOM:参数面板怎么填
安装成功后在PCB编辑器下,点击Tools菜单,往下找“InteractiveHtmlBomForAD”子菜单,点Generate打开参数面板。面板选项不少,但真正需要每次调整的就那么几个。
输出目录和文件名按项目习惯填,我习惯用“项目名_版本号_BOM.html”这种格式,比如ad_bom_test_v1.2_BOM.html,跟Gerber文件放一起,后面对账方便。
面板里有一项“Merge BOM Lines by Value and Footprint”,字面意思是把相同Value且相同封装的元件合并成一行。这个强烈建议勾上,不勾的话,100颗100nF的0402电容会拆成100行,BOM表长到看不完;勾上之后合并成一行,位号列表用逗号分隔,备料、点料都舒服很多。
位号排序方式里有个小细节。默认可能是按字母排序,结果就会出现R10排到R2前面的情况,手工焊接时按位号找元件特别别扭。建议改成按数字排序的方式,R2、R10、R100这样的顺序才符合人的直觉。
过滤配置里,建议把测试点(TP)、定位孔(Mounting Hole)、机械件这一类不需要焊接的元件排除掉。插件提供了按位号前缀排除的输入框,填上TP、MH、JIG之类的关键词即可。少了这些干扰项,BOM表干净不少。
2.3 从零到一:完整操作流程
说一次我最近实际走过的完整流程。一块双层板,128个元件,价值不高但量多,全是常规阻容。打开PCB文件后,Tools菜单里运行插件,输出目录选到桌面,文件名改成“test_board_v1.3_BOM.html”,合并同类项勾上,排除掉TP开头的测试点,颜色方案默认。点Generate,插件转了几秒钟,浏览器自动打开生成的HTML。
第一眼看到的是整板预览图,默认显示顶层,右侧BOM表格从C1到R128排列得清清楚楚。鼠标点一下BOM里的C5,左侧PCB视图里C5那个封装立刻亮起黄色高亮框,附近丝印、邻近元件全部可见,比对着打印图纸找位号快得多。整个流程从运行插件到浏览器出画面,不到半分钟。
3. 核心功能拆解与实操心得
3.1 高亮联动:焊接工位的神器
这个功能听起来简单,实际用起来才知道多省事。以前手焊样板,手里拿着镊子,眼睛在丝印层上找位号,遇到丝印压在焊盘下面或者被走线盖住的,还得拿放大镜凑近了看。用这个HTML文件之后,点击BOM表里某一行的位号,PCB视图马上缩放到对应位置,那个元件以高亮颜色显示,周围元件变暗,视觉焦点非常明确。
反向查料的场景在维修时更常见。拿到一块故障板,发现某个位置的电容鼓包,想知道它是多少容值的料,直接点击PCB视图里那个元件,右侧BOM表就会定位到对应行,Value、Footprint、甚至你在AD里填的其他自定义属性,全都显示出来。不用再抱着原理图来回翻。
3.2 颜色方案怎么选:按封装还是按值
插件提供好几种颜色映射方式,默认按Layer区分顶底层,这个适合结构工程师确认板面布局。真正手工焊接时,我更推荐按Value或者按Footprint分配颜色。
按Footprint分配时,所有0402的电阻电容统一显示为同一种颜色,所有SOIC-8的芯片显示为另一种颜色。焊接到某一步时,只在界面上开启某个颜色对应的类别,别的元件全部以低亮度显示,这样就不会拿错封装。按Value分配时,100nF是一个颜色,10uF是另一个颜色,专门用来防止贴错容值。具体怎么选,取决于整批料里哪类更容易混淆。我做过一次实验,在一块全是0402、0603混用的板子上,按Footprint着色后,焊接错料率从肉眼挑料的接近一成降到了零。
3.3 搜索、过滤与测量:三个容易被忽略的细节
右上角的过滤框支持模糊搜索,输入“R”会同时过滤出R1、R2、R10、R100等所有以R开头的位号,输入“100nF”就把对应容值的元件全挑出来。实际使用时,这个过滤框配合浏览器自带的“查找”(Ctrl+F)很顺手:过滤框缩小范围,Ctrl+F在地图上精确跳跃。
插件还内置了一个测量工具,可以测量两点间的物理距离,单位默认公制毫米。偶尔需要快速确认两个器件封装间距时,不用回AD里量,直接在这个HTML里拖一下就行。截图导出功能我也经常用,生成时勾上输出PNG选项,会导出一张带高亮效果的整板装配图,发工作群里沟通问题时非常直观。
4. 大板、复杂板与多场景落地经验
4.1 大板卡性能实测
不是所有板子都像测试板那么轻松。我最近做过一块12层的通信板,5762个元件,光电阻就有两千多颗。插件生成HTML文件花了一分多钟,生成的HTML文件约28MB,用Edge浏览器打开后整体流畅度还行,但拖动PCB视图时偶尔会有轻微卡顿。实测下来,Edge和Chrome表现最好,Firefox稍差一点。用平板上的浏览器打开,缩放、高亮也都能用,就是大板卡在平板上拖动不如电脑流畅。
元件数量超过一万的板子,建议在生成HTML时把BOM表格的实时联动显示选项关掉,或者限制显示的元件层,优先渲染当前关注的板层。插件默认配置对大板卡没做特殊优化,第一次生成出来如果卡得不能忍,可以把“渲染平滑度”调低一些,换回来的是拖动流畅度提升,视觉上几乎没差别。
4.2 手工焊接、维修与备料环节怎么用
手工焊接的场景我前面已经聊了不少,再补充一个管理上的用法。样板焊接外包给焊接厂时,我会把交互式HTML文件连同Gerber、BOM一起打包发过去。焊接厂工艺员反馈说,以前对位号要找半天,现在鼠标一点就定位到坐标,AOI编程也省了很多事。
维修场景里,交互式BOM的价值更加明显。有一次客户退回一块板子,故障现象是某路电源短路。我在公司电脑上打开对应版本的HTML文件,先用过滤框输入“C1”,找到C1这颗电容的位置,再用浏览器查找功能在PCB视图中确认附近的滤波电容,很快就锁定了可疑区域。整个过程不需要打开AD工程文件,不需要重新导出图纸,一个HTML文件全搞定。
备料环节同样能沾光。库房按BOM发料时,打开HTML文件按Footprint过滤一次,就能看到整板所有0402封装的位置和数量,跟实物料盘逐一核对,比对着Excel表格一张一张翻效率高得多。
4.3 从AD到Allegro、PADS:跨工具的思路
不少同事用Allegro画板,看到我这边用交互式BOM这么方便,也在问Allegro有没有类似的工具。其实Allegro社区也有第三方的交互式BOM脚本,但配置成本相对更高,需要额外安装Python环境,输出效果也参差不齐。PADS这边也有类似方案,但同样不如AD版这个插件顺手。
个人建议:如果公司同时有AD和Allegro两套工具链,画板速度要求高的项目用AD加这个插件,快速出交互式BOM给到生产和维修;复杂板卡用Allegro的,可以在后端建立标准化的BOM数据库。两种工具并不冲突,关键在于BOM数据源要保持一致——“自动化设备如何选BOM”这个问题,归根到底不是选哪个软件导出的问题,而是元件库、封装库、物料编码是否规范统一的问题。数据源头整整齐齐,用哪个工具导出的BOM都不会太难看。
5. 常见问题与排查技巧实录
5.1 常见问题速查表
| 现象 | 可能原因 | 解决办法 |
|---|---|---|
| 装好插件但Tools菜单里看不到入口 | 当前打开的是原理图,不是PCB文件 | 切到PCB编辑器,再查看Tools菜单 |
| 插件菜单是灰色无法点击 | AD版本过低,脚本接口不兼容 | 升级AD到17及以上版本 |
| 生成的HTML打开后白屏 | 浏览器版本过旧或文件路径含中文 | 换用Edge/Chrome,输出路径改纯英文 |
| BOM表里少了一部分元件 | 元件未放置或者没有有效封装 | 勾选“Include Unplaced”,补全封装后重新生成 |
| 位号显示乱码 | 元件参数里带了特殊符号或中文引号 | 规范元件参数,去掉中文、空格、引号 |
| 大板卡打开HTML后拖动卡顿 | 元件数量多,渲染压力大 | 降低渲染平滑度,关闭实时高亮选项 |
| 生成的PNG图片空白 | 系统截图组件或打印驱动异常 | 改用浏览器打印功能导出PDF,再转PNG |
5.2 排查思路与避坑细节
安装完找不到菜单这个问题,是最容易被忽视的。插件安装后AD需要完全重启,不是关掉PCB文件再重新打开,而是把AD进程整个退出再启动,菜单才会加载。AD20之后的新版UI里,插件菜单偶尔会被折叠到Tools菜单底部的“扩展”分组里,不仔细看很容易漏掉。
HTML白屏的问题,绝大多数是因为输出路径或文件名里有中文字符。插件生成的HTML文件内部用了本地脚本访问本地数据,路径里的中文在部分浏览器里会导致脚本无法加载,界面就一直空白。我踩过一次后,从此所有项目输出文件都改成英文命名,哪怕项目名是“电源板”,输出目录也建一个“power_board”文件夹。
位号乱码的问题,源头在AD的元件参数。有些封装库是在网上下载的,里面注释字段带着中文字符或者特殊符号,导入AD后插件读取参数就乱。处理办法很直接,在AD里把元件参数清理干净,让Value、Footprint字段保持纯英文和数字。
6. 关于BOM管理,我踩过几个坑之后的体会
6.1 交互式BOM是最后一公里,规范才是源头
插件用起来很爽,但它不会帮你把乱糟糟的元件库变干净。如果你的AD库里Comment字段填得乱七八糟,同一个电容有的写“100nF”,有的写“0.1uF”,导出的交互式BOM按Value过滤时,这两批电容会被当成不同的类别分开显示。交互式BOM能不能发挥最大作用,前提是元件库的数据规范。强烈建议画板之前就把元件的Value、Footprint、厂商料号、供应商料号这些字段建好,物料管理和BOM管理应该从建库那天就开始,而不是等到导出BOM那天才想起来。
6.2 版本归档与团队协作建议
每次发板出去,我都会让流程固定下来:Gerber、坐标文件、BOM Excel、交互式HTML这四件套一起归档,放进以“项目名_版本号_日期”命名的文件夹里。这样后续无论是改板还是返单,都能找到当时的完整数据。
跟团队协作时有个更实际的建议:不要只把HTML文件发给一个岗位。焊接工位需要它定位元件,维修岗位需要它反向查参数,品质部门需要它核对物料一致性,采购部门需要它整理备料清单。一个文件全公司都能用,比每个人手里一份不同版本的Excel靠谱得多。
最后再分享一个小习惯。我手焊样板时,会把交互式BOM按Value过滤出某一类元件,然后把对应的位号表截图贴在工位旁,焊完一类划掉一类。这种笨办法配上这个插件的交互定位,我最近那块0.5mm间距LQFP封装的板子,手焊了四十多颗物料,错料率基本为零。InteractiveHtmlBomForAD不是什么高深工具,但它是把“元器件清单”从一张表格变成一个可交互的设备地图的工具,一旦用过就很难回去了。
本文还有配套的精品资源,点击获取