Solid Edge Part Type Library
OptimizationOwner Object
Members 
Description
Optimization Owner Interface
Object Model
OptimizationOwner ObjectOptimization Object
Example
Imports System.Runtime.InteropServices
Public Class Form1
    

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim objApplication As SolidEdgeFramework.Application = Nothing
        Dim objDocument As SolidEdgePart.PartDocument = Nothing
        Dim objPartDoc As SolidEdgePart.PartDocument = Nothing
        Dim objModel As SolidEdgePart.Model = Nothing
        Dim objStudyOwner As SolidEdgePart.StudyOwner = Nothing
        Dim objStudy As SolidEdgePart.Study = Nothing
        Dim objFEAOptimizationOwner As SolidEdgePart.OptimizationOwner = Nothing
        Dim objOptimization As SolidEdgePart.Optimization = Nothing

        Try
            ' Get Application Object.
            objApplication = Marshal.GetActiveObject("SolidEdge.Application")
            objDocument = objApplication.ActiveDocument
            objStudyOwner = objDocument.StudyOwner
            objStudy = objStudyOwner.Item(1)
            Call objStudy.GetOptimizationOwner(objFEAOptimizationOwner)
            'objOptimization = objFEAOptimizationOwner.Item(1)
            objFEAOptimizationOwner.AddOptimization(objOptimization)

            Dim strName As String = Nothing
            Dim objType As SolidEdgePart.FEADesObjType_Auto
            Dim objActionType As SolidEdgePart.FEADesObjAction_Auto
            Dim objValueType As SolidEdgePart.FEADesObjValueType_Auto
            Dim objeLLBType As SolidEdgePart.FEADesBoundType_Auto
            Dim objeLUBType As SolidEdgePart.FEADesBoundType_Auto
            Dim objVarType As SolidEdgePart.FEADesignVarType_Auto
           
            Dim dblVal, dblVal2, dblVal3, dblVal4 As Double
            Dim intNumDesLimits As Integer
            Dim intIterations, boolSaveRes As Integer
            Dim objIterationOwner As SolidEdgePart.IterationOwner = Nothing
            Dim objIteration As SolidEdgePart.Iteration = Nothing

            objOptimization.GetDesignObjective(strName, objType, objActionType, objValueType, dblVal, dblVal2)
            objOptimization.SetDesignObjective("Mass", SolidEdgePart.FEADesObjType_Auto.eDesObjTypeMass_Auto, SolidEdgePart.FEADesObjAction_Auto.eDesObjActionMin_Auto, SolidEdgePart.FEADesObjValueType_Auto.eDesObjValueTypeMin_Auto, 1000.0)
            objOptimization.AddDesignLimit("Surface Area", 64902.0, 77500.0, SolidEdgePart.FEADesObjType_Auto.eDesObjTypeSurfArea_Auto, SolidEdgePart.FEADesBoundType_Auto.eFEADesBoundTypeNone_Auto, SolidEdgePart.FEADesBoundType_Auto.eFEADesBoundTypeValue_Auto, SolidEdgePart.FEADesObjValueType_Auto.eDesObjValueypeMax_Auto)
            objOptimization.RemoveDesignLimit("Surface Area")
            objOptimization.GetNumberOfDesignLimits(intNumDesLimits)
            objOptimization.GetDesignLimit(1, strName, dblVal, dblVal2, objType, objeLLBType, objeLUBType, objValueType, dblVal3)
            'What is pVariable
            Dim objVar As Object = Nothing
            objOptimization.AddDesignVariable("ExtrudedProtrusion_1_FiniteDepth", 80.0, 100.0, SolidEdgePart.FEADesignVarType_Auto.eFEADesignVarTypeDim_Auto, SolidEdgePart.FEADesBoundType_Auto.eFEADesBoundTypeValue_Auto, SolidEdgePart.FEADesBoundType_Auto.eFEADesBoundTypeValue_Auto, objVar)
            objOptimization.RemoveDesignVariable(objVar)
            objOptimization.GetDesignVariable(1, strName, dblVal, dblVal2, objVarType, objeLUBType, objeLLBType, dblVal3)
            objOptimization.SetDesignControlParameters(20, 1)
            objOptimization.GetDesignControlParameters(intIterations, boolSaveRes)
            objOptimization.SetDesignConvergenceParameters(0.0, 2.5, 0.001, 0.2)
            objOptimization.GetDesignConvergenceParameters(dblVal, dblVal2, dblVal3, dblVal4)
            objOptimization.OptimizeModel()
            objOptimization.ResetGeometry()
            objOptimization.GetIterationOwner(objIterationOwner)


        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

End Class
See Also

OptimizationOwner Members