Retreive all nozzle and connected Equipment
Filter: retreive only Nozzle
let LNozzle(Piping_Logical_Miscellaneous) set LNozzle=ThisObject.Reference ReturnBool = LNozzle.V_LogicalSubPartType=="Nozzle"
Retreive connected Equipment Instance Name
let Inst(Piping_Logical_Miscellaneous_Inst) let CnxEQT_Inst(EnsLogicalEquipmentInst) let CnxEQT_Ref(EnsLogicalEquipment) let ListConnectedComp(List) let ListSize(Integer) let i(integer) let CnxEQT_Name(String) set Inst=ThisObject.Instance ListPipingConnectedComponents(Inst,"EnsLogicalEquipmentInst",ListConnectedComp) ListSize=ListConnectedComp->Size() Attribute="" If ListSize <> 0 { i = 1 For i while i <=ListSize { CnxEQT_Inst = ListConnectedComp->GetItem(i) Let str(String) str = CnxEQT_Inst.Name If (CnxEQT_Inst->IsASortOf("EnsLogicalEquipmentInst")) { Attribute=str } } } else Attribute="Not Connected" Notify("ConnectedEQTListSize : ", ListSize) Notify("ConnectedEQTList : ", ListConnectedComp)
Navigate on Piping network
- A new function to List Connected Component Instances from the Input Instance connected through Piping Ports
- ListPipingConnectedComponents (iPLMInstance: PLMCoreInstance, iComponentType: String, oListOfComponents: out List): Integer
/* Rule created by HTI2 20/01/02 */ // Equipment : EnsLogicalEquipmentInst Let strInput(String) Let ConnectedInstance(PLMCoreInstance) let ListConnectedComp(LIST) Let nConnected = 0 Let j = 1 strInput = Equipment.Name Message(strInput) ListPipingConnectedComponents(Equipment, "RFLVPMLogicalInstance", ListConnectedComp) nConnected =ListConnectedComp->Size() for j while j<=nConnected { ConnectedInstance = ListConnectedComp->GetItem(j) Let str(String) str = ConnectedInstance.Name Message(str) }