Selective Open Post-Notify Event Example (VB.NET)
This example shows how to handle the post-notification event that fires when
components are selected for Quick View/Selective Open.
'------------------------------------------------------
' Preconditions: Specified
file to open exists.
'
' Postconditions:
' 1.
When prompted, select components to open.
' 2.
A message box displays (look in the taskbar for the hidden dialog).
' 3.
Click OK.
' 4.
Only the selected components display.
' 5.
Inspect the Immediate Window.
'------------------------------------------------------
Imports SolidWorks.Interop.sldworks
Imports SolidWorks.Interop.swconst
Imports System
Partial Class SolidWorksMacro
Public
WithEvents swAssembly As AssemblyDoc
Public
Sub main()
swApp.SetUserPreferenceToggle(swUserPreferenceToggle_e.swStopDebuggingVstaOnExit,
False)
Dim
swModel As ModelDoc2
Dim
swDocSpecification As DocumentSpecification
swDocSpecification
= swApp.GetOpenDocSpec("C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\samples\tutorial\advdrawings\bowl
and chute.sldasm")
swDocSpecification.InteractiveComponentSelection
= True
swDocSpecification.DocumentType
= swDocumentTypes_e.swDocASSEMBLY
swModel
= swApp.OpenDoc7(swDocSpecification)
swModel
= swApp.ActiveDoc
swAssembly
= swModel
'
Set up event
AttachEventHandlers()
End
Sub
Sub
AttachEventHandlers()
AttachSWEvents()
End
Sub
Sub
AttachSWEvents()
AddHandler
swAssembly.SelectiveOpenPostNotify, AddressOf Me.swAssembly_SelectiveOpenPostNotify
End
Sub
Public
Function swAssembly_SelectiveOpenPostNotify(ByVal
NewAddedDisplayStateName As String, ByRef SelectedComponentNames As Object)
As Integer
MsgBox("A
post-notification event has been fired for the selective open.")
System.Diagnostics.Debug.Print("New
display state name: " & NewAddedDisplayStateName)
System.Diagnostics.Debug.Print("Selected
component names:")
Dim
i As Long
For
i = 0 To UBound(SelectedComponentNames)
System.Diagnostics.Debug.Print("
"
& SelectedComponentNames(i))
Next
swApp.SetUserPreferenceToggle(swUserPreferenceToggle_e.swStopDebuggingVstaOnExit,
True)
End
Function
Public
swApp As SldWorks
End Class