Solid Edge Part Type Library
RecognizeAndCreateHoleGroups Method
Description
Recognizes and Creates a Synchronous Hole feature in the model.
Syntax
Visual Basic
Public Sub RecognizeAndCreateHoleGroups( _
   ByVal NumberofEntities As Long, _
   ByRef EntityArray() As Object, _
   ByRef NumberOfHoles As Long, _
   ByRef Holes() As Object _
) 
Parameters
NumberofEntities
EntityArray
NumberOfHoles
Holes
Remarks
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 objModelBody As SolidEdgeGeometry.Body = Nothing
        Dim objFaces As SolidEdgeGeometry.Faces = Nothing
        Dim objFaceOrBody(1) As Object
        Dim NumBodies As Integer
        Dim NumHoles As Integer
        Dim NumFaces As Integer
        Dim objRecognizedHoles(9) As Object

        Try
            OleMessageFilter.Register()

            objApplication = Marshal.GetActiveObject("SolidEdge.Application")
            objPartDocument = objApplication.ActiveDocument
            objPartDocument.ModelingMode = SolidEdgePart.ModelingModeConstants.seModelingModeSynchronous
            objModels = objPartDocument.Models
            objModel = objModels.Item(1)
            objModelBody = objModel.Body

            'We can have three ways of recognition

            '1 - Body Base Recognition
            objFaceOrBody(0) = objModelBody
            NumBodies = 1
            objModel.Holes.RecognizeAndCreateHoleGroups(NumBodies, objFaceOrBody, NumHoles, objRecognizedHoles)

            '2 - Active Working Body Case
            objModel.Holes.RecognizeAndCreateHoleGroups(0, objFaceOrBody, NumHoles, objRecognizedHoles)

            '3 - Face Base Recognition
            objFaces = objModelBody.Faces(SolidEdgeGeometry.FeatureTopologyQueryTypeConstants.igQueryAll)

            objFaceOrBody(0) = objFaces.Item(5)
            objFaceOrBody(1) = objFaces.Item(6)
            NumFaces = 2

            objModel.Holes.RecognizeAndCreateHoleGroups(NumFaces, objFaceOrBody, NumHoles, objRecognizedHoles)

        Catch ex As Exception
            Console.WriteLine(ex.Message)
        Finally
            OleMessageFilter.Revoke()
        End Try
    End Sub
End Module
See Also

Holes Collection  | Holes Members  | Solid Edge ST5 - What's New

Send comments on this topic.