Get Mate Reference Properties Example (VB.NET)
This example shows how to get mate reference properties.
'----------------------------------------------------------------------------
' Preconditions:
Open a part or assembly document containing a mate reference
' named
Default-<1>.
'
' Postconditions: Inspect the Immediate window.
'
---------------------------------------------------------------------------
Imports
SolidWorks.Interop.sldworks
Imports
SolidWorks.Interop.swconst
Imports
System
Imports
System.Diagnostics
Partial
Class
SolidWorksMacro
Sub
main()
Dim
swMateReference As
MateReference
Dim
swFeature As
Feature
Dim
mateRefObj As
Object
Dim
mateRefEntityType As
Long
Dim
swModel As
ModelDoc2
Dim
swModelDocExt As
ModelDocExtension
Dim
swSelMgr As
SelectionMgr
Dim
strMateReferencename As
String
Dim
nCount As
Long
Dim
refEntType As
Long
Dim
mateRefAlignment As
Long
Dim
boolstatus As
Boolean
swModel = swApp.ActiveDoc
swModelDocExt = swModel.Extension
swSelMgr = swModel.SelectionManager
swModel.ClearSelection2(True)
boolstatus = swModelDocExt.SelectByID2("Default-<1>",
"POSGROUP",
0, 0, 0, False,
0, Nothing,
0)
swFeature = swSelMgr.GetSelectedObject6(1,
-1)
swMateReference = swFeature.GetSpecificFeature2
swModel.ClearSelection2(True)
' Get the name of the mate
reference
strMateReferencename =
swMateReference.Name
Debug.Print("Name of mate
reference is " & strMateReferencename)
' Get the number of reference
entities in the mate reference
nCount =
swMateReference.ReferenceEntityCount
Debug.Print("Number of mate
reference entities is " & nCount)
' Get the mate reference type for
the primary mate
'
entity in the selected mate reference
refEntType =
swMateReference.ReferenceType(0)
Debug.Print("Mating type of
primary mate entity is " & refEntType)
' Get the mate reference alignment
for the
'
mate reference entity in the selected mate reference
mateRefAlignment =
swMateReference.ReferenceAlignment(0)
Debug.Print("Alignment of primary
mate entity is " & mateRefAlignment)
' Get the mate reference entity in
the mate reference
mateRefObj =
swMateReference.ReferenceEntity2(0)
' Get the mate reference entity
type
mateRefEntityType =
swMateReference.ReferenceEntityType(0)
Debug.Print("Entity type of
primary mate entity is " &
mateRefEntityType)
' QueryInterface the returned
object as a Face, if a face
If
mateRefEntityType = swSelectType_e.swSelFACES
Then
Dim
mateRefFace As
Face2
mateRefFace = mateRefObj
Debug.Print("Primary mate
entity is a face with area = " &
mateRefFace.GetArea)
End
If
swModel.ClearSelection2(True)
End
Sub
Public
swApp As
SldWorks
End
Class