Get Features of Multibody Sheet Metal Part Example (VBA)
This example shows how to get the number and names of the features in the
cut-list folder in
a multibody sheet metal part.
'---------------------------------------------------------------------------
' Preconditions:
' 1. Open a multibody sheet metal part.
' 2. Open the Immediate window.
'
' Postconditions:
' 1. Gets the number and names of the features in the cut-list folder
' in a multibody sheet metal part.
' 2. Examine the Immediate window.
'--------------------------------------------------------------------------
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swFeatMgr As SldWorks.FeatureManager
Dim swFeat As SldWorks.Feature
Dim swBodyFolder As SldWorks.BodyFolder
Dim swBody As Body2
Dim FeatType As String
Dim FeatTypeName As String
Dim NbrOfBodies As Long
Dim Bodies As Variant
Dim Features As Variant
Dim i As Long
Dim j As Long
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swFeatMgr = swModel.FeatureManager
Set swFeat = swModel.FirstFeature
Do While Not swFeat Is Nothing
FeatType = swFeat.Name
FeatTypeName = swFeat.GetTypeName2
Debug.Print " " & FeatType & " [" & FeatTypeName & "]"
If FeatTypeName = "CutListFolder" Then
Set swBodyFolder = swFeat.GetSpecificFeature2
swBodyFolder.SetAutomaticCutList True
swBodyFolder.SetAutomaticUpdate True
Bodies = swBodyFolder.GetBodies
Debug.Print " Number of bodies: " & swBodyFolder.GetBodyCount
Debug.Print " Cut list type: " & swBodyFolder.GetCutListType
Debug.Print " Generate cut list automatically? " & swBodyFolder.GetAutomaticCutList
Debug.Print " Automatically update cut list? " & swBodyFolder.GetAutomaticUpdate
For i = 0 To (swBodyFolder.GetBodyCount - 1)
Set swBody = Bodies(i)
Features = swBody.GetFeatures
Debug.Print " Number of features in body #" & i + 1 & ": " & swBody.GetFeatureCount
For j = 0 To (swBody.GetFeatureCount - 1)
Debug.Print " Name of feature: " & Features(j).GetTypeName2
Next j
Next i
End If
Set swFeat = swFeat.GetNextFeature
Loop
End Sub