Get Face Hatch Data Example (VBA)
This example shows how to get the number of face hatches in a standard
or derived (detail, section, projected, broken, etc.) drawing view and data.
'------------------------------------------------
' Preconditions:
' 1. Drawing is open.
' 2. Standard or derived view is selected.
' 3. Run the macro (press F5).
'
' Postconditions: Examine the Immediate window to see
' the
results.
'--------------------------------------------------
Option Explicit
Sub main()
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
SldWorks.ModelDoc2
Dim
swSelMgr As
SldWorks.SelectionMgr
Dim
swView As
SldWorks.View
Dim
vFaceHatch As
Variant
Dim
swFaceHatch As
SldWorks.FaceHatch
Dim
i As
Long
Set
swApp = CreateObject("SldWorks.Application")
Set
swModel = swApp.ActiveDoc
Set
swSelMgr = swModel.SelectionManager
Set
swView = swSelMgr.GetSelectedObject6(1,
-1)
Debug.Print
"View =
" & swView.Name
Debug.Print
" Type
= " & swView.Type
vFaceHatch
= swView.GetFaceHatches
If
IsEmpty(vFaceHatch) Then
Debug.Print
" No
face hatches in selected view."
Exit
Sub
End
If
Debug.Print
" Number
of face hatches in this view = " & (UBound(vFaceHatch) + 1)
If
Not IsEmpty(vFaceHatch) Then
Debug.Print
" Face
hatches ="
Debug.Print
""
For
i = 0 To UBound(vFaceHatch)
Set
swFaceHatch = vFaceHatch(i)
'
Get face hatch data
Debug.Print
" Angle
=
" & swFaceHatch.Angle
* 57.3 & " degrees"
Debug.Print
" Color
=
" & swFaceHatch.Color
Debug.Print
" Definition
=
" + swFaceHatch.Definition
Debug.Print
" Layer
=
" & swFaceHatch.Layer
Debug.Print
" Pattern
=
" + swFaceHatch.Pattern
Debug.Print
" Scale
=
" & swFaceHatch.Scale2
Debug.Print
" SolidFill
=
" & swFaceHatch.SolidFill
Debug.Print
" Material
crosshatch = " & swFaceHatch.UseMaterialHatch
Debug.Print
" -----------------------"
Next
i
End
If
End Sub