Imports System.IO
Imports System.Runtime.InteropServices
Module Example
<STAThread()> _
Sub Main()
Dim objApplication As SolidEdgeFramework.Application = Nothing
Dim objPartDocument As SolidEdgePart.PartDocument = Nothing
Dim objStudyOwner As SolidEdgePart.StudyOwner = Nothing
Dim objStudy As SolidEdgePart.Study = Nothing
Dim objConstraintOwner As SolidEdgePart.ConstraintOwner = Nothing
Dim objConstraint As SolidEdgePart.FEAConstraint = Nothing
Dim objModel As SolidEdgePart.Model = Nothing
Dim objExtProt As SolidEdgePart.ExtrudedProtrusion = Nothing
Dim objEdges As SolidEdgeGeometry.Edges = Nothing
Dim objProxiesArray(1) As Object
Try
OleMessageFilter.Register()
' Connect to Solid Edge
objApplication = Marshal.GetActiveObject("SolidEdge.Application")
objPartDocument = objApplication.ActiveDocument
objStudyOwner = objPartDocument.StudyOwner
objStudy = objStudyOwner.Item(1)
objStudy.GetConstraintOwner(objConstraintOwner)
objConstraint = objConstraintOwner.Item(1)
' Get Model
objModel = objPartDocument.Models.Item(1)
' Get Protrusion.
objExtProt = objModel.ExtrudedProtrusions.Item(1)
' Get Edges Colection
objEdges = objExtProt.Edges(SolidEdgeGeometry.FeatureTopologyQueryTypeConstants.igQueryAll)
' Store edge proxies in vector
objProxiesArray(0) = objEdges.Item(3)
objProxiesArray(1) = objEdges.Item(4)
objConstraint.SetGeometries(objProxiesArray)
Catch ex As Exception
Console.WriteLine(ex.Message)
Finally
OleMessageFilter.Revoke()
End Try
End Sub
End Module