Solid Edge Part Type Library
GetTools Method
Description
Syntax
Visual Basic
Public Sub GetTools( _
   ByRef NumofTools As Long, _
   ByRef ToolsArray() As Object, _
   ByRef DirectionArray() As SESubtractDirection _
) 
Parameters
NumofTools
ToolsArray
DirectionArray
ValueDescription
igSubtractDirectionLeft
igSubtractDirectionNone
igSubtractDirectionRight
Example
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 objSubtracts As SolidEdgePart.Subtracts = Nothing
        Dim objSubtract As SolidEdgePart.Subtract = Nothing
        Dim objTargetBodySubtract(2) As Object
        Dim objToolBodySubtract(3) As Object
        Dim objToolDirectionArray(3) As SolidEdgePart.SESubtractDirection
        Dim objTargetBodySubtractOut(1) As Object
        Dim objToolBodySubtractOut(2) As Object
        Dim objToolDirectionArrayOut(2) As SolidEdgePart.SESubtractDirection
        Dim nTargets As Long
        Dim nTools As Long

        Try
            OleMessageFilter.Register()

            objApplication = Marshal.GetActiveObject("SolidEdge.Application")
            objPartDocument = objApplication.ActiveDocument

            objModels = objPartDocument.Models

            objTargetBodySubtract(0) = objModels.Item(1).Body
            objToolBodySubtract(0) = objModels.Item(2).Body
            objToolBodySubtract(1) = objModels.Item(3).Body
            objToolDirectionArray(0) = SolidEdgePart.SESubtractDirection.igSubtractDirectionNone
            objToolDirectionArray(1) = SolidEdgePart.SESubtractDirection.igSubtractDirectionNone

            objModel = objModels.Item(1)
            objSubtracts = objModel.Subtracts

            objSubtract = objSubtracts.Add(1, objTargetBodySubtract, 2, objToolBodySubtract, objToolDirectionArray,
                                                          SolidEdgePart.SETargetDesignBodyOption.igCreateMultipleDesignBodiesOnNonManifoldOption,
                                                        SolidEdgePart.SETargetConstructionBodyOption.igCreateMultipleConstructionBodiesOnNonManifoldOption)

            objModel.ExtrudedProtrusions.Item(3).RollToFeature()

            objTargetBodySubtract(0) = objModels.Item(1).Body
            objToolBodySubtract(0) = objModels.Item(2).Body
            objToolBodySubtract(1) = objModels.Item(2).Body
            objToolDirectionArray(0) = SolidEdgePart.SESubtractDirection.igSubtractDirectionNone
            objToolDirectionArray(1) = SolidEdgePart.SESubtractDirection.igSubtractDirectionNone

            objSubtract.Edit(1, objTargetBodySubtract, 1, objToolBodySubtract, objToolDirectionArray,
                                                          SolidEdgePart.SETargetDesignBodyOption.igCreateMultipleDesignBodiesOnNonManifoldOption,
                                                        SolidEdgePart.SETargetConstructionBodyOption.igCreateMultipleConstructionBodiesOnNonManifoldOption)

            objSubtract.RollToFeature()
            objSubtract.GetTargets(nTargets, objTargetBodySubtractOut)
            objSubtract.GetTools(nTools, objToolBodySubtractOut, objToolDirectionArrayOut)
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        Finally
            OleMessageFilter.Revoke()
        End Try
    End Sub
End Module
See Also

Subtract Object  | Subtract Members  | Solid Edge ST5 - What's New