I use Solidworks 2013.
I want to mate a PART with a SKETCH in assembly by Macro.
I can't select entity(face) of the part in assembly.
---------------------------------------------------------------------------------------------------------------------
Imports SolidWorks.Interop.sldworks
Imports SolidWorks.Interop.swconst
Imports System.Runtime.InteropServices
Imports System
Partial Class SolidWorksMacro
Public Sub main()
Dim matefeature As Feature
Dim swComp As Component2
Dim swSelMgr As SelectionMgr
Dim swSelData As SelectData
Dim swPart As ModelDoc2
Dim swFace As Face2
Dim swEnt As Entity
Dim bRet As Boolean
Dim swModelDocExt As ModelDocExtension
Dim swAssy As AssemblyDoc
Dim errors As Integer
Dim swDoc As ModelDoc2 = swApp.ActiveDoc
swAssy = swDoc
swModelDocExt = swDoc.Extension
swComp = swAssy.GetComponentByName("PARTNAME" & "-1")
swPart = swComp.GetModelDoc2()
swSelMgr = swDoc.SelectionManager
swSelData = swSelMgr.CreateSelectData
swFace = swPart.GetEntityByName("ConcentricFACE", 2)
swEnt = swFace
swDoc.ClearSelection2(True)
bRet = swEnt.Select4(True, swSelData)
bRet = swDoc.Extension.SelectByID2("Arc1@Sketch1", "EXTSKETCHSEGMENT", 0, 0, 0, True, 1, Nothing, swSelectOption_e.swSelectOptionDefault)
matefeature = swAssy.AddMate3(swMateType_e.swMateCONCENTRIC, swMateAlign_e.swMateAlignALIGNED, False, 0, 0, 0, 0, 0, 0, 0, 0, False, errors)
End Sub
'''
''' The SldWorks swApp variable is pre-assigned for you.
'''
Public swApp As SldWorks
End Class
SolidworksApi macros