Use Screening Attributes to Limit Rule Application
You can limit rules to apply to a specific clash situation with screening attributes that provide additional criteria. If the rule does not meet the additional screening criteria, the software does not evaluate the rule. Limiting the rules that the software evaluates improves software performance.
Attributes for Rules that Evaluate One or Two Objects
LimitToObjectTypes
Evaluates the rule only if ObjectTypeA and ObjectTypeB exist in the lists. See List interferences.
ExcludeObjectTypes
Evaluates the rule only if ObjectTypeA and ObjectTypeB do not exist in the lists.
Attributes for Rules that Evaluate Two Objects
ExcludeClashes
-
Prevents a rule from evaluating a clash between specified ObjectTypes (objects in List1 that clash with objects in List2).
-
Expects Value as ObjectTypesList1 and /ObjectTypesList2, as shown in the following example:
ExcludeClashes="Ducts, Pip*, Equipment, Cable Tray/ Hanger, Member Part Prismatic"
LimitToObjectTypes1 and LimitToObjectTypes2
-
Evaluates the rule only if:
-
ObjectType1 exists in the LimitToObjectTypes1 list or in the LimitToObjectTypes2 list,
and
-
ObjectType2 meets ObjectType1 requirements,
or
-
ObjectType1 meets ObjectType2 requirements.
-
-
Expects Value as a list of one or more ObjectTypes.
ExcludeObjectTypes1 and ExcludeObjectTypes2
-
Evaluates the rule only if:
-
ObjectType1 does not exist in the ExcludeObjectTypes1 list and ObjectType2 does not exist in the ExcludeObjectTypes2 list,
or
-
ObjectType1 does not exist in the ExcludeObjectTypes2 list and ObjectType2 does not exist in the ExcludeObjectTypes1 list.
-
-
Expects Value as a list of one or more ObjectTypes.
LimitToObjectTypes1 and ExcludeObjectTypes2
-
Evaluates the rule only if:
-
ObjectType1 exists in the LimitToObjectTypes1 list and ObjectType2 does not exist in the ExcludeObjectTypes2 list,
or
-
ObjectType2 exists in the LimitToObjectTypes1 list and ObjectType1 does not exist in the ExcludeObjectTypes2 list.
-
-
Expects Value as a list of one or more ObjectTypes.
Example 1
The following rule uses the interfaces approach to ignore clashes between pipe welds and piping parts:
<ByInterfaces List1="IJRtePipeWeld" List2="IJRtePipePart"
LimitToObjectTypes1="Piping Welds"
LimitToObjectTypes2="Pipes, Piping *"/>
Example 2
The following rule ignores clashes between non-equipment and non-equipment foundation objects named 'X' and non-slab and non-plate objects named 'Y':
<ByName
Name1="X" ExcludeObjectTypes1="Equipment, Equipment Foundation"
Name2="Y" ExcludeObjectTypes2="Slab, Plate"/>
Clash Situation |
Rule Ignores Clash |
---|---|
Equipment X and Slab Y |
No |
Equipment X and Pipe Y |
No |
Conduit X and CableTray Y |
Yes |
Conduit X and Pipe Y |
Yes |
Slab X and Equipment Y |
Yes |
Slab X and Pipe Y |
Yes |
Pipe X and Slab Y |
No |
Example 3
The following rule ignores clashes between objects named 'X' and 'Y'; the software does not apply the rule to an equipment and equipment foundation clash with a slab and plate:
<ByName
Name1="X" Name2="Y"
ExcludeClashes="Equipment, Equipment Foundation / Slab, Plate"/>
Clash Situation |
Rule Evaluated |
Rule Ignores Clash |
---|---|---|
Equipment X and Slab Y |
Yes |
|
Equipment X and Slab X |
Yes |
|
Equipment X and Pipe Y |
No |
Yes |
Equipment Y and Pipe X |
No |
Yes |
Conduit X and CableTray Y |
No |
Yes |
Conduit X and Pipe Y |
No |
Yes |
Slab X and Equipment Y |
Yes |
|
Slab X and Pipe Y |
No |
Yes |
Slab A and Pipe Z |
No |
No |
Equipment X and Plate Y |
Yes |
|
Equipment Y and Plate X |
Yes |
|
Equipment A and Plate Z |
Yes |
|