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 objModels As SolidEdgePart.Models = Nothing
Dim objModel As SolidEdgePart.Model = Nothing
Dim objUnions As SolidEdgePart.Unions = Nothing
Dim objUnion As SolidEdgePart.Union = Nothing
Dim objTargetBodyunion(5) As Object
Dim objToolBodyunion(5) As Object
Dim objTargetBodyunionout(1) As Object
Dim nTargets As Long
Try
OleMessageFilter.Register()
objApplication = Marshal.GetActiveObject("SolidEdge.Application")
objPartDocument = objApplication.ActiveDocument
' get the Model collection
objModels = objPartDocument.Models
objTargetBodyunion(0) = objModels.Item(1).Body
objToolBodyunion(0) = objModels.Item(2).Body
objToolBodyunion(1) = objModels.Item(3).Body
objToolBodyunion(2) = objModels.Item(4).Body
objModel = objModels.Item(1)
objUnions = objModel.Unions
objUnion = objUnions.Add(1, objTargetBodyunion, 3, objToolBodyunion,
SolidEdgePart.SETargetDesignBodyOption.igCreateMultipleDesignBodiesOnNonManifoldOption,
SolidEdgePart.SETargetConstructionBodyOption.igCreateMultipleConstructionBodiesOnNonManifoldOption)
objModel.ExtrudedProtrusions.Item(4).RollToFeature()
objTargetBodyunion(0) = objModels.Item(1).Body
objToolBodyunion(0) = objModels.Item(2).Body
objToolBodyunion(1) = objModels.Item(3).Body
'objToolBodyunion(2) = objModels.Item(4).Body
objUnion.Edit(1, objTargetBodyunion, 2, objToolBodyunion,
SolidEdgePart.SETargetDesignBodyOption.igCreateMultipleDesignBodiesOnNonManifoldOption,
SolidEdgePart.SETargetConstructionBodyOption.igCreateMultipleConstructionBodiesOnNonManifoldOption)
objUnion.RollToFeature()
objUnion.GetTargets(nTargets, objTargetBodyunionout)
Catch ex As Exception
Console.WriteLine(ex.Message)
Finally
OleMessageFilter.Revoke()
End Try
End Sub
End Module