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 objSplits As SolidEdgePart.Splits = Nothing
Dim objSplit As SolidEdgePart.Split = Nothing
Dim objTargetBodySplit(5) As Object
Dim objToolBodySplit(5) As Object
Dim objTargetBodySplitOut(1) As Object
Dim objToolBodySplitOut(1) As Object
Dim nTargets As Long
Dim nTools As Long
Try
OleMessageFilter.Register()
objApplication = Marshal.GetActiveObject("SolidEdge.Application")
objPartDocument = objApplication.ActiveDocument
objModels = objPartDocument.Models
objTargetBodySplit(0) = objModels.Item(1).Body
objToolBodySplit(0) = objModels.Item(2).Body
objModel = objModels.Item(1)
objSplits = objModel.Splits
objSplit = objSplits.Add(1, objTargetBodySplit, 1, objToolBodySplit,
SolidEdgePart.SETargetDesignBodyOption.igCreateMultipleDesignBodiesOnNonManifoldOption,
SolidEdgePart.SETargetConstructionBodyOption.igCreateMultipleConstructionBodiesOnNonManifoldOption)
objModel.ExtrudedProtrusions.Item(2).RollToFeature()
objTargetBodySplit(0) = objModels.Item(1).Body
objToolBodySplit(0) = objModels.Item(2).Body
objSplit.Edit(1, objTargetBodySplit, 1, objToolBodySplit,
SolidEdgePart.SETargetDesignBodyOption.igCreateMultipleDesignBodiesOnNonManifoldOption,
SolidEdgePart.SETargetConstructionBodyOption.igCreateMultipleConstructionBodiesOnNonManifoldOption)
objSplit.RollToFeature()
objSplit.GetTargets(nTargets, objTargetBodySplitOut)
objSplit.GetTools(nTools, objToolBodySplitOut)
Catch ex As Exception
Console.WriteLine(ex.Message)
Finally
OleMessageFilter.Revoke()
End Try
End Sub
End Module