很多企业把 BOM 当成“设计完成后自动生成的一张表”,于是先讨论模板、列数和格式。更有效的顺序恰好相反:先确定谁会使用 BOM,再决定哪些字段必须存在、哪些字段应该删除,最后才选择软件和数据存储方式。否则,表看起来完整,实际却把设计、采购、生产、库存和装配之间的问题留到了交付阶段。
这篇文章讨论一套面向机械与工业企业的基础方法:让 BOM 成为可定义、可筛选、可追溯的数据视图,而不是又一份需要人工维护的 Excel。文章也会说明 SWTDO 如何通过属性、文件区分、标签筛选、Prod 清单和生产文件输出,把这些原则落实为可执行流程。

BOM 的第一问题:使用者是谁
BOM 最常见的交付对象是采购部门,但 BOM 并不只属于采购。采购需要区分标准件、机加工件、钣金件、组件和库存物料;生产需要知道工艺与交付内容;库存需要识别毛坯、现成组件和领料对象;装配则需要确认一套产品究竟包含哪些文件与零件。
设计人员与供应商、采购和加工商之间的沟通,通常不会在图纸发出后自动结束。只要对方对文件用途、加工方式或交付范围存在疑问,最终仍会回到设计人员这里。设计需要面对多少类协作对象,往往就需要多少个清晰的数据视图。
因此,BOM 的目标不只是“列出一组零件”,而是让不同部门从同一份数据中得到各自需要的结果。传统上,人们会生成一张总 BOM,再让每个部门自行筛选、复制和删改。只要保留了复制步骤,就会产生版本不一致、数量错误和重复沟通。
用 BOM 分类承接下游协作
不同下游关心的问题不同。总 BOM 更适合作为存档与整体视图;生产关心焊接、注塑、机加工等方式;采购关心标准件和采购件;库存关心毛坯与现成组件;装配关心交付层级。与其维护多份互不关联的表格,更合理的做法是从同一个数据源生成不同的 BOM 视图。

这里的关键并不是“每个部门都必须有独立数据库”,而是每个部门都应能按自己的业务条件筛选同一份数据。只要底层字段稳定,视图就可以随业务变化而调整,不需要重新抄写整张表。
字段范围应由企业定义
“Make or Buy”常被做成一个布尔值,但现实中的来源远不止两种。一个企业可能只做机加工和采购,另一个企业可能涉及手板、打印、注塑或铸造。软件预设二十种分类,不代表每家企业都要使用二十种;同样,代码固定几种分类,也不代表能覆盖所有企业。
更合理的做法是把可选值交给企业管理者或设计规则定义。企业用得到就保留,用不到就删除。字段名称、可选值和默认值都应该服从企业实际使用的工艺、部门与交付方式,而不是让企业反过来适应软件预设。

文件区分也遵循同样原理。如果一个漆房只有十二种颜色、钝化车间只有三种氧化颜色,设计端就应该只能从这些已存在的选项中选择。管理员定义了范围,设计人员在该范围内执行。这样既能减少随手输入造成的名称混乱,也能让后续统计、筛选和生产文件输出保持稳定。
SWTDO 将钣金表面工艺、表面工艺、喷漆、热处理、实体工艺、文件区分和部件分类等属性开放给企业定义。管理员负责控制范围,设计负责正确选择;这比把规则写在口头说明里更可靠。


这也解释了为什么“多给几个字段”并不等于更专业。字段越多,漏填、错填和误解的机会越多。企业需要的是刚好覆盖当前业务的字段集合,而不是一份永远填不完的通用模板。
字段的取舍:能删的字段要敢删
一家钣金企业可能完全不需要热处理;一个小型作坊可能只需要零件名称和数量。如果软件提供了二十个字段,企业不应该为了“看起来完整”而强行填写。无关字段应该删除,或者至少隐藏,而不是依赖设计人员口头约定“不要填这一列”。
字段数量不应由代码写死,更不应该由模板历史决定。企业管理者最了解自己的工艺与交付范围,因此也应该拥有字段取舍权。只有当业务发生变化时,再增加相应字段;没有需求的字段继续留在表中,只会制造误填和无效数据。
属性描述的是零件文件中的数据源,数量则不同。同一零件在不同装配中可能有不同数量,因此数量应从装配文件获取。小计、质量合计等运算值属于计算结果,不应伪装成零件本身的静态属性。配置用来区分同一文件的不同规格,必须存在,但可以按需隐藏。
“版本”这个词在制造企业里歧义过大。对十个设计人员说“版本”,很容易得到十种不同理解。SWTDO 使用“配置”来表达同一模型的不同规格,并用“Prod 清单”区别 SolidWorks 工程图自动生成的 BOM。名称清晰,后续协作才有共同语言。
例如同一个鞋架装配包含不同鞋号,鞋号就是配置,品牌和鞋号共同决定最终产品。只给品牌、不给鞋号,采购与生产无法唯一确定对象。BOM 中的文件名、配置、全局主键和数量也必须解决同样的辨识问题,不能因为界面看起来简单就把唯一性交给人工记忆。
把字段分成可管理的类别
字段并不是同一种数据。更清晰的分类包括:属性、数量、运算、配置、全局主键、判断式、附件式。属性来自零件文件;数量来自装配;运算用于小计或统计;配置用于区分规格;全局主键保证检索与存储的唯一性;判断式根据几何体、工艺或文件特征生成结果;附件则记录发货、治具或安装所必需、但不属于图纸本体的内容。

