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
}
}
}
}
}
