Hallo
Ik gebruik deze solidworks VBA-routine om de entiteiten in een beperking op te halen en het werkt meestal redelijk goed.
Het probleem dat ik tegenkom betreft het specifieke geval waarin de beperking van het type Concentriciteit is tussen een cilinder en een schetspunt.
Door swMateEnt.ReferenceType te vervangen door swMateEnt.ReferenceType2, kan ik vaststellen dat SwMateEnt van het type swSelEXTSKETCHPOINTS is, maar ik heb geen toegang tot het selecteren van het object. Heb je een idee?
Bij voorbaat dank.
Functie SelectMateEntity(swApp As SldWorks.SldWorks, swModel As SldWorks.ModelDoc2, swMateEnt As SldWorks.MateEntity2, nMark As Long) As Booleaans
Dim swEnt As SldWorks.Entity
Dim swSelMgr As SldWorks.SelectionMgr
Dim swSelData As SldWorks.SelectData
Dim bRet As Boolean
Select Case swMateEnt.ReferenceType
Case swMateEntity2ReferenceType_Point, _
swMateEntity2ReferenceType_Line, _
swMateEntity2ReferenceType_Circle, _
swMateEntity2ReferenceType_Plane, _
swMateEntity2ReferenceType_Cylinder, _
swMateEntity2ReferenceType_Sphere, _
swMateEntity2ReferenceType_Cone, _
swMateEntity2ReferenceType_SweptSurface
Set swSelMgr = swModel.SelectionManager
Set swSelData = swSelMgr.CreateSelectData
Set swEnt = swMateEnt.Reference
swSelData.Mark = nMark
bRet = swEnt.Select4(True, swSelData)
SelectMateEntity = bRet
Exit Function
Case swMateEntity2ReferenceType_Set, _
swMateEntity2ReferenceType_MultipleSurface, _
swMateEntity2ReferenceType_GenSurface, _
swMateEntity2ReferenceType_Ellipse, _
swMateEntity2ReferenceType_GeneralCurve, _
swMateEntity2ReferenceType_UNKNOWN
Case Else
End Select
SelectMateEntity = False
Functie beëindigen