hello
I got this macro from solidworks api help of the sketch region
Determine if Sketch Contour or Sketch Region Example (VBA)
This example shows how to determine if the object is a sketch contour or a sketch feature. It also shows how to use the TypeOf keyword to determine the type of object in a given position in an array.
'---------------------------------------
'
' Preconditions:
' (1) Part document is open.
' (2) Part contains a base sketch with multiple sketch regions or sketch
' contours or both.
' (3) Extrude1 feature was created using sketch regions or
' sketch contours of base sketch.
'
' Postconditions: None
'
'--------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.PartDoc
Dim boolstatus As Boolean
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Extrude1", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, swSelectOptionDefault)
'Extrude3 is an extruded feature that has a combination of multiple
'contours and multiple regions selected in its base sketch.
Dim Extrudefeature As SldWorks.feature
Dim Extrudefeature_DEF As SldWorks.ExtrudeFeatureData2
Dim SelMgr As SldWorks.SelectionMgr
Dim ContourArray As Variant
Set SelMgr = Part.SelectionManager
Set Extrudefeature = SelMgr.GetSelectedObject5(1)
Set Extrudefeature_DEF = Extrudefeature.GetDefinition
Extrudefeature_DEF.AccessSelections Part, Nothing
ContourArray = Extrudefeature_DEF.Contours
Extrudefeature_DEF.ReleaseSelectionAccess
Dim SR As SketchRegion
Dim SC As SketchContour
ContourArray(0).Select False, 0
Debug.Print TypeName(ContourArray(0))
If TypeOf ContourArray(0) Is SketchRegion Then
Debug.Print "Object is SketchRegion"
Set SR = ContourArray(0)
Else
Debug.Print "Object is SketchContour"
Set SC = ContourArray(0)
End If
End Sub
--------------------------------------------------------------------------------------
first question : Are we able to select variable of varient ?? ( select that in red line)
second question : when the macro arrives to " typeof " ( the blue line ) gives Error 13 ( type mismatch) . WHY ?????
thanks .