General InformationThis opening ID is invoked when using the Piping Assembly Isometrics command. In the interactive panel, the app displays up to five user defined properties. They can be properties of the Assembly Reference or Instance.
Input ObjectsInput objects must be of the following types:
SampleThe sample describes how to retrieve the Pipe Assembly data to be displayed in the launch panels. Use the sample to define the business rule in the resource set. As the input to the business rule is provided: VPMOccurrence of the Product.
/*------------------------------------------------------------------------------*/ /* Rule name: CAAAITACPipeLineCustomerData1 */ /* */ /* Sample rule for retrieving the customer Fluidic data to be displayed */ /* in the launch panels. For pure information and Designer use only. */ /* Any properties can be returned as seemed to be fit. The same order should be */ /* returned for each assembly though... */ /* */ /* Input Arguments */ /* ThisObject = FactType ProductOccurrence (pipe or assembly occurrence) */ /* or */ /* thisObject = FactType Feature ( MfgProcessOccurrence if pipe or assembly */ /* are manufacturing nodes ) */ /* */ /* Output Parameters */ /* PropertyName1 = string, name of 1st property. E.g. Section */ /* PropertyValue1 = string, value of 1st property. E.g. 0412 */ /* PropertyName2 = string, name of 2nd property. E.g. Block */ /* PropertyValue2 = string, value of 2nd property. E.g. 04 */ /* PropertyName3 = string, name of 3rd property. E.g. Outfitting Stage */ /* PropertyValue3 = string, value of 3rd property. E.g. Section */ /* PropertyName4 = string, name of 4th property. E.g. System */ /* PropertyValue4 = string, value of 4th property. E.g. Cooling Water */ /* PropertyName5 = string, name of 5th property. E.g. Material */ /* PropertyValue5 = string, value of 5th property. E.g. Carbon Steel */ /* ... */ /* PropertyName10 = string, name of 10th property. */ /* PropertyValue10 = string, value of 10th property. */ /* */ /* */ /* Data may be read from attributes on the assembly reference or instance or */ /* dynamically retrieved from ENOVIA, or computed using */ /* ProductOcc->QuerySpaces(NULL,1,....) */ /* or properties read from the pipes/fittings inside the Assembly. */ /*------------------------------------------------------------------------------*/ Let AssyOcc(ProductOccurrence) Let AssyRef(VPMReference) Let AssyIns(VPMInstance) /* Assy data */ Let strSection(String) Let strBlock(String) Let strSystem(String) Let strConservation(String) Let strMaterial(String) /* initialize */ AssyOcc=NULL AssyRef=NULL AssyIns=NULL strSection="" strBlock ="" strSystem="" strConservation="" strMaterial="" /* ThisObject information */ Trace(1,"ThisObject : " + ThisObject.Name) /* Get the Assy occurrence */ Set AssyOcc = ThisObject Trace(1,"Assy Occurrence : " + AssyOcc.Name) /* Get the Assy instance */ Set AssyIns = AssyOcc Trace(1,"Assy Instance : " + AssyIns.Name) /* Get the Assy reference */ Set AssyRef = AssyIns.Reference Trace(1,"Assy Reference: " + AssyRef.Name) /* Read the attributes from the Assy (sample, customer dependent) */ strSection=AssyIns.GetAttributeString("AITDesignUnit") strBlock =AssyIns.GetAttributeString("AITBlock") strConservation=AssyRef.GetAttributeString("AITInside_Conservation") /* Read the last modifiedDate */ Let modifiedDate(Date) Set modifiedDate = Parameters->GetAttributeDate("ProductModifiedDate") Let strDate(String) strDate = DateFormat("%c",modifiedDate) /* Reaf from manufacturing context*/ Let mbombNode(MfgProcessOccurrence) set mbombNode = ThisObject if (mbombNode <> NULL) { // BR was executed in Delmia PPR context // we can query query a reference of MfgProcessOccurrence to determine if // this node is a spool or assembly // if node is not needed we will return empty PropertyValues to exclude node from user intrface } // Output the result back to the calling code Parameters -> SetAttributeString("PropertyName1" , "Section") Parameters -> SetAttributeString("PropertyName2" , "Block") Parameters -> SetAttributeString("PropertyName3" , "Conservation") Parameters -> SetAttributeString("PropertyName4" , "System") Parameters -> SetAttributeString("PropertyName5" , "Material") Parameters -> SetAttributeString("PropertyValue1" , strSection) Parameters -> SetAttributeString("PropertyValue2" , strBlock) Parameters -> SetAttributeString("PropertyValue3" , strConservation) Parameters -> SetAttributeString("PropertyValue4" , strSystem) Parameters -> SetAttributeString("PropertyValue5" , strMaterial) /* end */ |