Purpose
Describe how to define and use Composite Container
Definitions
Maybe we should start by defining first what is a Zone. a zone is a contour in schema associated to a 3D volume in which the component must be placed. a Zone will not be realized by a physical component
A Composite/Geographic container is a physical component (Equipment or other ) that will be purchased/fabricated and placed into the 3D mockup
A Geographic container is a Component that contains physicaly other components and you want to have a relation between the container and the containees. All elements will be purchased/fabricated separetly
A Composite component is a fabricated/purched component that is composed by multiple parts/components that realize different functions. Then there is 2 cases
all the parts are assemble together and/or are located into the same geographic location then the composite container is also a geographic container ; so we call it Composite container
one of the Part is located in another geographic location, then it is only a composite container. Like in the following exemple with the instrument that is purchased with the pump but it is placed not "in the field localy mounted" close to the pump but it is mounted in the Main Panel so in another geographic location ; so we call it just Composite
Ideal when defining the symbole for these different type of component, we must specify diffrent lineType or shape or color for the symbol to be able to distinghush them graphicaly or like in the following video having a textemplate that help for the understanding (like "integrated in" or "placed in")
Scenario 1
Application of above Case 3.a : Composite container
Base on Customer request :
- been able to display nozzle under associated equipment node in tree
- been able to set nozzle attribute from Equipment
potential scnario that could be adress with same principle:
- Associate Instruments to Equipment
Details
video done in 22x
Setup BL
let instance(RFLVPMLogicalInstance) set instance = ThisObject.Instance let result(String) set result = instance.GetAttributeString("V_IntegratedIn") Parameters.SetAttributeString("CompositeName",result)
/* Rule to get Composite Name ( Schematic_ManageComposite ) */ /* This Object Type= LogicalOccurrence */ // The following sample define the V_Ref_IntegratedIn & instance Name attributes of the containee according to the value of the attribute for the parent composite Let FatherInstance(RFLVPMLogicalInstance) Let ChildInstance(RFLVPMLogicalInstance) let FatherInstName (string) Let FatherOccurence(LogicalOccurrence) let IDNumber(String) let TagNb(string) // GET Container information Set ChildInstance = ThisObject.Instance Set FatherOccurence = Parameters->GetAttributeObject("Father") Set FatherInstance = FatherOccurence.Instance // DEFINE SEQUENCE NUMBER // In context of the name of the Parent. set FatherInstName=FatherInstance.Name //Set IDNumber IDNumber = GetUniqueKeyFromString(FatherInstName) set TagNb= FatherInstName+"-" + IDNumber // SET ATTRIBUTES if(NULL <> ChildInstance and NULL <> FatherInstance) { //ChildInstance.SetAttributeString("V_description", FatherInstance.Name) ChildInstance.SetAttributeString("V_Ref_IntegratedIn", FatherInstance.Name) ChildInstance.SetAttributeString("PLM_ExternalID", TagNb) }
Test model : P&ID 3DXML
Other informations
Link to Schamatic Data Setup BL for Container/Containees pages: