http://help.solidworks.com/2012/English/api/sldworksapi/Get_Mate_Reference_Properties_Example_VB.htm
Get Mate Reference Properties Example (VBA)
Don't understand what “POSGROUP” means.
use → boolstatus = swModelDocExt.SelectByID2("Default-<1>", "POSGROUP", 0, 0, 0, False, 0, Nothing, 0)
don't select ?
The code is
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swMateReference As SldWorks.MateReference
Dim swFeature As SldWorks.feature
Dim mateRefEntity As SldWorks.entity
Dim swModel As SldWorks.ModelDoc2
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swSelMgr As SldWorks.SelectionMgr
Dim strMateReferencename As String
Dim nCount As Long
Dim refEntType As Long
Dim mateRefAlignment As Long
Dim boolstatus As Boolean
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swModelDocExt = swModel.Extension
Set swSelMgr = swModel.SelectionManager
swModel.ClearSelection2 True
boolstatus = swModelDocExt.SelectByID2("Concentric_MateReference-<1>", "POSGROUP", 0, 0, 0, False, 0, Nothing, swSelectOptionDefault)
Set swFeature = swSelMgr.GetSelectedObject5(1)
Set swMateReference = swFeature.GetSpecificFeature2
swModel.ClearSelection2 True
' Get the name of the mate reference
strMateReferencename = swMateReference.Name
Debug.Print strMateReferencename
' Get the number of reference entities in the mate reference
nCount = swMateReference.ReferenceEntityCount
Debug.Print nCount
' Get the mate reference type for the mate
' enity in the selected mate reference
refEntType = swMateReference.ReferenceType(0)
Debug.Print refEntType
' Get the mate reference alignment for the
' mate reference entity in the selected mate reference
mateRefAlignment = swMateReference.ReferenceAlignment(0)
Debug.Print mateRefAlignment
' Get the mate reference entity in the mate reference
Set mateRefEntity = swMateReference.ReferenceEntity(0)
' Select the entity
mateRefEntity.Select4 False, Nothing
swModel.ClearSelection2 True
End Sub
SolidworksApi macros