在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