You can list of all the UDF parameters specify on the instantiated UDF in the second
IPM. Each item in this list can be a list having the parameter name and the parameter value as
required.
For example, to specify a parameter of the name RootGap having a
value 20mm:
The values specify in the above parameters apply on the generated bevel UDF in the IPMs
during an Update IPM.
An example of a weld business rule, with specified Bevel UDF parameters as
required:
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)
let IPM1BevelUDFParams(List)
let IPM2BevelUDFParams(List)
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)
let IPM1BevelUDFParamItem1(List)
let IPM1BevelParamItem1Name(String)
IPM1BevelParamItem1Name="RootGap"
let IPM1BevelParamItem1Value(LENGTH)
set IPM1BevelParamItem1Value=10mm
IPM1BevelUDFParamItem1.Append(IPM1BevelParamItem1Name)
IPM1BevelUDFParamItem1.Append(IPM1BevelParamItem1Value)
IPM1BevelUDFParams.Append(IPM1BevelUDFParamItem1)
let IPM1BevelUDFParamItem2(List)
let IPM1BevelParamItem2Name(String)
IPM1BevelParamItem2Name="EdgePrepSide"
let IPM1BevelParamItem2Value(String)
IPM1BevelParamItem2Value="Molded"
IPM1BevelUDFParamItem2.Append(IPM1BevelParamItem2Name)
IPM1BevelUDFParamItem2.Append(IPM1BevelParamItem2Value)
IPM1BevelUDFParams.Append(IPM1BevelUDFParamItem2)
let IPM2BevelUDFParamItem1(List)
let IPM2BevelParamItem1Name(String)
IPM2BevelParamItem1Name="RootGap"
let IPM2BevelParamItem1Value(LENGTH)
set IPM2BevelParamItem1Value=20mm
IPM2BevelUDFParamItem1.Append(IPM2BevelParamItem1Name)
IPM2BevelUDFParamItem1.Append(IPM2BevelParamItem1Value)
IPM2BevelUDFParams.Append(IPM2BevelUDFParamItem1)
let IPM2BevelUDFParamItem2(List)
let IPM2BevelParamItem2Name(String)
IPM2BevelParamItem2Name="EdgePrepSide"
let IPM2BevelParamItem2Value(String)
IPM1BevelParamItem2Value="Thick"
IPM2BevelUDFParamItem2.Append(IPM2BevelParamItem2Name)
IPM2BevelUDFParamItem2.Append(IPM2BevelParamItem2Value)
IPM2BevelUDFParams.Append(IPM2BevelUDFParamItem2)
}
}
}
}
}
Parameters.SetAttributeObject("IPM", IPMObjects)
Parameters.SetAttributeObject("Code", IPMCodes)
Parameters.SetAttributeObject("IPM1BevelUDFParams", IPM1BevelUDFParams)
Parameters.SetAttributeObject("IPM2BevelUDFParams", IPM2BevelUDFParams)