Introduction
Avaibility : 23xFD06LA – 24xFD03GA
Variable : LA_3DF_SizePropagateBR
Function : FUN130081
Usage : For Pipes, duct, tray, rigid & flexible
- The user can write Business Rule to name or modify existing attribute the Piping/HVAC routes/parts as desired while using propagate size command and comply with spec command
Datasetup Resource Set :
- Logical To Physical Assistant Resources
Datasetup Resource : Perform pre / post process after modification action
Rule Example
BL to check if the route/part is parametric and name the route/part on the basis of their attributes
let List3DOccurrences(List) let Object_Occurrence(ProductOccurrence) let Object_Reference(VPMReference) let Object_Instance(VPMinstance) let Duct(HVAC_Rigid_Duct) let Duct_Inst(HVAC_Rigid_Duct_Inst) let HvaPart(HVAC_Part) let preAction(Boolean) let Height(String) let Width(String) let EquivalentDia(String) let Standard(String) set List3DOccurrences = Parameters.GetAttributeObject("ListInput3DFacet") // get the list of physical occurrence set preAction = Parameters.GetAttributeBoolean("IsPreAction") if(preAction == FALSE) // post action { for Object_Occurrence inside List3DOccurrences { if(Object_Occurrence <> NULL) { Trace(1, "Occurrence from list found", "ProductOccur") set Object_Reference = Object_Occurrence.Reference // getting reference from the occurrence set Object_Instance = Object_Occurrence.Instance // getting instance from the occurrence if(Object_Reference->IsASortOf("HVAC_Rigid_Duct")) { set Duct = Object_Reference } if(Object_Reference->IsASortOf("HVAC_Part")) { set HvaPart = Object_Reference } if(Object_Instance->IsASortOf("HVAC_Rigid_Duct_Inst")) { set Duct_Inst = Object_Instance } if(Duct <> NULL) { Trace(1, "hvac reference not found", "HvacRef") // type cast into hvac rigid duct if (Duct.V_InstanciationRule == "NewReference" and Duct_Inst.V_ReferenceMode == "NewFrom") // condition true if parametric duct { Trace(1, "hvac duct is parametric", "hvac parametric") Height = Duct.V_Height Width = Duct.V_Width Duct.Name = "HVACDuct_" + Height + "_" + Width } } if(HvaPart <> NULL) { Trace(1, "hvac reference not found", "HvacPart") // type cast into hvac rigid duct if (HvaPart.V_InstanciationRule == "NewReference") // condition true if parametric duct { Trace(1, "hvac duct is parametric", "hvac parametric") EquivalentDia = HvaPart.V_EquivalentDiameter Standard = HvaPart.V_Standard HvaPart.Name = "HVACPart_" + EquivalentDia + "_" + Standard } } } } }