Profile Rules

This action rule enables you to create the features on profile.

This page discusses:

See Also
Opening Rules
Naming Rules
Weld Rules

General Information

This 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 Objects

Input objects must be of the following type:

Parameters correspond to the context object.

Example

The 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)