Fire Events When Dragging Instant3D Manipulator in an Assembly Example
(VB.NET)
This example shows how to fire events when dragging an Instant3D manipulator
in an assembly document.
'------------------------------------
' Preconditions:
' 1. Open an assembly document.
' 2. Open the Immediate window.
' 3. Run this macro (press F5).
' NOTE:
Instant3D is enabled by the macro.
'
' Postconditions:
' 1.
Select an Instant3D manipulator in the
' open
assembly by right-clicking a floating
' assembly
component, clicking the down arrows
' at
the bottom of the shortcut menu, and selecting
' "Move
with Triad". Drag the Instant3D handle
' to
move the assembly component. A debug statement is
' written
to the Immediate window informing you that
' dragging
of an Instant3D manipulator has started.
' 2.
Stop dragging the manipulator.
' A
debug statement is written to the Immediate
' window
informing you that dragging of
' an
Instant3D manipulator has stopped.
'----------------------------------------
Imports SolidWorks.Interop.sldworks
Imports SolidWorks.Interop.swconst
Imports System
Imports System.Collections
Imports System.Diagnostics
Partial Class SolidWorksMacro
Public
WithEvents pDoc As AssemblyDoc
Public
Sub main()
Dim
swModel As ModelDoc2
Dim
swFeatMgr As FeatureManager
Dim
openAssembly As Hashtable
swModel
= swApp.ActiveDoc
'
Enable Instant3D
swFeatMgr
= swModel.FeatureManager
swFeatMgr.MoveSizeFeatures = True
'
Execute events
pDoc
= swModel
openAssembly
= New Hashtable
AttachEventHandlers()
End
Sub
Sub
AttachEventHandlers()
AttachSWEvents()
End
Sub
Sub
AttachSWEvents()
If
Not pDoc Is Nothing Then
AddHandler
pDoc.DragStateChangeNotify, AddressOf
Me.pDoc_DragStateChangeNotify
End
If
End
Sub
Private
Function pDoc_DragStateChangeNotify(ByVal
State As Boolean) As Integer
'
Write debug statement when dragging of manipulator started and stopped
If
State = True Then
Debug.Print("Dragging
of manipulator started.")
Else
Debug.Print("Dragging
of manipulator stopped.")
End
If
End
Function
'''
<summary>
'''
The SldWorks swApp variable is pre-assigned for you.
'''
</summary>
Public
swApp As SldWorks
End Class