2. Windchill 产品数据模型基础
在 Windchill 中做 BOM 协同与产品配置,第一件必须想清楚的事是:你操作的从来不是“一个文件”,而是一组彼此关联的业务对象。产品、部件、文档、CAD 模型、BOM 结构、变更单,都是对象;而版本、迭代、生命周期,则是这些对象身上随时间变化的“状态维度”。如果把这几个概念混在一起,后面就会出现“改了图纸但 BOM 没变”“同一个零件出现两个料号”“发布后还能被随意修改”等典型问题。
一、产品与对象:容器与内容的关系
在 Windchill 的数据模型中,产品(Product)或库(Library)是最上层的组织容器,它决定了编号规则、访问权限、生命周期模板和团队角色。产品之下承载的是各类业务对象,常见的有:
- 部件(Part):BOM 的基本节点,代表一个可标识、可装配的物料对象,携带料号、名称、单位、类型(自制/外购/虚拟)等属性。
- 文档(Document):说明性内容,如规格书、工艺卡、检验标准。
- CAD 文档(CAD Document):三维模型与二维图,通过“CAD 文档与部件关联”建立几何与物料的对应。
- BOM 结构:由部件之间的父子使用关系(Usage)构成,每条使用关系带有数量、单位、位号、参考设计ator 等属性。
关键点是:产品是容器,对象是内容,BOM 是对象之间的关系。一个部件可以同时被多个产品引用,但它的主数据只有一份,这就是“单一数据源”的含义。
二、版本与迭代:两个不同的时间维度
这是最容易混淆的一对概念。在 Windchill 中:
- 迭代(Iteration):同一个版本内的小步修改。每次检出、修改、检入,迭代号加一,例如 A.1 → A.2 → A.3。迭代用于记录“工作过程中的每一次保存”,通常不改变对外可见的版本标识。
- 版本(Version):一次被正式确认的修订,例如 A → B → C。版本通常与生命周期状态跃迁、变更流程绑定,代表“对外发布的正式状态”。
可以这样理解:迭代是“草稿的每一次落笔”,版本是“定稿并盖章”。在 BOM 中引用部件时,默认引用的是最新已发布版本,而不是某个中间迭代。因此,如果只做了迭代但没有升版,BOM 结构不会自动切换到新内容——这正是很多“改了没生效”问题的根源。
三、生命周期:对象的状态机
生命周期(Life Cycle)定义了对象从创建到废弃所经历的状态与跃迁条件。典型状态包括:工作中(In Work)→ 审批中(Under Review)→ 已发布(Released)→ 已废弃(Obsolete)。每个状态对应不同的权限:工作中可编辑,已发布通常只读,废弃不可用于新 BOM。
生命周期与版本的关系是:升版往往由生命周期跃迁触发。例如部件从“工作中”提交审批,审批通过后进入“已发布”,同时版本从 A 升到 B。这样,BOM 中引用的对象状态与版本就保持一致,避免“已发布 BOM 里混着未审批部件”的情况。
四、BOM 如何把这些维度串起来
BOM 结构本身也是一个对象,它由“父部件 + 使用关系 + 子部件”组成。每条使用关系可以配置:
- 数量与单位:如 4 个、2.5 米;
- 位号:如 R1、R2,用于电气/装配定位;
- 参考设计ator:标识该使用关系在特定配置下的可选性;
- 生效/失效日期或版本范围:控制该关系在哪个版本区间有效。
当 BOM 展开时,Windchill 会按“配置规范”解析:选择哪个版本、哪个生命周期状态、哪个生效日期。默认配置通常是“最新已发布版本 + 已发布状态”。因此,BOM 不是一张静态清单,而是“对象 + 版本 + 状态 + 关系”在某一时刻的解析结果。
五、一个可复现的示例:从修改到 BOM 生效
假设产品 P-100 下有一个自制部件 10023456,当前版本 A、迭代 A.3、状态“已发布”,BOM 中父件 10023456 使用子件 10098765(版本 A,数量 4)。现在工程师发现子件数量应为 6,操作过程如下:
- 检出 10023456,修改其 BOM 使用关系数量为 6,检入。此时版本仍为 A,迭代变为 A.4,状态回到“工作中”。
- 提交审批,审批通过后状态变为“已发布”,版本升为 B。
- 在 BOM 展开时,若配置规范为“最新已发布版本”,则解析到 10023456 的 B 版本,数量显示为 6;若配置规范锁定为 A 版本,则仍显示 4。
这个例子说明:BOM 的“变化”不是直接改出来的,而是通过版本与状态的跃迁被解析出来的。理解这一点,才能在协同中判断“为什么别人看到的还是旧数量”。
六、对象、版本、生命周期与 BOM 的对应关系速查
| 维度 | 作用对象 | 变化方式 | 对 BOM 的影响 |
|---|---|---|---|
| 产品/库 | 容器 | 新建、归档 | 决定编号、权限与生命周期模板 |
| 部件 | 物料主数据 | 新建、修改属性 | BOM 节点的身份来源 |
| 迭代 | 同一版本内 | 检出/检入 | 不改变默认引用,仅记录过程 |
| 版本 | 正式修订 | 升版 | 默认配置下切换 BOM 引用内容 |
| 生命周期 | 状态机 | 状态跃迁 | 控制哪些版本可被 BOM 引用 |
| 使用关系 | BOM 边 | 增删改数量/位号 | 决定结构、数量与生效范围 |
把这张表记牢,后续做 BOM 协同、配置规范、变更影响分析时,就能快速定位问题出在“对象本身”“版本没升”“状态不对”还是“使用关系配置错误”。这是 Windchill 产品数据模型最基础、也最值得反复确认的一层。