2 Replies Latest reply on Dec 22, 2014 7:30 PM by JOHN GEORGE

    Macro Example from API Help

    JOHN GEORGE

      This is an example macro from API help (Fire event after selection)

      I am not able to run this

      Is there anything wrong with this code

      Someone please help

       

      '------------------------------------
      ' Preconditions:
      ' 1. Part, assembly, or drawing document
      '    is active.
      ' 2. Run this macro (press F5 and click Run).
      '
      ' Postconditions:
      ' 1. Select an entity.
      ' 2. Message box is displayed confirming your
      '    selection.
      '----------------------------------------
      Option Explicit
      Dim swApp As SldWorks.SldWorks
      Dim swModel As SldWorks.ModelDoc2
      Dim partDoc As New Class1
      Dim assemblyDoc As New Class2
      Dim drawingDoc As New Class3
      Sub main()
      Set swApp = Application.SldWorks
      Set swModel = swApp.ActiveDoc
      
      ' Determine the document type, then
      ' execute its corresponding class module
      If swModel.GetType = swDocPART Then
          partDoc.init swModel
      ElseIf swModel.GetType = swDocASSEMBLY Then
          assemblyDoc.init swModel
      ElseIf swModel.GetType = swDocDRAWING Then
          drawingDoc.init swModel
      End If
      End Sub
      
      
      'Class1 module
      
      
      Public WithEvents doc As partDoc
      Public Function init(ByRef docin As Object)
          Set doc = docin
      End Function
      Private Function doc_UserSelectionPostNotify() As Long
          MsgBox "Entity selected in a part document."
      End Function
      
      
      'Class2 module
      
      
      Public WithEvents doc As assemblyDoc
      Public Function init(ByRef docin As Object)
          Set doc = docin
      End Function
      Private Function doc_UserSelectionPostNotify() As Long
          MsgBox "Entity selected in an assembly document."
      End Function
      
      
      'Class3 module
      
      
      Public WithEvents doc As drawingDoc
      Public Function init(ByRef docin As Object)
          Set doc = docin
      End Function
      Private Function doc_UserSelectionPostNotify() As Long
          MsgBox "Entity selected in a drawing document."
      End Function