| 
 General InformationThis action rule is invoked when you click Update IPM or Synchronization. It returns Code(String) to retrieve detail feature information in the Profile Detail Table. Input ObjectsInput objects must be of the following type:Parameters correspond to the context object. ExampleThe following example shows how to determine Code(String). You can use this example to make another script in the action rule. let profileProcess(ElementaryEndItem)
let profileIPM(VPMReference) 
let SDDDesignProduct(VPMReference) 
let sddProfileProduct(Structure_Member) 
let sddStiffenerProduct(Structure_Stiffener) 
let sddMemberObj(SddMember)
let sddStiffenerObj(SddStiffener)
let flngThck1(LENGTH)
let webThck1(LENGTH) 
let flngThck2(LENGTH)
let webThck2(LENGTH) 
let ProfileMaterial(String) 
let ProfileSection(String)
let workstationExtn(String)
let weldEfficiencyExtn(String)
let assyProcess(DELFmiFunctionReference)
let webThicknessParm(Feature)
let flangeThicknessParm(Feature)
let webThkVP(ValuePointer)
let flangeThkVP(ValuePointer)
let webThickness(LENGTH)
let flangeThickness(LENGTH)
let ProfileFreeFaceCode(String)
set profileProcess=Parameters.GetAttributeObject("ProfileProcess")
set profileIPM = profileProcess.GetProcessOutput() 
if(NULL <> profileIPM)
{
    set SDDDesignProduct = profileIPM.GetStructureDesignObject()
    if(NULL <> SDDDesignProduct)
    {
        set sddProfileProduct = SDDDesignProduct
        set sddStiffenerProduct = SDDDesignProduct
        if(NULL <> sddProfileProduct)
        {
            sddProfileProduct.GetMember(sddMemberObj)
            ProfileMaterial = sddProfileProduct.V_StrMaterial
            ProfileSection=sddProfileProduct.V_StrSection
            if(sddMemberObj <> NULL)
            {
                sddMemberObj.GetParameter("Tw",webThicknessParm)
                sddMemberObj.GetParameter("Tf",flangeThicknessParm)
                
                set webThkVP=webThicknessParm
                set flangeThkVP = flangeThicknessParm
                
                set webThickness = webThkVP
                set flangeThickness = flangeThkVP
                        
                if(ProfileSection.SearchPattern("WT") == "WT")
                {
                    ProfileFreeFaceCode="S_10_0"
                }
                else if(ProfileSection.SearchPattern("FL") == "FL")
                {
                    if(webThickness > 5mm)
                    {
                        ProfileFreeFaceCode="S_20_0"
                    }
                }                       
            }           
        }
        else if(NULL <> sddStiffenerProduct )
        {
            sddStiffenerProduct.GetStiffener(sddStiffenerObj)
            ProfileMaterial = sddStiffenerProduct.V_StrMaterial
            ProfileSection=sddStiffenerProduct.V_StrSection
            
            sddStiffenerObj.GetParameter("Tw",webThicknessParm)
            sddStiffenerObj.GetParameter("Tf",flangeThicknessParm)
            set webThkVP=webThicknessParm
            set flangeThkVP = flangeThicknessParm
            set webThickness = webThkVP
            set flangeThickness = flangeThkVP
                        
            if(ProfileSection.SearchPattern("WT") == "WT")
            {
                ProfileFreeFaceCode="S_10_0"
            }
            else if(ProfileSection.SearchPattern("FL") == "FL")
            {
                ProfileFreeFaceCode="S_20_0"
            }
        }
    }
}
Parameters.SetAttributeString("Profile_Code", ProfileFreeFaceCode)
 | |||||||||||