BOM 管理(bom)是 kicad-happy 技能集中的一个工作流技能,用于协调电子项目从设计到下单的物料清单全流程。它以 KiCad 原理图符号属性作为 BOM 数据的单一真实来源,串联原理图分析、分销商搜索、元件校验、属性回写、CSV 导出与下单文件生成等环节。
用途与定位 该技能面向需要为电子项目整理、校验并采购元器件的场景,尤其是使用 KiCad 进行原理图设计的项目。它本身不直接提供库存或价格数据,而是编排 kicad、digikey、mouser、lcsc、element14、jlcpcb、pcbway 等相关技能协同工作,形成完整工作流。
相关技能分工 资料中列出的关联技能及其用途为:kicad 负责读取与分析原理图、PCB 和封装;digikey 用于搜索 DigiKey 并下载数据手册,是原型期的主要来源;mouser 作为原型期的次要来源;lcsc 面向量产与 JLCPCB 元件;element14 面向国际采购;jlcpcb 负责 PCB 制造与组装下单;pcbway 提供替代的 PCB 制造与组装服务。
主要脚本与能力 脚本以 <skill-path> 引用 BOM 技能目录。bom_manager.py 支持 analyze(以 JSON 输出递归分析原理图)、export(导出或合并 BOM 跟踪 CSV)、order(按分销商生成下单文件,可用 --boards 与 --spares 控制数量,或用 --distributor 直接指定分销商)。edit_properties.py 可将 MPN、Manufacturer 等属性写回原理图,并支持 --dry-run 预演。sync_datasheet_urls.py 可将 manifest.json 中的数据手册 URL 回填到原理图的 Datasheet 属性,只填补空值并提示不一致。translate_bom_pnp.py 可将 KiCad/Altium 的 BOM 与 CPL 文件转换为 JLCPCB 上传格式,其 pnp --bom 过滤器可剔除孤立位号。
工作流程要点 流程从分析项目开始,识别字段命名约定、已填充的分销商与缺失项;随后立即同步数据手册,优先使用首选分销商(DigiKey 直接 PDF 链接最佳,element14 无机器人拦截较可靠,Mouser 常拦截下载);再按 MPN 或描述搜集元件信息,搜索时需注意逗号分隔的多物料编号要拆分处理;验证环节要求核对封装、规格、描述、生命周期与数据手册链接,找不到确认时应询问用户;回写原理图时需注意 KiCad 不会自动检测外部修改,应关闭并重新打开原理图;随后导出跟踪 CSV,其列是动态的,仅包含项目实际使用的分销商;再检查库存、确定选定分销商、重新同步数据手册并对照设计验证元件;最后生成下单文件并可按下单数量查询价格、给出各分销商总价。
BOM 边界情况 技能特别强调识别不易归入标准字段的 BOM 细节,如仅原型使用的元件、跨板共享的排线或对接连接器、最小起订量或特定批次要求、装配注意事项、替换规则、按产品变体选料等。这些信息可通过 BOM Comments 字段(及其多种别名)记录,并会流入 CSV 的 Notes 列。此外还应检查原理图文本注释、标题栏注释、项目 README/文档、已有 CSV 的 Notes 列、项目级配置 (.kicad-happy.json)、符号 Description 字段以及非标准自定义字段。多板项目需记录共享线缆、共享电源、跨板通用件合并与板级变体。非 BOM 采购项(如对接连接器与线缆、钢网、编程/调试适配器、天线线缆、安装五金、散热件)也需单独跟踪。
封装对照与 BOM 差异 资料提供了封装对照表:0201/0603 对应 R_0201_0603Metric,0402/1005 对应 R_0402_1005Metric,0603/1608、0805/2012、1206/3216 依此类推,R_ 可替换为 C_ 或 L_ 并加相应前缀。此外还提到当原理图在版本间变化时可比对旧版与新版 BOM,但该段内容在资料中被截断。
限制 本技能围绕 KiCad 原理图工作流设计,其具体命令、参数与行为均以资料所述为限;各类分销商的可用性、库存、价格与下单格式细节未在资料中完整给出,实际使用时需结合对应技能说明。