Fire Events When Dragging Instant3D Manipulator in an Assembly Example
(VBA)
This example shows how to fire events when dragging an Instant3D manipulator
in an assembly document.
Main module
'------------------------------------
' Preconditions:
' 1. Open an assembly document.
' 2. Open the Immediate window.
' 3. Run the macro (press F5 and click
Run).
' 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.
'----------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swFeatMgr As SldWorks.FeatureManager
Dim assemblyDoc As New Class1
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
' Enable Instant3D
Set swFeatMgr = swModel.FeatureManager
swFeatMgr.MoveSizeFeatures
= True
' Execute its class module
assemblyDoc.init swModel
End Sub
Back to top
Class1 module
Public WithEvents doc As assemblyDoc
Public Function init(ByRef docIn As Object)
Set
doc = docIn
End Function
Private Function doc_DragStateChangeNotify(ByVal
State As Boolean) As Long
'
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
Back to top