Weld Rules

The action rule enables you to create the weld driven features on each IPM.

This page discusses:

See Also
Opening Rules
Profile Rules
Naming Rules

General Information

This action rule is invoked when you click Update IPM or Synchronization.

It returns Code(String)List and IMP List(VPMReference) to retrieve detail feature information in the Weld 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 WeldType(String)

let fastenProcess(Fasten)
let fastenIPM(VPMReference)

let weldLine(DELStrMfgWeldLine)
let ConnectedObjects(List)

let IPMObjects(List)
let IPMCodes(List) 

let IPM1_Code(String)
let IPM2_Code(String)

let IPM1(VPMReference)
let IPM2(VPMReference)

let connectedProcess1(ElementaryEndItem)
let connectedProcess2(ElementaryEndItem)
   
let connectedProfile1(Structure_Stiffener)
let connectedProfile2(Structure_Stiffener)

let weldFeatures(List)
let mfgWeld(DELStrMfgWeldLine)  
let connectedProcesses(List)
let weldType(String)

set fastenProcess=Parameters.GetAttributeObject("FastenProcess")
if(NULL <> fastenProcess)
{
    set fastenIPM = fastenProcess.GetProcessOutput()
    if(NULL <> fastenIPM)
    {
        set weldFeatures=fastenIPM.GetMfgFeatures("DELStrMfgWeldLine")
        if(weldFeatures.Size() > 0 )
        { 
            set mfgWeld=weldFeatures.GetItem(1)
            if(NULL <> mfgWeld)
            {       
                set connectedProcesses=fastenProcess.GetConnectedProcesses()    
                set connectedProcess1=connectedProcesses.GetItem(1)
                set connectedProcess2=connectedProcesses.GetItem(2)
                if(NULL <> connectedProcess1 and NULL <> connectedProcess2)
                {                           
                    set IPM1=connectedProcess1.GetProcessOutput()
                    set IPM2=connectedProcess2.GetProcessOutput()
                    IPM1_Code="SQ_10_0"
                    IPM2_Code="SQ_10_0"
                    IPMCodes.Append(IPM1_Code)
                    IPMCodes.Append(IPM2_Code)
                    IPMObjects.Append(IPM1)
                    IPMObjects.Append(IPM2)       
                }
            }
        }                                    
    }
}
Parameters.SetAttributeObject("IPM", IPMObjects)
Parameters.SetAttributeObject("Code", IPMCodes)