General InformationThis action rule is invoked when you click Update IPM or Synchronization. Input ObjectsInput objects must be of the following type: Parameters correspond to the context object.ExampleThe following example shows how to determine the opening type. You can use this example to make another script in the action rule. let Process(ElementaryEndItem) let SDD_Opening(SddOpening) set Process = Parameters.GetAttributeObject("ProcessItem") set SDD_Opening = Parameters.GetAttributeObject("SddOpening") Let ProcessOutput(VPMReference) Let SDDObject(VPMReference) Let SDD_ProdMember(Structure_Member) Let SDD_ProdStiffener(Structure_Stiffener) Let SDD_ProdPlate(Structure_Plate) Let SDD_ProdStiffenerOnFreeEdge(Structure_StiffenerOnFreeEdge) Let SDD_ProdPanel(Structure_Panel) Set ProcessOutput = Process.GetProcessOutput() Set SDDObject = ProcessOutput.GetStructureDesignObject() Set SDD_ProdMember = SDDObject Set SDD_ProdStiffener = SDDObject Set SDD_ProdPlate = SDDObject Set SDD_ProdStiffenerOnFreeEdge = SDDObject Set SDD_ProdPanel = SDDObject /* output value : Set default to NONE*/ let OpeningPrepType(String) OpeningPrepType = "NONE" if(NULL <> SDD_ProdMember) { let strMemberCategory(String) set strMemberCategory = SDD_ProdMember.V_StrCategory let StrMemberMaterial(String) set StrMemberMaterial = SDD_ProdMember.V_StrMaterial if(strMemberCategory == "Member" OR strMemberCategory == "Beam" OR strMemberCategory == "Column" ) { let StrCutOutType(String) set StrCutOutType = SDD_Opening.CutOutType let StrOpeningCategory(String) set StrOpeningCategory = SDD_Opening.Category if((StrMemberMaterial.SearchPattern("Steel") == "Steel") OR (StrMemberMaterial.SearchPattern("STEEL") == "STEEL")) { if(StrCutOutType == "catStrOpeningOutputProfile" and StrOpeningCategory == "SddOpening") { OpeningPrepType = "MARKED" } else if(StrCutOutType == "catStrOpeningStandard" and StrOpeningCategory == "LighteningHole") { let StrContourType(String) set StrContourType = SDD_Opening.ContourType if(StrContourType == "Str_Rect") { OpeningPrepType = "CUT" } else if(StrContourType == "Str_Round") { OpeningPrepType = "MARKED" } } } } } else if(NULL <> SDD_ProdStiffener) { let strStiffenerCategory(String) set strStiffenerCategory = SDD_ProdStiffener.V_StrCategory let StrStiffenerMaterial(String) set StrStiffenerMaterial= SDD_ProdStiffener.V_StrMaterial if(strStiffenerCategory == "Stiffener" OR strStiffenerCategory == "Deck Stiffener" OR strStiffenerCategory == "Deck Longitudinal Stiffener" OR strStiffenerCategory == "Deck Transverse Stiffener") { let StrCutOutType(String) set StrCutOutType = SDD_Opening.CutOutType let StrOpeningCategory(String) set StrOpeningCategory = SDD_Opening.Category if((StrStiffenerMaterial.SearchPattern("Steel") == "Steel") OR (StrStiffenerMaterial.SearchPattern("STEEL") == "STEEL")) { if(StrCutOutType == "catStrOpeningOutputProfile" and StrOpeningCategory == "SddOpening") { OpeningPrepType = "MARKED" } else if(StrCutOutType == "catStrOpeningStandard" and StrOpeningCategory == "LighteningHole") { let StrContourType(String) set StrContourType = SDD_Opening.ContourType if(StrContourType == "Str_Rect") { OpeningPrepType = "CUT" } else if(StrContourType == "Str_Round") { OpeningPrepType = "MARKED" } } } } } else if(NULL <> SDD_ProdPlate) { let StrPlateMaterial(String) set StrPlateMaterial= SDD_ProdPlate.V_StrMaterial if((StrPlateMaterial.SearchPattern("Steel") == "Steel") OR (StrPlateMaterial.SearchPattern("STEEL") == "STEEL")) { OpeningPrepType = "MARKED" } } else if(NULL <> SDD_ProdStiffenerOnFreeEdge) { let StrSFEMaterial(String) set StrSFEMaterial= SDD_ProdStiffenerOnFreeEdge.V_StrMaterial if((StrSFEMaterial.SearchPattern("Steel") == "Steel") OR (StrSFEMaterial.SearchPattern("STEEL") == "STEEL")) { OpeningPrepType = "MARKED" } } else if(NULL <> SDD_ProdPanel) { let StrPanelMaterial(String) set StrPanelMaterial= SDD_ProdPanel.V_StrMaterial if((StrPanelMaterial.SearchPattern("Steel") == "Steel") OR (StrPanelMaterial.SearchPattern("STEEL") == "STEEL")) { OpeningPrepType = "MARKED" } } Parameters.SetAttributeString("oOpeningPrepType", OpeningPrepType) |