2. Windchill配置管理数据模型
在Windchill中做配置与变型管理,第一步不是急着建选项,而是先理解对象模型。因为Windchill把“卖什么”“造什么”“怎么选”“选完生成什么”拆成了不同对象,它们之间通过引用、归属和约束关系连接。如果对象放错层级,后面会出现选项无法复用、变型件号爆炸、约束规则互相打架等问题。本节围绕产品、产品系列、产品变型、配置项、选项集、选择项、约束规则这几类核心对象,说明它们各自的职责、关键属性以及相互之间的引用关系。
一、对象分层:从产品系列到具体配置
Windchill配置数据模型可以理解为四层:产品系列(Product Family)是市场与平台层,代表共享技术、共享选项定义的一类产品;产品(Product)是具体型号或项目层,通常对应一个可销售、可制造的产品对象;产品变型(Product Variant)是配置结果层,由选项选择驱动生成,代表某个具体配置;配置项(Configuration Item)是受控对象层,可以是部件、文档、CAD模型或BOM节点,它们被变型引用并随配置生效。
产品系列与产品之间是“模板—实例”关系:产品系列上定义的选项集和约束规则可以被多个产品复用,产品继承后可以再扩展。产品与产品变型之间是“定义—配置”关系:产品提供可配置结构,变型记录某一次选择结果。产品变型与配置项之间是“引用—被引用”关系:变型通过配置项确定最终BOM、图纸和文档版本。
二、各对象的关键属性与职责
产品系列通常承载平台级选项定义。它的关键属性包括系列编号、适用市场、共享选项集引用。产品系列不直接生成变型,而是作为模板被产品继承。例如“A系列工业泵”定义“电源频率”“电压”“材质”三个选项集,所有A系列产品默认继承。
产品是配置管理的入口对象。它拥有自己的编号、名称、生命周期状态,并引用一个或多个选项集。产品可以覆盖产品系列中的默认值,也可以增加本产品特有的选项。产品本身不是最终交付物,而是“可配置定义”。
产品变型是配置执行后的结果对象。它记录本次选择的具体选项值、生效日期、配置基线,并关联到具体配置项版本。产品变型可以保存为可复用配置,也可以作为订单、项目或制造批次的配置依据。变型编号通常由产品编号加选项编码组成,例如“A-100-50Hz-SS”。
配置项是受控对象,包括部件、文档、CAD模型、BOM节点等。配置项带有版本(如 A.1、B.2)和生命周期状态(如设计中、已发布、已冻结)。产品变型通过配置项确定“用哪个版本、哪个状态”的物料和文档。
选项集是选择项的容器,用于把相关选项组织在一起。选项集可以定义单选或多选、是否必选、默认值、显示顺序。选项集可以被产品系列、产品、甚至多个产品共享。共享选项集是控制变型复杂度的关键手段。
选择项是选项集内的具体可选值。每个选择项可以关联一个或多个配置项,表示“选了这个值,就用这些部件/文档”。选择项还可以设置适用条件、互斥关系、默认选中状态。例如“50Hz”选择项关联电机M-50和文档D-50。
约束规则用于控制选项之间的合法组合。Windchill常见规则类型包括:包含规则(选A必须选B)、排除规则(选A不能选B)、条件规则(如果选A则B默认选中)、默认规则(未指定时自动选某值)。约束规则可以定义在产品系列、产品或选项集上,按优先级生效。
三、对象之间的引用与生效关系
理解对象关系,重点看三条链路。第一条是定义链路:产品系列 → 产品 → 选项集 → 选择项。这条链路决定“有哪些可选项”。第二条是约束链路:选项集/选择项 → 约束规则 → 合法组合。这条链路决定“哪些组合允许存在”。第三条是结果链路:产品变型 → 配置项 → 版本/状态。这条链路决定“最终用什么物料和文档”。
实际配置时,用户在产品上选择选项值,系统先检查约束规则,过滤非法组合,再根据选择项关联关系解析出配置项集合,最后生成产品变型。产品变型保存后,配置项版本被冻结到该变型中,后续配置项升版不会自动改变已保存变型,除非重新解析或执行更新。
四、一个可参考的配置数据示例
下面以“A系列工业泵”为例,给出一个简化的配置数据表,用于说明对象之间的字段对应关系。表中数据为教学示例,不是实际项目数据。
| 对象类型 | 编号/名称 | 关键属性 | 关联对象 |
|---|---|---|---|
| 产品系列 | A系列工业泵 | 市场:工业;共享选项集:电源、材质 | 产品 A-100、A-200 |
| 产品 | A-100 离心泵 | 状态:已发布;继承选项集:电源、材质 | 选项集:电源、材质 |
| 选项集 | 电源选项集 | 类型:单选;必选:是;默认:50Hz | 选择项:50Hz、60Hz |
| 选择项 | 50Hz | 编码:50H;关联部件:M-50 | 配置项:M-50、D-50 |
| 选择项 | 60Hz | 编码:60H;关联部件:M-60 | 配置项:M-60、D-60 |
| 约束规则 | 60Hz-电压约束 | 类型:包含;条件:选60Hz必须选380V | 选择项:60Hz、380V |
| 产品变型 | A-100-50Hz-SS | 选项:50Hz、不锈钢;状态:已发布 | 配置项:M-50 A.1、D-50 A.1 |
| 配置项 | M-50 电机组件 | 版本:A.1;状态:已发布 | 被变型 A-100-50Hz-SS 引用 |
五、建模时的常见判断点
第一,选项集放在产品系列还是产品?如果多个产品共享同一组选项,放产品系列;如果某产品有独有选项,放产品并引用共享选项集。第二,选择项关联配置项还是直接关联BOM?Windchill通常通过选择项关联配置项,再由配置项参与BOM解析,这样版本和状态可控。第三,约束规则写在哪一层?平台级规则写产品系列,产品特有规则写产品,选项集内部规则写选项集。第四,产品变型保存后是否随配置项升版?默认不随,需要重新解析或使用配置基线更新。