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)
