Get Component Names and Types for Inplace Mate Example (VBA)
This example shows how to get the names of the components for an Inplace
mate.
'----------------------------------------------
'
' Preconditions:
' (1)
Assembly document is open and assembly has at least one Inplace mate.
' (2)
Inplace mate is selected.
'
' Postconditions: None
'
'----------------------------------------------
Option Explicit
Public Enum swSelectType_e
swSelFACES
= 2 '
"FACE"
swSelDATUMPLANES
= 4 '
"PLANE"
End Enum
Sub ProcessMateInPlace _
( _
swApp
As SldWorks.SldWorks, _
swModel
As SldWorks.ModelDoc2, _
swMateInPlace
As SldWorks.MateInPlace _
)
Dim
swComp As
SldWorks.Component2
Dim
nNumMateEnt As
Long
Dim
i As
Long
Set
swComp = swMateInPlace.component:
Debug.Assert Not Nothing Is swComp
nNumMateEnt
= swMateInPlace.GetMateEntityCount
Debug.Print
" Comp
= "
& swComp.Name2
For
i = 0 To nNumMateEnt - 1
Debug.Print
" Mate
Comp =
" & swMateInPlace.MateComponentName(i)
Debug.Print
" Type
=
" & swMateInPlace.MateEntityType(i)
Next
i
End Sub
Sub main()
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
SldWorks.ModelDoc2
Dim
swSelMgr As
SldWorks.SelectionMgr
Dim
swFeat As
SldWorks.feature
Dim
swMateInPlace As
SldWorks.MateInPlace
Dim
bRet As
Boolean
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swSelMgr = swModel.SelectionManager
Set
swFeat = swSelMgr.GetSelectedObject5(1)
Set
swMateInPlace = swFeat.GetSpecificFeature2
Debug.Print
"File = " & swModel.GetPathName
Debug.Print
" "
& swFeat.Name & " [" & swFeat.GetTypeName
& "]"
ProcessMateInPlace
swApp, swModel, swMateInPlace
End Sub
'------------------------------------------