Witam
Używam tej procedury solidworks VBA do pobierania elementów zawartych w ograniczeniu i zwykle działa to całkiem dobrze.
Problem, z którym się spotykam, dotyczy konkretnego przypadku, w którym wiązanie jest typu Koncentryczność między walcem a punktem szkicu.
Zastępując swMateEnt.ReferenceType przez swMateEnt.ReferenceType2, mogę zidentyfikować, że SwMateEnt jest typu swSelEXTSKETCHPOINTS, jednak nie mogę uzyskać dostępu do wybranego obiektu. Masz pomysł?
Z góry dziękuję.
Funkcja SelectMateEntity(swApp As SldWorks.SldWorks, swModel As SldWorks.ModelDoc2, swMateEnt As SldWorks.MateEntity2, nMark As Long) Jako wartość logiczna
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
Zakończ funkcję