EKL - BL to compute options for component group

Introduction

Usage :  Involved when you use a group of components from the catalog and let you define if you instantiate, duplicate, or replace the objects from a group of components

Note: Routable objects are never replaced. If the rule indicates replace, the routable objects are instantiated

possible value for List_Operations : 

  • 1 = Instantiate
  • 2 = Duplicate
  • 3 = Replace

Datasetup Resource Set : 

  • Diagram Resource

Datasetup Resource : Rule to compute options for component group

 

Rule Example 1 

Description

For each instance of the component group , the rule will do for :

  • Equipment : Duplicate
  • Piping Part : Duplicate
  • others : Instantiate

Rule

// ThisObject --> NULL 
/*
possible value for List_Operations :
1 = Instantiate
2 = Duplicate
3 = Replace
*/
​​​​​​​
let ListPLMInstances(LIST)

       set ListPLMInstances = Parameters.GetAttributeObject ("List_Instances_From_ComponentGroup")

       let OutListOfOperations(List)

       Let ReferenceObject(RFLVPMLogicalReference)
       Let InstanceObject(RFLVPMLogicalInstance)
       let sDiscipline (String)

       Let j = 1
       for j while j<=ListPLMInstances->Size()
       {
         set InstanceObject = ListPLMInstances->GetItem(j)
         set ReferenceObject = InstanceObject.Reference
         sDiscipline = ReferenceObject.V_discipline
         if(sDiscipline == "EnsLogicalEquipment")
         {
            OutListOfOperations.Append(2) 
         }
         else  if(sDiscipline == "Piping_Logical_Part")
         {
            OutListOfOperations.Append(2)
         }
         else
         {
             OutListOfOperations.Append(1)
         }
         j = j+1
       }
 /* output parameters write */
Parameters.SetAttributeObject("List_Operations", OutListOfOperations)

3DXML