Witam
do projektu muszę zrobić makro SolidWorks, aby zautomatyzować pewne zadanie. Do tej pory udawało mi się tworzyć części automatycznie i składać je w złożenie.
Niemniej jednak teraz staję przed problemem: muszę połączyć części ze sobą za pomocą wiązań. Staram się więc robić to automatycznie. Oto kod:
Dim swApp As Object
Przyciemnij część jako obiekt
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Ustaw swApp = Application.SldWorks
Ustaw część = swApp.ActiveDoc
' Kolega
Part.ClearSelection2 Prawda
boolstatus = Part.Extension.SelectByID2("Usunięto mat.-Extru.1@disque1-1@Assemblage1", "BODYFEATURE", 0, 0, 0, Fałsz, 1, Nic, 0)
boolstatus = Part.Extension.SelectByID2("Szef.-Extru.6@Pièce1-1@Assemblage1", "BODYFEATURE", 0, 0, 0, Prawda, 1, Nic, 0)
Dim swMate As Mate2
Set swMate = Part.AddMate5(1, 0, False, 3.90150366882658E-02, 0.001, 0.001, 0.001, 0.001, 0, 0.5235987755983, 0.5235987755983, False, False, 0, longstatus)
Part.ClearSelection2 Prawda
Part.EditRebuild3 (Edycja części)
Koniec subwoofera
(Na dwóch częściach.)
Problem jest następujący:
Kiedy próbuję ręcznie wykonać ograniczenie (czyli usuwając skojarzoną linię w powyższym kodzie), mam dwie możliwości w zależności od znaczników, które umieszcza w moim kodzie (argumenty metod SelectID2)
- -Jeśli używam znacznika 0, części nie są w rzeczywistości wybierane w menu ograniczeń (zrzut ekranu 1)
- - Jeśli używam znacznika 1, mam tylko jeden wybór ograniczenia!
Myślę więc, że musi być jakiś parametr moich metod, który nie jest właściwy, ale mimo długich poszukiwań nie znalazłem go. Przychodzę więc, aby zadać wam pytanie: jak można osiągnąć to ograniczenie automatycznie?
Z góry dziękuję za pomoc, której możesz mi udzielić.
captures_ecran.rar