Introduction
Usage : For Pipes, duct, tray, rigid & flexible
Allows to decide which attribute will be copy or not from the reference object in catalog
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
BL to propagate attribute from Reference Pipe // ThisObject, the object on which the rule is acting, is VPMReference. 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)