Introduction
Usage :
By default when routing a pipe , the attribute value of the new pipe are copied from the selected Reference pipe. Also , only few attributes are concerns
The rule allows to control which attribute must be copied or not from the reference pipe including custo attributes. (note piping main attributes will not be concern by the rules and will be always copied from the reference pipe
Datasetup Resource Set :
- Piping/Tubing Specification Resources
- HVAC Specification Resources
- Raceway Specification Resources
Datasetup Resource : Compute the list of attributes to copy from route reference
Rule Example 1
Description
You define into the rules, the attributes for which you don't want to propagate the value.
In this example we exclude only the "Version comment" attribute
Rule
Notify("Business Rule: Manage Attributes On Route Reference") Notify("Discipline: Piping/Tubing") Let pRigidRoute(Piping_Rigid_Pipe) Let iListOfAttibutes(List) Let oListOfAttributesToSkip(List) Let nbAttributes(Integer) Let index(Integer) /* Check for Rigid or Flexible Route */ Set pRigidRoute = ThisObject if(NULL <> pRigidRoute) { /* This object is a Rigid Pipe */ Notify("Object Type: Rigid Pipe") } else { /* This object is a Flexible Pipe */ Notify("Object Type: Flexible Pipe") } /* Get the List of attributes from the input of Parameter */ Set iListOfAttibutes = Parameters.GetAttributeObject("ListOfAttributes") /* Show the List of attributes on Notification panel */ Notify("List of editable attributes from this object type") index = 1 nbAttributes = iListOfAttibutes.Size() for index while index <= nbAttributes { Notify(iListOfAttibutes[index]) } /* @User: Please define here the List of attributes to skip copying from route reference */ //oListOfAttributesToSkip.Append("V_description") oListOfAttributesToSkip.Append("V_versionComment") oListOfAttributesToSkip.Append("V_Standard") // This attribute will be ignored because it is a piping attribute, so not editable /* Set the List of Attribtues to Skip as the output of Parameter */ Parameters.SetAttributeObject("ListOfAttributesToSkip",oListOfAttributesToSkip)