Fire Events When Dragging Instant3D Manipulator in a Part Example
(VBA)
This example shows how to fire events when dragging an Instant3D manipulator
in a part document.
Main module
'------------------------------------
' Preconditions:
' 1. Open a part document.
' 2. Open the Immediate window.
' 3. Run this macro (press F5 and click Run).
' NOTE: Instant3D is enabled by the macro.
'
' Postconditions:
' 1. Select an Instant3D manipulator in the
' open part. For example,
' double-click an extrude feature in a part,
' then select one of the Instant3D manipulators
' and drag it. 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 partDoc 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
partDoc.init swModel
End Sub
Back to top
Class1 module
Public WithEvents doc As partDoc
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