Uproszczony montaż makr bez użycia

Witam

Kilka lat temu pokazano mi makro upraszczające montaż.

To makro, które zostało uruchomione z zestawu, utworzyło konfigurację "Uproszczoną" lub "Łącznik" (nie pamiętam nazwy, w której wszystkie przeszły do stanu usuniętego (ISfastener=1)

I to samo we wszystkich podzespołach zespołu głównego.

Pozwoliło mi to na lżejszą konfigurację (bez skomplikowanego montażu), dzięki czemu można ją było później wstawić do mojego układu.

Czy ktoś ma makro do udostępnienia, które jest zbliżone do tego żądania?

W przeciwnym razie będę musiał znaleźć czas na przepisanie go, nawet jeśli wydaje mi się to nieco skomplikowane z moim poziomem limitu w kodowaniu SW.

Witam @sbadenis 

jeśli uda Ci się to zrobić byłbym zainteresowany takim makrem: albo aby móc uprościć w Ruchu, albo uprościć w Symulacji

Pozdrowienia

 

2 polubienia

Interesujący.

Oczywiste jest, że musi to być trochę bałaganu, ponieważ musisz również przejść do powtórzeń i usunąć komponenty, ale nie powtórzenia.

1 polubienie

Czy nie byłaby to opcja "defeature", która upraszcza geometrię? (Defeature - 2022 - Pomoc SOLIDWORKS)

1 polubienie

@mdelbecq, tak Deafeature pozwala uprościć złożenie, tworząc uproszczoną kopię w jednym kawałku.

Tutaj celem jest utrzymanie tego samego zespołu, z lżejszą konfiguracją bez.

Celem jest tworzenie układów z dużą ilością maszyn, a dzięki tej konfiguracji nieco rozjaśnienie montażu jest niewielkie.

Deafeature został przetestowany i działa, ale uzyskanie czegoś poprawnego zajmuje noc lub dłużej, w porównaniu z kilkoma maszynami, staje się to niemożliwe.

Stąd popyt na makro.

1 polubienie

Witam;

Dlaczego nie przejrzysz "Inteligentnych list odtwarzania"?
-> Zaawansowany wybór komponentów / Ustaw kryteria wyszukiwania....
https://help.solidworks.com/2021/french/SolidWorks/sldworks/t_utilities_running_power_select.htm


Z filtrem ISfastener = 1
To prostsze, prawda?
Zwłaszcza, że możesz połączyć kilka filtrów, odwrócić je lub anulować. (I uratuj ich też...)

Pozdrowienia

3 polubienia

Witaj drogi @Maclane

Oznacza to, że pochodzą ze skrzynki narzędziowej.

Przez większość czasu pobieram (często w kroku przy okazji) i mam więcej niż wątpliwości, czy SW rozpoznaje je jako podkładkowe lub.

Jak zadeklarować ten typ części, aby były identyfikowalne przez SW jako i wkręty    ;-)

Podejrzewam, że @sbadenis chyba nie mieć tego typu pytań ;-) ;)

Pozdrowienia

2 polubienia

Twoje rozwiązanie @Maclane  działa bardzo dobrze, gdy wszystkie znajdują się w zespole głowicy.

Problem polega na tym, że mam w wielu podzespołach i muszę trzymać te w domyślnej konfiguracji, aby kolejność () była przełączana na automatyczną podczas uruchamiania.

Jedynym sposobem jest zrobienie tego cholernego makra.

Po dla makra można rozważyć rozwiązanie filtrujące.

1 polubienie

Witam

Rozwiązanie Maclane'a jest interesujące.

Ja używam podobnego metoidu:
-Tworzę konfigurację "Light"
-Używam "S", następnie wybieram przybornik, przytrzymuję "Ctrl" + kliknij prawym przyciskiem myszy -> Usuń

Daje mi to 2 konfiguracje, z których jedna jest bez...

Klasa A+

