Get Area Hatch Data Example (VBA)
This example shows how to get the data about an area hatch for a closed
sketch.
'---------------------------------------
'
' Preconditions:
' (1)
Drawing document is open.
' (2)
Drawing view is selected.
' (3)
Drawing view contains a closed sketch
' to
which an area hatch is applied.
'
' Postconditions: None
'
'---------------------------------------
Option Explicit
Sub main()
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
SldWorks.ModelDoc2
Dim
swDraw As
SldWorks.DrawingDoc
Dim
swSelMgr As
SldWorks.SelectionMgr
Dim
swView As
SldWorks.view
Dim
swSketch As
SldWorks.sketch
Dim
vSketchHatch As
Variant
Dim
swSketchHatch As
SldWorks.SketchHatch
Dim
swFace As
SldWorks.face2
Dim
vID As
Variant
Dim
i As
Long
Dim
bRet As
Boolean
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swSelMgr = swModel.SelectionManager
Set
swView = swSelMgr.GetSelectedObject5(1)
Set
swSketch = swView.GetSketch
'
Required to select sketch hatches
swModel.EditSketch
swModel.ClearSelection2 True
Debug.Print
"File = " & swModel.GetPathName
Debug.Print
" "
& swView.Name
vSketchHatch
= swSketch.GetSketchHatches
If
Not IsEmpty(vSketchHatch) Then
For
i = 0 To UBound(vSketchHatch)
Set
swSketchHatch = vSketchHatch(i)
Set
swFace = swSketchHatch.GetFace
bRet
= swSketchHatch.Select2(True,
0): Debug.Assert bRet
vID
= swSketchHatch.GetID
'
Sketch hatch data
Debug.Print
" HatchID("
& i & ") = [" & vID(0) & "," &
vID(1) & "]"
Debug.Print
" Angle
=
" & swSketchHatch.angle
Debug.Print
" Color
=
" & swSketchHatch.Color
Debug.Print
" Layer
=
" & swSketchHatch.Layer
Debug.Print
" LayerOverride
= "
& swSketchHatch.LayerOverride
Debug.Print
" Pattern
=
" & swSketchHatch.Pattern
Debug.Print
" Scale
=
" & swSketchHatch.Scale2
Next
i
End
If
End Sub
'---------------------------------------