Solid Edge Assembly Type Library
GetSimplifiedBodies2 Method
Number of bodies.
Array of bodies.
Returns array of doubles.
Description
Returns an array of bodies and an array of transforms for those bodies contained in the simplified assembly model of the occurrence.
Syntax
Visual Basic
Public Sub GetSimplifiedBodies2( _
   ByRef NumBodies As Long, _
   ByRef SimplifiedBodies() As Object, _
   ByRef Transforms() As Variant _
) 
Parameters
NumBodies
Number of bodies.
SimplifiedBodies
Array of bodies.
Transforms
Returns array of doubles.
Example
Imports System.Runtime.InteropServices
Imports System
Imports System.ComponentModel
Public Class GetSimplifiedBodies2

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim objApplication As SolidEdgeFramework.Application = Nothing
        Dim objAssy As SolidEdgeAssembly.AssemblyDocument = Nothing
        Dim objOccs As SolidEdgeAssembly.Occurrences = Nothing
        Dim objOcc As SolidEdgeAssembly.Occurrence = Nothing
        Dim numBodies As Integer = 0
        Dim SimplifiedBodies As System.Array = Array.CreateInstance(GetType(System.Object), 1)
        Dim SimplifiedTransforms As System.Array = Array.CreateInstance(GetType(System.Object), 1)
        Dim currentBody As SolidEdgeGeometry.Body = Nothing
        Dim currentTransform As System.Array = Nothing
        Dim objType As Type = Nothing

        Try
            ' Create/get the application with specific settings
            objApplication = Marshal.GetActiveObject("SolidEdge.Application")

            If objApplication Is Nothing Then
                ' Get the type from the Solid Edge ProgID
                objType = Type.GetTypeFromProgID("SolidEdge.Application")
                ' Start Solid Edge
                objApplication = Activator.CreateInstance(objType)
                ' Make Solid Edge visible
                objApplication.Visible = True
            End If
            'Get reference to active document
            'Here first occurrence of the assembly must be simplified assembly
            objAssy = objApplication.ActiveDocument
            objOccs = objAssy.Occurrences()
            objOcc = objOccs.Item(1)

            objOcc.GetSimplifiedBodies2(numBodies, SimplifiedBodies, SimplifiedTransforms)
            For i As Integer = 0 To numBodies - 1
                currentBody = SimplifiedBodies(i)
                currentTransform = SimplifiedTransforms(i)
                Console.WriteLine(currentBody.Tag)
                For j As Integer = 0 To 15
                    Console.WriteLine(currentTransform(j))
                    Console.WriteLine(vbTab)
                    If (j Mod 4 = 3) Then
                        Console.WriteLine()
                    End If
                Next
            Next

        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            If Not (objApplication Is Nothing) Then
                Marshal.ReleaseComObject(objApplication)
                objApplication = Nothing
            End If
            If Not (objAssy Is Nothing) Then
                Marshal.ReleaseComObject(objAssy)
                objAssy = Nothing
            End If
            If Not (objOccs Is Nothing) Then
                Marshal.ReleaseComObject(objOccs)
                objOccs = Nothing
            End If
            If Not (objOcc Is Nothing) Then
                Marshal.ReleaseComObject(objOcc)
                objOcc = Nothing
            End If
        End Try
    End Sub
End Class
See Also

Occurrence Object  | Occurrence Members