Get Type of Instant3D Feature (VBA)
This example shows how to get the types of underlying features of Instant3D
features.
'-----------------------------------------------------
' Preconditions:
' 1. Specified file exists.
' 2. Open the Immediate window.
' 3. Run the macro.
'
' Postconditions:
' 1. The FeatureManager design tree is traversed.
' 2. The types of features are printed to the
' Immediate window, including the types
' of underlying features of Instant3D features.
'-----------------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swFeature As SldWorks.Feature
Dim fileName As String
Dim errors As Long
Dim warnings As Long
Sub main()
Set swApp = Application.SldWorks
fileName = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\tutorial\api\block.sldprt"
Set swModel = swApp.OpenDoc6(fileName, swDocPART, swOpenDocOptions_Silent, "", errors, warnings)
Set swFeature = swModel.FirstFeature
Call SelectFeat(swFeature)
End Sub
Public Function SelectFeat(featureTemp As SldWorks.Feature) As Boolean
While Not featureTemp Is Nothing
Dim featureName As String
featureName = featureTemp.GetTypeName2
Debug.Print featureName
' Instant3D features are ICE features
' To get the types of Instant3D features, call
' IFeature::GetTypeName
If featureName = "ICE" Then
Debug.Print " " & featureTemp.GetTypeName
End If
Set featureTemp = featureTemp.GetNextFeature
Wend
End Function