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