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