wangjunqiang19820714 2018-10-31 06:22 采纳率: 0%
浏览 625
已结题

关于SolidworksAPI中swSelectType_e Enumeration 的问题?

在SolidWorksAPI中swSelectType_e Enumeration 到底是做什么用的?
如何在实践代码中运用这个swSelectType_e Enumeration ?
下面是看到的一个例子,但是不太明白是什么意思,希望可以指点迷津。
Imports SolidWorks.Interop.sldworks

Imports SolidWorks.Interop.swconst

Imports System

Imports System.Collections

Imports System.Diagnostics

Partial Class SolidWorksMacro

Public WithEvents pDoc As PartDoc

Public WithEvents aDoc As AssemblyDoc

Public WithEvents dDoc As DrawingDoc



Public Sub main()



    Dim swModel As ModelDoc2

    Dim openPart As Hashtable

    Dim openAssembly As Hashtable

    Dim openDrawing As Hashtable



    swModel = swApp.ActiveDoc



    ' Determine the document type

    ' and set up event handlers

    If swModel.GetType = swDocumentTypes_e.swDocPART Then

        pDoc = swModel

        openPart = New Hashtable

    ElseIf swModel.GetType = swDocumentTypes_e.swDocASSEMBLY Then

        aDoc = swModel

        openAssembly = New Hashtable

    ElseIf swModel.GetType = swDocumentTypes_e.swDocDRAWING Then

        dDoc = swModel

        openDrawing = New Hashtable

    End If



    AttachEventHandlers()



End Sub



Sub AttachEventHandlers()

    AttachSWEvents()

End Sub



Sub AttachSWEvents()

    If Not pDoc Is Nothing Then

        AddHandler pDoc.UserSelectionPreNotify, AddressOf Me.pDoc_UserSelectionPreNotify

    End If

    If Not aDoc Is Nothing Then

        AddHandler aDoc.UserSelectionPreNotify, AddressOf Me.aDoc_UserSelectionPreNotify

    End If

    If Not dDoc Is Nothing Then

        AddHandler dDoc.UserSelectionPreNotify, AddressOf Me.dDoc_UserSelectionPreNotify

    End If

End Sub



Private Function pDoc_UserSelectionPreNotify(ByVal SelectionType As Integer) As Integer

    If SelectionType = swSelectType_e.swSelFACES Then

        Dim swModel As ModelDoc2

        Dim swSelMgr As SelectionMgr

        Dim SelectedObject As Object

        Dim swFace As Face2

        Dim swFeature As Feature

        swModel = swApp.ActiveDoc

        swSelMgr = swModel.SelectionManager

        SelectedObject = swSelMgr.GetPreSelectedObject()

        If SelectionType = swSelectType_e.swSelFACES Then

            swFace = SelectedObject

            swFeature = swFace.GetFeature

            Debug.Print("Name of feature whose face you preselected: " & swFeature.Name)

            Debug.Print("   Mouse over a different face, or click Debug > Stop Debugging to stop running macro...")

            Debug.Print(" ")

        End If

    End If

End Function
  • 写回答

2条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试