1 polubienie

@Zozo_mp: część nie musi pochodzić z przybornika. Musi on tylko zawierać właściwość ISfastener

Skonfigurowałem to, kiedy tworzyliśmy naszą bazę danych w 2005 roku (zupełnie inaczej niż Toolbox) i działa idealnie.

Dziękuję @Maclane, którzy pozwolili mi odkryć (lub odkryć na nowo) to narzędzie do selekcji, które jest w sumie bardzo potężne.

3 polubienia

Dziękuję @froussel zamierzam przyjrzeć się temu uważnie, czuję, że zaoszczędzi mi to czasu dzięki nowym funkcjom montażu od SW2020.

Pozdrowienia

Zozo_mp : 2015 dla tej funkcji "Nowy" (Solidworks nie komunikuje się zbyt dobrze o swoich nowych funkcjach... przydatne)
Jeśli chodzi o okropny ToolBox (fuj), nigdy go nie używam (z wyjątkiem tworzenia otworów/kranów/świateł... może być używany z kreatorem wiercenia).
Utworzyłem własne biblioteki niestandardowe (z właściwością IsFastener ustawioną na 0 lub 1).


-> FYI: ta właściwość (IsFastener) jest używana do rysowania  przekrojów lub do wykrywania kolizji (opcja: Wyklucz).
sbadenis : Użycie makr wydaje się rzeczywiście nieuniknione do stworzenia każdej konfiguracji "Lite" wszystkich podzespołów...
(Funkcja VBA to: "PowerSelec" dla inteligentnego wyboru, ale na razie nie wiem więcej -przepraszam-

Pomoc Solidworks (API)- > https://help.solidworks.com/...Interop.gtswutilities.IUtilities~PowerSelect.html


Pozdrowienia.

4 polubienia

Cześć wszystkim,
Zrobiłem makro, które tworzy konfigurację bez dla zespołu i jego podzespołów.

Aby to zadziałało, konieczne jest użycie interfejsów API Menedżera dokumentów. W szczególności do odczytu niewidocznej właściwości "IsToolboxStandard" , która pozwala określić, czy część jest śrubą. Licencja jest wymagana przy pierwszym uruchomieniu. Aby uzyskać tę licencję, należy złożyć wniosek za pośrednictwem Portalu klienta SolidWorks, postępując zgodnie z poniższymi procedurami :

Aby zażądać klucza licencyjnego API Menedżera dokumentów SOLIDWORKS, należy:

  1. Zaloguj się do portalu klienta SOLIDWORKS.
  2. Kliknij opcję Obsługa interfejsu API w sekcji Moja pomoc techniczna
  3. Kliknij opcję Document Manager Key Request (Żądanie klucza Menedżera dokumentów).
  4. Postępuj zgodnie z instrukcjami online, aby poprosić o klucz licencyjny.

Klucz licencyjny API Menedżera dokumentów SOLIDWORKS jest wysyłany do użytkownika pocztą elektroniczną po zatwierdzeniu żądania.  

 

Działa ze składnikami Toolbox i bibliotekami niestandardowymi, których komponenty mają właściwość "IsToolboxStandard".

Właściwość tę można łatwo dodać za pomocą narzędzia przeznaczonego do tego celu: "sldsetdocprop.exe" znajdującego się w folderze: "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\Toolbox\data utilities"

 

Zapraszam do przetestowania makra na zestawach testowych i przekazania mi swojej opinii.

Miłego dnia.


suppression_visserie.zip
2 polubienia

Złożono kluczową prośbę, wszystko, co musisz zrobić, to poczekać na wiadomość e-mail.

Z drugiej strony tak naprawdę nie znam zasady, aby uruchomić projekt vb w tej formie (przez Visual Studio)

Dla makra w vba nie martw się, zaczynam wiedzieć.

Ale w tej formie przyznaję, że zainstalowałem Visual Studio 1 lub 2 lata temu, nigdy nie poświęcając zbyt wiele czasu na zagłębienie się w temat.

Aby otworzyć projekt, nie martw się, ale jak uruchomić program? Myślę, że będę potrzebował trochę dodatkowej pomocy @remrem  jeśli nie masz nic przeciwko.

A jeśli dodatkowo masz stronę pomocy, byłoby świetnie.

W przeciwnym razie kod wydaje mi się wcale nie zły po szybkim przeczytaniu, poczekaj tylko na ten słynny kod!

Przycisk makra wypełnia się tak jak w przypadku pliku w formacie .swb, z wyjątkiem tego, że wybiera się format dll:

Następnie klikasz przeglądaj i zmieniasz typ, wybierając "SW VSTA Macros (*.dll)" i wybierasz plik "Suppression_visserie.dll"

3 polubienia

Witam
Czy to działa?

1 polubienie

Dziękuję @remrem, właśnie przetestowałem po kilku problemach, aby zdobyć słynny klucz.

E-mail miał trafić do spamu, musiałem to zrobić na mojej osobistej skrzynce pocztowej i poczekać kilka dni...

Z wyjątkiem operacji, teraz, gdy udało mi się przetestować! Jest to bardzo bliskie mojej potrzebie, dziękuję za tę bardzo dobrą bazę.

Konfiguracje są dobrze utworzone dla wszystkich zestawów.

Z drugiej strony w tych konfiguracjach nie są usuwane (nawet jeśli opcja ISFastener jest ustawiona na 1)

Chciałbym również, aby konfiguracja była tworzona tylko wtedy, gdy zestaw zawiera z ISFastener=1, a właściwość "Category" to "Assembly".

W podzespołach aktywna konfiguracja pozostaje domyślna, a nie opcja Łączniki włączone w konfiguracji łączników włącz zespół główny.

Spróbowałbym kilku modyfikacji w kodzie, który jest bardzo dobrą bazą, aby ulepszyć go na swój własny sposób, ale zawsze programowałem za pomocą makr VBA (bez przechodzenia przez dll) i nie wiem, jak debugować, jeśli to możliwe, za pomocą Visual Studio, aby zobaczyć, gdzie utknął i zobaczyć zmiany na żywo, jeśli to możliwe.

Czy musisz skompilować projekt, aby później go przetestować?

Czy możemy wykonać krok po kroku i zobaczyć, gdzie utknie?

 

 

Uważaj, to pomyłka.
Właściwość "IsFastener" jest używana tylko do ukrywania łączników w instalacjach.
Makro nie korzysta z tej właściwości, ale jak wskazałem w moim poprzednim poście:

Działa ze składnikami Toolbox i bibliotekami niestandardowymi, których komponenty mają właściwość "IsToolboxStandard".

Właściwość tę można łatwo dodać za pomocą narzędzia przeznaczonego do tego celu: "sldsetdocprop.exe" znajdującego się w folderze: "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\Toolbox\data utilities"

 

Właściwość "IsToolboxStandard" jest ukryta. Z tego powodu nie jest on widoczny w Edytorze właściwości SolidWorks. Dlatego musiałem skorzystać z biblioteki Document Manager.

2 polubienia

Rzeczywiście, @remrem, zaszła pomyłka, przyjrzę się temu, jak ulepszyć projekt, który jest bardzo dobrą podstawą. Czy możesz mi odpowiedzieć, jeśli masz trochę czasu na metodę używaną do kompilowania i debugowania projektów za pomocą biblioteki dll.

Ponieważ dołączyłeś do całego projektu z odrobiną czasu i pracy, powinienem w końcu odnieść sukces w zmodyfikowaniu tego  projektu pod kątem mojej użyteczności.

Cześć sbadenis,

SolidWorks jest kompatybilny tylko z Visual Studio 2015. Zajrzyj tutaj.

Jakich zmian oczekujesz?

1 polubienie