Witam
W vba tworzę program, który otwiera się w zespole części (butelki) i składa je (kompletna butelka).
Mój problem polega na tym, aby ograniczyć kawałki w nich.
Ponieważ to użytkownik wybiera te części, mieszanie między otwartymi kawałkami będzie się zmieniać, np.: płaskie dno, zaokrąglone dno, zaokrąglona kwadratowa krawędź, prosta kwadratowa krawędź itp.
To, od czego zacząłem, to ograniczenie planów każdego pomieszczenia.
Kod rejestracyjny makra
Ustaw swApp = Application.SldWorks
Ustaw część = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Wieniec face@Bague płaszczyzny 26-1@Assemblage Okrągła krawędź", "PŁASZCZYZNA", 0, 0, 0, Prawda, 1, Nic, 0)
boolstatus = Part.Extension.SelectByID2("Plan face@EP-BR-ST-1@Assemblage Okrągła krawędź", "PŁASZCZYZNA", 0, 0, 0, Prawda, 1, Nic, 0)
Przyciemnij mojego partnera jako obiekt
Ustaw myMate = Part.AddMate3(0, 0, False, 0, 0, 0, 0,001, 0,001, 0, 0,5235987755983, 0,523598775983, False, longstatus)
Part.ClearSelection2 Prawda
Part.EditRebuild3 (Edycja części)
boolstatus = Part.Extension.SelectByID2("Prawy plan", "PŁASZCZYZNA", 0, 0, 0, Prawda, 1, Nic, 0)
boolstatus = Part.DeSelectByID("Prawy plan", "PŁASZCZYZNA", 0, 0, 0)
boolstatus = Part.Extension.SelectByID2("Wieniec droite@Bague płaszczyzny 26-1@Assemblage Okrągła krawędź", "PŁASZCZYZNA", 0, 0, 0, Prawda, 1, Nic, 0)
boolstatus = Part.Extension.SelectByID2("Plan droite@EP-BR-ST-1@Assemblage Okrągła krawędź", "PŁASZCZYZNA", 0, 0, 0, Prawda, 1, Nic, 0)
Ustaw myMate = Part.AddMate3(0, 0, False, 0, 0, 0, 0,001, 0,001, 0, 0,5235987755983, 0,523598775983, False, longstatus)
Part.ClearSelection2 Prawda
Part.EditRebuild3 (Edycja części)
boolstatus = Part.Extension.SelectByID2("korona Plan_inf@Bague 26-1@Assemblage Zaokrąglona krawędź", "PŁASZCZYZNA", 0, 0, 0, Prawda, 1, Nic, 0)
boolstatus = Part.Extension.SelectByID2("Plan_sup@EP-BR-ST-1@Assemblage Okrągła krawędź", "PŁASZCZYZNA", 0, 0, 0, Prawda, 1, Nic, 0)
Ustaw myMate = Part.AddMate3(0, 1, False, 0.071, 0, 0, 0.001, 0, 0.5235987755983, 0.5235987755983, False, longstatus)
Part.ClearSelection2 Prawda
Part.EditRebuild3 (Edycja części)
Widzimy, że między dwoma częściami " 0,071"m jest spacja i nie wiem, jak ją zdefiniować. (zmieni się dla każdego zestawu części, więc jest to zbyt restrykcyjne, zwłaszcza, że biblioteka części będzie rosła w miarę postępów)
W moim makro celowo umieszczam przestrzenie w kształcie litery Y, aby oddzielić części podczas ich importowania (por. obraz), dzięki czemu znam przestrzeń między początkiem zespołu a środkiem ciężkości mojej części. (Czy to środek ciężkości jest brany pod uwagę przy imporcie części?)
Czy możliwe jest odzyskanie wysokości pomieszczenia? (Zmienne VBA)
Lub wszelkie inne pomysły są również mile widziane!
Dziękuję
JB
assemblage_bouteille.png