Makro - Blok importu + zapis

Witaj Społeczności,

Dziękuję wszystkim za cenne rady za pośrednictwem różnych postów. To moja pierwsza wiadomość na forum :-)

Oto moja prośba: Mam sto bloków (. SLDBLK) zapisane pojedynczo na moim komputerze w tym samym folderze.

Chcę utworzyć/uruchomić makro, które 

Tworzenie nowej części (lub wstawianie jako nowy szkic do istniejącej części)

Wstaw blok na początku układu współrzędnych (umieść skalę bloku x4) / na  płaszczyźnie przedniej, na przykład

Zamknij i zapisz pokój (o tej samej nazwie co blok jeszcze lepiej)

dla całego mojego folderu "bloki" automatycznie 

 

Solidworks w wersji 2020

Znajomość TB SW, makro dla początkujących

Dziękuję wszystkim za wasz wkład

Pozdrowienia

Franck / CAD kreślarz od 8 lat

Do przetestowania na bloku, aby sprawdzić czy to działa, ale oto link do tematu:

https://r1132100503382-eu1-3dswym.3dexperience.3ds.com/#community:yUw32GbYTEqKdgY7-jbZPg/iquestion:G8lFvoZCTzWDcYa61U3jaA

A kod do zmiany skali wstaw scl=4

Weź odpowiedź RiriFifi i przetestuj kod (zwykle jego kod jest wydajny.

Jeśli działa dobrze, będziesz musiał dostosować ten kod do wszystkich plików w katalogu, pobierając nazwę bloku do nagrania.

Witam

Dla nowicjuszy, takich jak my, w tworzeniu makr, dostępna jest funkcja przechwytywania funkcji w oprogramowaniu. Rozpoczynasz nagrywanie, wykonujesz swoją manipulację, a SW automatycznie tworzy kod tego, co zrobiłeś na ekranie.

Dzięki temu masz 90% swojego makra.

Wszystko, czego będziesz potrzebować, to pętla (pętle) do zmiany pliku .sldblk, a także deklaracja zmiennych (nazwa pliku rekordu, prawdopodobnie jakieś bardziej tymczasowe zmienne....).

 

Powodzenia

Dziękujemy za Twoją opinię!

Spojrzałem na link na 3dexperience, zaktualizowałem dane (ścieżkę do moich plików i innych) ale nic się nie dzieje podczas uruchamiania makra. Uruchomiłem wspomniane makro z otwartym plikiem, ze szkicu, bez niczego otwartego nic się nie dzieje... Wstyd

Nagrałem makro, które wykonuje zadanie dla około 1 pliku.

Z drugiej strony nie wiem, jak zintegrować pętlę i nagranie pod tą samą nazwą co blok. Czy jest jakiś temat o tych elementach, może to być alternatywa dla moich poszukiwań.

Dziękuję za poświęcony czas

 

Do makra skopiowałeś ten z RIRIFIFI? 

Czy stworzyłeś moduł 2nd class 1?

Załączam makro z wybranego pomieszczenia, ujęcie następnie uruchamiamy makro i działa (z tym, że blok nie jest ustalony)

Trzeba to poprawić, ale jesteśmy coraz bliżej.

Po zobaczeniu twojego żądania, jeśli masz tylko 100 bloków do modyfikacji, nie jestem pewien, czy opracowanie makra, które nie istnieje, jest szybsze dla 1000 bloków lub więcej, z drugiej strony nie mówię. 100 bloków = 1 do 2 godzin to znacznie mniej niż opracowanie makra, nawet dla kogoś wtajemniczonego.


blok.swp

Witaj sbadenis,

Dziękujemy za Twoją opinię. Tak, wydaje mi się, że użyłem makra ririfififi z oddzielnymi klasami1 i modułem1 oraz danymi (ścieżka pliku...) zgodnie z moimi plikami.

Dziękuję za makro, ale tak naprawdę nie spełnia moich potrzeb. Ze swojej strony za pomocą makra udaje mi się zrobić nowy pokój, wstawić blok do skalowania, zapisać i zamknąć. Dla 1 zdefiniowanego modelu.

Brakuje mi aspektu "pętli", który automatyzowałby otwieranie kolejnego bloku i odtwarzał działania.

Spojrzałem, ale niestety utknąłem... Zamierzam przełączyć się na tryb "ręczny", więc

Witaj Franck,

Odpowiedź może być trochę spóźniona, ale załączone makro powinno odpowiedzieć na Twój problem.
Generowanie części ze szkicem w płaszczyźnie czołowej, wstawienie w początku układu współrzędnych, w skali 4.
3 linie mają zostać zmodyfikowane, aby dostosować go do twojego systemu:
- wiersz 35: katalog źródłowy dokumentów blokowych (z rozszerzeniem "SLDBLK");
- wiersz 36: katalog docelowy plików części, o tej samej nazwie co bloki, z rozszerzeniem "SLDPRT";
- Linia 40: Ścieżka i nazwa domyślnego modelu części dla danej wersji SolidWorks.

Aby przetestować na swoim komputerze...

Pozdrowienia.

 


wstaw.swp
2 polubienia

Super! Dziękuję m.blt

Mam jednak błąd podczas wykonywania, postaram się zrozumieć ...

linia 42

Ustaw swSkMgr = swModel.SketchManager

Podkreślam, że mam ustawione swoje ścieżki itp...

Czy ktoś ma jakiś pomysł?

Dziękuję

 

Witam

Jaki jest rodzaj błędu? Ten?

W takim przypadku należy sprawdzić, czy zmienne Part i swModel nie są puste: w trybie debugowania wystarczy pozostawić kursor nad jedną z tych dwóch zmiennych, aby wyświetlić jej zawartość.
Jeśli są równe Nothing, oznacza to, że poprzednia instrukcja Part = swApp.NewDocument... (wiersz 40) nie zwraca niczego, a dokument SolidWorks nie jest otwarty. Stąd błąd podczas tworzenia menedżera szkiców.
Ciąg znaków definiujący plik szablonu jest prawdopodobnie błędny, musisz bardzo dokładnie sprawdzić, czy istnieje, ze wskazaną ścieżką (w moim pliku źródłowym znajduje się w folderze SW 2018).

1 polubienie

CUDOWNIE, teraz wszystko działa cudownie.

Mój szablon nazywa się "część", a nie "część" w moim folderze

Wielkie DZIĘKUJĘ wszystkim, a szczególnie m.blt