Get Area Hatch Data Example (VB.NET)
This example shows how to get the data about an area hatch in a drawing.
'----------------------------------------------------------------------------
' Preconditions:
' 1. Verify that the specified model document exists.
' 2. Open an Immediate window.
'
' Postconditions:
' 1. Hatches a face in the drawing.
' 2. Inspect the Immediate window.
'
' NOTE: Because the model is used elsewhere, do not save changes.
'---------------------------------------------------------------------------
Imports SolidWorks.Interop.sldworks
Imports SolidWorks.Interop.swconst
Imports System.Runtime.InteropServices
Imports System
Imports System.Diagnostics
Partial Class SolidWorksMacro
Dim swModel As ModelDoc2
Dim swSelMgr As SelectionMgr
Dim swView As View
Dim swSketch As Sketch
Dim vSketchHatch As Object
Dim swSketchHatch As SketchHatch
Dim swFace As Face2
Dim vID As Object
Dim i As Integer
Dim bRet As Boolean
Dim longstatus As Integer, longwarnings As Integer
Sub main()
swModel = swApp.OpenDoc6("C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\samples\tutorial\api\box.slddrw", swDocumentTypes_e.swDocDRAWING, 0, "", longstatus, longwarnings)
swApp.ActivateDoc2("box - Sheet1", False, longstatus)
swModel = swApp.ActiveDoc
bRet = swModel.Extension.SelectByID2("", "FACE", 0.246685509728212, 0.236217308689246, 0.0149999999999864, True, 0, Nothing, 0)
swModel.InsertHatchedFace()
swModel.ClearSelection2(True)
bRet = swModel.Extension.SelectByID2("Drawing View1", "DRAWINGVIEW", 0, 0, 0, False, 0, Nothing, 0)
swSelMgr = swModel.SelectionManager
swView = swSelMgr.GetSelectedObject6(1, -1)
swSketch = swView.GetSketch
swModel.EditSketch()
swModel.ClearSelection2(True)
Debug.Print("File = " & swModel.GetPathName)
Debug.Print(" " & swView.Name)
vSketchHatch = swSketch.GetSketchHatches
If Not IsNothing(vSketchHatch) Then
For i = 0 To UBound(vSketchHatch)
swSketchHatch = vSketchHatch(i)
swFace = swSketchHatch.GetFace
bRet = swSketchHatch.Select4(True, Nothing)
vID = swSketchHatch.GetID
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(" Layer override? " & swSketchHatch.LayerOverride)
Debug.Print(" Pattern: " & swSketchHatch.Pattern)
Debug.Print(" Scale: " & swSketchHatch.Scale2)
Debug.Print(" Solid fill? " & swSketchHatch.SolidFill)
Next i
End If
End Sub
''' <summary>
''' The SldWorks swApp variable is pre-assigned for you.
''' </summary>
Public swApp As SldWorks
End Class