元素
|
类型
|
说明
|
---|---|---|
base_prefix
|
特性键组件
|
前缀 com.ptc.windchill.associativity.reconciliation.addusage
为必需项且保持恒定。添加模板配置仅考虑具有此前缀的特性。
|
upstream_view
|
特性键组件
|
视图的内部名称,用于形成对等链接的上游视图上下文。例如:design。
此键还需要相应的 downstream_view 配置。键为可选项。
|
downstream_view
|
特性键组件
|
视图的内部名称,用于形成对等链接的下游视图上下文。例如:manufacturing。
此键还需要相应的 upstream_view 配置。键为可选项。
|
type_internal_name
|
特性键组件
|
对变换有效的类型的内部名称。键不应包含层次结构名称。例如:com.ptc.ElectricalPart。
此键支持继承。因此,如果为超级类型定义该项,除非明确定义,否则关联的配置适用于子类型。
键为必需项。
|
元素
|
说明
|
||||
---|---|---|---|---|---|
transformOption
|
介绍应如何在下游结构中变换给定类型。支持的默认有效值为 addSame、newBranch 和 newPart。这些值等同于界面操作“粘贴”、“粘贴为新分支”和“粘贴为新部件”。
如果存在下游结构,则该服务会在内部对 addExisting 选项进行优先处理。如果未指定,则默认值为 addSame。
值要区分大小写。
下面给出的示例使用了规则文件:
{
"sourceType": "wt.part.WTPart", "transformOption": "newBranch" }, 下面给出的示例使用了特性文件:
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" value="transformOption=newBranch"/>
在本示例中,将类型为 WTPart 的部件作为新分支添加到下游结构之下。
|
||||
structureOption
|
描述要针对正在变换的节点的子项执行的操作。您可以传送子项、以递归方式变换子项,或不传送子项。
有效值为 0、1 和 2。例如,structureOption=0。默认值为 0。这些值如下所述:
• 0:不复制子项。
• 1:复制子项但不对其进行变换。
• 2:复制子项并以递归方式对其进行变换。
在某些情况下,值可能不适用。例如,如果 transformOption 为 addSame,则 structureOption 不适用。
下面给出的示例使用了规则文件:
"sourceType": "wt.part.WTPart"
"transformOption": "newBranch", "structureOption": "1", 下面给出的示例使用了特性文件:
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" multivalued="," default=""/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" value="transformOption=newBranch"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" value="structureOption=1"/>
在本示例中,将指定的部件变换为新分支并对其进行复制而不进行传播。
|
||||
attribute.<internal_name> (特性文件)
sourceAttributes (规则文件)
|
针对用于控制变换有效性的类型指定属性的内部名称。支持的属性类型为全局、本地、别名和计算属性。
这是一个多值特性,允许指定多个属性。这是可选项,如果未提供,则仅对类型进行变换验证。预设的系统会执行字符串比较。
下面给出的示例使用了规则文件:
"sourceType": "wt.part.WTPart",
"sourceAttributes": ["AUA=yes"], 下面给出的示例使用了特性文件:
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" value="attribute.AUA=yes"/>
在本示例中,将属性 AUA 为 Yes 的部件添加到下游结构之下。
|
||||
targetType
|
标识可在其下使用有效上游部件的下游类型。在层次结构中包含给定类型的路径会标记为有效项。您需要将类型的内部名称指定为值,而不是类型的分层名称。
这是可选项。如果未指定,则将最接近的公用对等上下文用作默认目标。
下面给出的示例使用了规则文件:
{
"targetType": "wt.part.WTPart", "transformOption": "newBranch" }, 下面给出的示例使用了特性文件:
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule2" value="targetType=wt.part.WTPart"/>
在本示例中,将部件作为新分支添加到类型为 WTPart 的下游部件之下。
|
||||
targetAttribute.<internal_name>
|
指定应在其中粘贴或变换上游节点的目标节点。该节点包含前缀 targetAttribute。
这是可选项。如果未提供,系统将使用 targetType。该项会在路径层次结构中的第一个匹配实例处停止,并从叶位置导航至根。
下面给出的示例使用了规则文件:
[
"source.part.attribute1:String1", "target.part.attribute2:String2" ], 下面给出的示例使用了特性文件:
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="attributeMapping.rule1=Attribute1:String1:Attribute2:String2"/>
在本示例中,应将 attribute1 值为 String1 的上游部件添加到 attribute2 值为 String2 的下游部件之下。
|
||||
doAndValidationForAttr
|
指定在定义多个属性以与源或目标匹配时,是执行 AND 还是 OR 操作来查找匹配。
默认值为 true。
下面给出的示例使用了规则文件:
"newAttributeMappings":[
[ "source.usage.Attribute1:true", "target.part.CustomAttribute1:String1", "doAndValidationForAttr": "true"] ], "targetType": "wt.part.WTPart", "transformOption": "newPart", "skipAttributes": [ "source:buy", "Attribute2":"true" ] 下面给出的示例使用了特性文件:
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.Source=buy"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.Attribute2=true"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="doAndValidationForAttr=true"/>
在本示例中,如果上游结构中存在满足以下条件的部件:Attribute2 设置为 true,以及属性 Source 设置为 buy,则会跳过该部件,且不会将其添加到下游中。
|
||||
forceNewDownstreamCreation
|
指定当下游分支或部件已存在时,是否应创建新的下游部件。默认值为 false。
下面给出的示例使用了规则文件:
{
"sourceType": "wt.part.SoftType1", "transformOption": "newPart", "structureOption":"2", "forceNewDownstreamCreation":"true", "targetType": "wt.part.SoftType1" } 下面给出的示例使用了特性文件:
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.SoftType1.rule1" multivalued="," default=""/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.SoftType1.rule1" value="transformOption=newPart"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.SoftType1.rule1" value="structureOption=2"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.SoftType1.rule1" value="forceNewDownstreamCreation=true"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.SoftType1.rule1" value="targetType=wt.part.SoftType1"/>
在本示例中,将类型为 wt.part.SoftType1 的上游部件变换为类型为 wt.part.SoftType1 的下游部件之下的新下游部件。
|
||||
doNotTransform
|
指定是否应变换给定类型。如需从变换中跳过某些类型的部件,但要处理子项部件,此功能会有所帮助。默认值为 false,这表示在配置后将始终变换类型或其子类型。
下面给出的示例使用了规则文件:
{
"sourceType": "org.rnd.PartSubType3", "doNotTransform": "true" }, 下面给出的示例使用了特性文件:
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.org.rnd.PartSubType3.rule1" value="doNotTransform=true"/>
在本示例中,对类型为 PartSubType3 的部件不作变换。
|
||||
continueNavigationForReusedChildren
|
指定如果作为变换的一部分重用子项并将其转到下游分支,是否要继续导航结构。该项在使用 addSame 操作变换父项时非常有用,但是在结构中,需要将 newBranch 或 newPart 操作用于节点。这可能会影响性能。
默认值为 false。
下面给出的示例使用了规则文件:
{
"sourceType": "wt.part.WTPart", "transformOption": "addSame", "continueNavigationForReusedChildren":"true", "targetType": "wt.part.WTPart" } 下面给出的示例使用了特性文件:
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" multivalued="," default=""/>
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" multivalued="," default="transformOption=addSame"/>
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" multivalued="," default="continueNavigationForReusedChildren=true"/>
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" multivalued="," default="targetType=wt.part.WTPart"/>
在本示例中,即使将子部件按原样沿用到下游,也应对部件结构进行导航。
|
||||
useProcessPlanLogicEnabled
|
指定如果下游结构不存在,则搜索为部件创建的流程计划,并使用与该流程计划中给定的上游节点关联的下游结构。
下面给出的示例使用了规则文件:
{
"sourceType": "wt.part.SoftType1", "useProcessPlanLogicEnabled":"true", "targetType": "wt.part.SoftType1" } 下面给出的示例使用了特性文件:
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.SoftType1.rule1" multivalued="," default=""/>
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.SoftType1.rule1" multivalued="," default="useProcessPlanLogicEnabled=true"/>
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.SoftType1.rule1" multivalued="," default="targetType=wt.part.SoftType1"/>
在本示例中,将与上游部件关联的工艺计划操作所耗用的子部件添加到下游结构中。为这些子项部件定义的自定义属性值用于创建父项部件。
有关详细信息,请参阅用例 10:通过工艺计划分配来生成下游结构。
|
||||
doNotTraverse
|
指定是否应进一步遍历给定类型的节点,以便处理其子项以用于变换。如需停止遍历给定节点并跳过其子项,此功能会有所帮助。默认值为 false,这表示将始终遍历类型或其子类型。
下面给出的示例使用了规则文件:
{
"sourceType": "org.rnd.PartSubType4", "doNotTraverse": "true" }, 下面给出的示例使用了特性文件:
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.org.rnd.PartSubType4.rule1" value="doNotTraverse=true"/>
在本示例中,对类型为 PartSubType4 的节点不作变换。
|
||||
attributeMapping.rule
|
用于生成下游结构。您可以指定多个规则并使用属性的内部名称和值将上游子项属性与下游父项属性映射。
attributeMapping.rule<integer>=up_attribute_internal_name:value:down_attribute_internal_name:value
对于此特性,targetType 为必填项。此外,如需根据匹配的属性值生成结构,请提供以冒号分隔的属性名称:
attributeMapping.rule<integer>=up_attribute_internal_name:down_attribute_internal_name
例如:
• attributeMapping.rule1=lineNumber_value:10:lineNumber_value:40
• attributeMapping.rule2=source:make:source:buy
• attributeMapping.rule3=matchingAttr:matchingAttr
还可以提供一个范围来匹配属性值。只有源类型才会遵循此范围。
例如:
• attributeMapping.rule1=lineNumber_value:10>90:lineNumber_value:40, skipAttribute.lineNumber_value=20
• attributeMapping.rule3=matchingAttr:A10>A90:matchingAttr:B10
|
||||
newAttributeMapping (特性文件)
newAttributeMappings (规则文件)
|
用于映射上游子项属性与下游父项属性。您可以使用属性的内部名称和值定义多个规则,以根据所需条件进行筛选。对于此元素,targetType 为强制属性。
源属性的语法如下:
source.attributeLocation.attributeInternalName:attributeValue
源属性的有效位置值为部件、使用关系和具体值。您可以执行单个或多个属性映射。
目标属性的语法如下:
target.attributeLocation.attributeInternalName:attributeValue
目标属性的有效位置值为部件位置。
下面给出的示例使用了规则文件:
"newAttributeMappings": [
[ "source.occurrence.OccIBA:occv1", "target.part.PartAttribute:Value1" ], ] 下面给出的示例使用了特性文件:
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" value="newAttributeMapping.rule1.entry1=source.occurrence.OccIBA:occv1,newAttributeMapping.rule1.entry2=target.part.PartAttribute:Value1"/>
在本示例中,将 OccIBA 值为 occv1 的部件的具体值添加到 PartAttribute 值为 Value1 的部件之下。
|
||||
skipAttribute.<internal_name> (特性文件)
skipAttributes (规则文件)
|
指定为类型定义的属性名称,以从变换中跳过此类型。此元素支持多个 skip 属性。
下面给出的示例使用了规则文件:
"skipAttributes":
[ "Attribute1:String1", "Attribute2":"String2" ] 下面给出的示例使用了特性文件:
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.Attribute1=String1"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.Attribute2=String2"/>
在本示例中,如果上游部件的 Attribute1 设置为 String1,以及 Attribute2 设置为 String2,则应跳过该部件,而不将其添加到下游结构中。
您也可以提供一个范围。例如:
skipAttribute.lineNumber_value=20>90, skipAttribute.lineNumber_value=20
此外,可以将 doAndValidationForAttr 元素与 skipAttribute 一起使用。
|