Solid Edge Part Type Library
RollToFeature Method
Description
Rolls the referenced Model object back to a specified feature.
Syntax
Visual Basic
Public Sub RollToFeature() 
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

        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()

        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