创建复合规则
在一个上下文中为对象类型及其子类型设置的规则不会替代在父上下文中设置的其他规则。但对所有规则进行了合并以创建一个复合规则。合并包括使用对象类型和适当的上下文分级将规则定义组合在一起,其中来自分级中最低层的规则定义优先于父类型和上下文中的定义。创建规则时指定的对象类型以及创建规则所在的上下文都应加以考虑。
可以通过单击上下文中显示的“对象初始化规则”表格中的“下载复合”图标 ,来查看复合规则,该复合规则作用于特定的上下文。
在应用复合规则时,如果一个默认值不是仅应用于一个对象属性,而创建对象的用户没有为属性指定一个值,下列情况将会发生:
如果指定了默认值,则将会使用该默认值。例如,如果规则没有设置默认的生命周期状态,生命周期服务将用其属性值设置默认状态。
如果未指定默认值,则会将属性值设置为 NULL。如果属性值因其为必需属性而不能为 NULL,则会产生错误。
通过 Windchill 工作组管理器来管理部件和 CAD 文档的创建可以影响为部件和 CAD 文档的名称和编号属性建立的对象初始化规则的使用。有关管理可通过工作组管理器使用的选项的详细信息,请参阅使用 OIR 进行命名和编号
如果未应用任何约束或者将空的约束应用到复合规则所在的属性中,则显示用户界面时值字段的外观不发生任何变化。例如,显示的字段为空字段并且可以编辑。
本主题中介绍的示例使用定义默认值的规则内容。对于包括显示约束的规则,其合并方式与合并定义默认值的规则相同。适当的类型和上下文分级均用于合并单个规则,从而创建使用的复合规则。
示例 1:涉及上下文分级的规则
为相同对象类型定义所有规则时,合并规则仅涉及使用建立的上下文分级。例如,假定:
用于 wt.doc.WTDocument 编号和版本化的规则是在站点上下文中设置的
用于 wt.doc.WTDocument 文件夹的规则是在产品或组织上下文中设置的
这样,在产品或组织内创建 wt.doc.WTDocument 对象的复合规则既包括编号和版本化的设置,也包括文件夹的设置。如果在 wt.doc.WTDocument 对象类型的产品规则内已经包含编号方案的设置,则此规则设置通常会优先于在站点上下文中进行的设置。
示例 2:涉及类型分级的规则
当所有定义的规则都在同一上下文中时,合并规则仅涉及使用建立的类型分级。例如,假定:
在站点上下文中设置的规则包括为 wt.doc.WTDocument 类型的编号和版本化文档设置默认值的内容
在站点上下文中设置的规则还包括为与 wt.doc.WTDocument 的子类型 (如 com.ptc.General) 关联的文档设置默认文件夹值的内容
则在站点上下文中用于 com.ptc.General 的合并规则通常包括来自父类型 (wt.doc.WTDocument) 的编号和版本化定义以及来自 com.ptc.General 的文件夹定义。在站点上下文中用于 wt.doc.WTDocument 对象的复合规则不包括文件夹定义,因为文件夹定义仅在为子类型定义的规则中。
可通过为特定对象属性在 AttrValueAttrConstraintVarDef 元素中包括可选 final 或 ignore 属性,来更改在类型或上下文中从父项到子项的继承。在可选 AttrValueAttrConstraintVarDef 属性中介绍了这些属性的使用。
示例 3:具有多个上下文的组合规则
当为特定对象类型设置的规则包括父类型和子项子类型的规则以及多种上下文中的规则时,则合并规则涉及类型和上下文分级。例如,假定:
用于默认文件夹路径并用于与 wt.doc.WTDocument 类型关联的文档的编号和版本化的规则是在站点上下文中设置的。此规则自动生成文档的编号和版本,并将默认文件夹路径设置为 /Default (此为创建文档时所在上下文中的顶层文件夹)。
用于与 wt.doc.WTDocument 的 com.ptc.General 子类型关联的文档默认文件夹路径的规则是在产品上下文中设置的。此规则将默认文件夹设置为 /Default/General (此为使用 com.ptc.General 类型的文档在创建时所在上下文中的 General 文件夹)。
使用这些规则时,假定用户使用 wt.doc.WTDocument 类型在产品上下文中创建文档。则以下为真:
此文档具有自动生成的编号和版本。
默认文件夹位置为产品上下文中的顶层文件夹。
此情况下有效的复合规则包括来自在站点上下文中设置的规则的内容,不使用来自在产品上下文中为默认文件夹路径设置的规则的内容 (指定对象类型为 wt.doc.WTDocument 父类型)。
如果用户使用 com.ptc.General 子类型在产品上下文中创建文档,则以下为真:
此文档具有自动生成的编号和版本。
默认文件夹位置为在产品上下文中的 General 文件夹。
在此情况下生效的复合规则中,使用在产品中为 com.ptc.General 子类型设置的默认文件夹路径的规则内容,因为它代替了在站点上下文中为 wt.doc.WTDocument 父类型设置的规则内容。
例 4:具有类型和上下文分级的组合规则
如果涉及对象类型分级和上下文分级,当前上下文中的对象类型分级的优先级将高于上下文分级。如果父类型存在于当前上下文中,会忽略子类型的对象初始化规则。例如,假定:
用于默认文件夹路径并用于与 wt.doc.WTDocument 类型关联的文档的编号和版本化的规则是在站点上下文中设置的。此规则自动生成文档的编号和版本,并将默认文件夹路径设置为 /Default (此为创建文档时所在上下文中的顶层文件夹)。
用于与 wt.doc.WTDocument 的 com.ptc.General 子类型关联的文档默认文件夹路径的规则也是在站点上下文中设置的。此规则将默认文件夹设置为 /Default/General (此为使用 com.ptc.General 类型的文档在创建时所在上下文中的 General 文件夹)。
用于与 wt.doc.WTDocument 类型关联的文档默认文件夹路径的规则是在产品上下文中设置的。此规则将默认文件夹设置为 /Default/General/Design (此为创建使用 wt.doc.WTDocument 类型的文档时所在上下文中的 Design 子文件夹)。
如果用户使用 com.ptc.General 子类型在产品上下文中创建文档,则以下为真:
此文档具有自动生成的编号和版本。
默认文件夹位置为产品上下文中的 Design 子文件夹。
在此情况下生效的复合规则中,使用在产品中为 wt.doc.WTDocument 子类型设置的默认文件夹路径的规则内容,因为它代替了在站点上下文中为 wt.doc.WTDocument 父类型设置的规则的文件夹设置以及在站点上下文中为 com.ptc.General 子类型设置的规则的文件夹设置。尽管为 com.ptc.General 子类型设置的站点级规则与创建的对象为同一对象类型,但使用对象类型分级的产品级规则仍将忽略该规则。
这对您有帮助吗?