Select Silhouette Edge Attached to Note Example (VBA)
This example shows how to select a silhouette edge attached to a note in a
drawing.
'-------------------------------------------
' Preconditions:
' 1. Open the Immediate window.
' 2. Run the macro.
'
' Postconditions:
' 1. Opens the specified drawing document.
' 2. Activates Drawing View1.
' 3. Gets the note in Drawing View1
' and the silhouette edge to which
' the note is attached.
' 4. Prints a message to Immediate window
' indicating that the silhouette edge
' to which the note is attached is selected.
' 5. Examine the Immediate window to verify.
' 6. Close the Drawing View1 PropertyManager page
' and close the drawing document.
'---------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDrawing As SldWorks.DrawingDoc
Dim swView As SldWorks.View
Dim swSilhouetteEdge As SldWorks.SilhouetteEdge
Dim swNote As SldWorks.Note
Dim swAnnotation As SldWorks.Annotation
Dim status As Boolean
Dim errors As Long
Dim warnings As Long
Dim fileName As String
Dim params As Variant
Dim obj As Variant
Sub main()
Set swApp = Application.SldWorks
fileName = "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\samples\tutorial\api\cylinder20.SLDDRW"
Set swModel = swApp.OpenDoc6(fileName, swDocumentTypes_e.swDocDRAWING, swOpenDocOptions_e.swOpenDocOptions_Silent, "", errors, warnings)
Set swDrawing = swModel
status = swDrawing.ActivateView("Drawing View1")
Set swView = swDrawing.ActiveDrawingView
' Get note and any attached entities
Set swNote = swView.GetFirstNote
Set swAnnotation = swNote.GetAnnotation
params = swAnnotation.GetAttachedEntities3
' Select the silhouette edge to which the note is attached
For Each obj In params
Set swSilhouetteEdge = obj
status = swSilhouetteEdge.Select2(False, Nothing)
If status Then
Debug.Print ("Silhouette edge selected.")
End If
Next
End Sub