判断式可以与几何体识别结合。钣金、焊接、多几何体、多配置等条件,可以在底层形成属性结果,再由 BOM 统一使用。把判断结果提前写入属性,比让每个部门在表格里再次判断更稳定。
附件是另一个容易被忽略的场景。购买家具时附带的扳手、装配治具或安装治具,可能并不属于设计图纸的主体,却必须随产品交付。附件是人工或业务规则产生的“死记录”,零件属性则是随文件更新的“活记录”。两者可以出现在同一个 BOM 视图中,但必须保留来源上的区别。
从一张总表变成标签式数据视图
当每个文件都带有稳定的属性标签后,BOM 就不再需要先复制一张总表,再逐行删除无关内容。以“文件区分”为例,选择钣金分类后,所有同类文件都会进入同一视图,形成钣金 BOM;选择喷涂颜色或组件类型,也能得到对应视图。

标签筛选的价值不只是“查询方便”。它让同一份唯一数据源同时服务于设计、采购、生产、库存与装配。视图可以按需创建,排序和过滤由字段完成,不再依赖人工维护多个 Excel 副本。
与 Excel 相比,这种方式的差异可以归纳为五点:
- 字段遵循唯一数据源,不需要设计人员二次加工。
- 每一个 BOM 视图都可以独立保存和复用。
- 云端数据可以开放给其他部门调用,形成跨部门协作。
- 支持属性写入的 BOM 直接修改数据源,而不是修改一份副本。
- 数据的增删改可以沿唯一数据源同步到后续流程。
需要进一步了解属性如何与 Prod 清单连接,可阅读 SWTDO 的 属性格式化说明 与 Prod 中心说明。如果企业已有大量 Excel 数据,也可以通过 通用导入器 逐步迁移,而不是一次性推翻现有流程。
BOM 层级应按交付对象设计
一个项目可以包含多个装配,一个装配可以生成多个 BOM。传统层次化表格适合展示结构,却不一定适合直接承担采购与交付。层级表看起来符合设计树的认知,但在数量放大、多人修改和重复零件出现后,人工错误会快速累积。


更稳妥的方式是区分“结构视图”和“交付视图”。结构视图保留父子关系,便于理解产品;交付视图则直接回答某个部门需要什么。由于属性和数据源已经固化到文件,BOM 可以理解为查询结果,而不必成为另一份人工维护的总表。
总 BOM 仍然可以用于存档和整体检查,但它不再是解决所有交付问题的唯一工具。BOM 应该按需创建,而不是每次都从一张总表开始删改。
让云端 BOM 比 Excel 更容易修改
真正影响推广的不是“功能是否先进”,而是“操作是否比现有习惯更方便”。设计人员修改 Excel 很快:打开文件、改两个字、保存即可。如果每次修改 BOM 都要启动 SolidWorks、打开装配、找到工程图表格,那么即使底层数据更准确,也会遇到使用阻力。

云端的价值在于绕开本地模型加载。既存数据表可以直接查询和修改,不必先打开零件与装配;属性写入与数模加载可以分离;修改结果又能同步回唯一数据源。只要操作体验接近甚至优于编辑 Excel,用户就有理由接受更规范的方式。
工作台的设计目标,不是把代码能力暴露给用户,而是把复杂的同步、校验和文件生成隐藏在简单操作之后。用户只需要完成业务判断,系统负责保证数据一致。
生产文件应按规则自动输出
下游需要什么格式,是经常被反复询问的问题。实际业务中,DWG/DXF、PDF、STEP、Excel 和少量 JPG 已经覆盖绝大多数场景。模型格式可以自动另存;平面图需要设计确认版面和刷新;其他生产文件完全可以根据规则自动输出。

如果每一次 BOM 修改后,都还要等设计人员逐一手动导出文件,唯一数据源的价值只完成了一半。更合理的目标是:修改 BOM 后,按交付规则自动生成对应文件,下游从自己的 BOM 视图获取所需内容,而不是从一百张图纸中自行挑选。
这正是 SWTDO 生产文件流程的核心:把文件类型、命名规则、输出位置和 BOM 视图连接起来,让设计只需要处理必须人工确认的平面图,其余步骤交给规则执行。
落地前的自检清单
- 先列明每个 BOM 视图的真实使用者,而不是从模板开始。
- 由企业管理者定义字段范围和可选值,设计在范围内执行。
- 删除没有业务价值的字段,避免为完整而完整。
- 区分属性、数量、配置、主键、运算和附件的数据来源。
- 确保每个文件具有唯一标识,并能从标签生成 BOM 视图。
- 把结构层级与交付层级分开,避免用设计树代替交付逻辑。
- 用云端查询和写入降低维护成本,取消重复复制。
- 为生产文件建立自动输出规则,并保留人工确认环节。
BOM 不是一张越复杂越好的表,而是企业与下游协作方式的映射。字段范围、唯一标识和交付视图一旦设计正确,后续的采购、生产、库存和文件输出才会有稳定基础。若想继续理解从设计到装配的唯一数据源思路,可参考 《在整个产品的设计输出采购组装周期中,哪个关节,是最消耗精力的》。
