Motywacją do napisania tego tekstu były urodziny firmy CNS Solutions Sp. z o.o. Firma ta wpadła na świetny pomysł rozdawania prezentów na swoje urodziny. Ja obdarowany zostałem bardzo interesującą mnie informacją. W zamian odwdzięczam się tym artykułem.
Od jakiegoś czasu szukałem możliwości połączenia rysunków, wielu niezależnych rysunków, z systemami bazodanowymi. Brak mi było do tego przełącznika startowego, uruchamiającego zadane makro (skrypt) wraz ze startem SOLIDWORKS. Na żadnym ze szkoleń nie zwracano na to uwagi, zresztą po co to komu: kreślarz zajmuje się modelowaniem i wymiarowaniem „według projektu”, grafik renderingiem i publikacjami, projektant… (lepiej nie mówić), bazodanowiec – obróbką danych, informatyk – zazwyczaj denerwowaniem użytkowników, nie ma więc komu zająć się łączeniem systemu modelującego z bazami danych.
Na dodatek każdy siedzi w swoim grajdołku i nie myśli o innych, a spotkanie kogoś myślącego systemowo i interdyscyplinarnie jest tylko trochę bardziej prawdopodobne niż wygranie w Lotka. Nie ma się więc co dziwić, że systemy produkcyjne są zazwyczaj ubogie w połączenie bezpośrednie z bazami rysunków. I nie mówię tu o superkombajnach zarządzających projektami opracowywanymi przez firmy dostarczające oprogramowanie typu PDM, ale o małych programach, które firmy już miały zanim kupiły SOLIDWORKS . Zresztą i ‘superkombajny’ także zazwyczaj nie przystają do potrzeb „Działu Handlowego” firmy.
W dziale takim, zresztą w niektórych działach projektowych także, liczy się szybkie wyszukanie konkretnego rysunku (nawet nie projektu) po parametrach znajdujących się najczęściej w tabelce rysunkowej – najlepiej bez otwierania projektu. W innych działach firmy, oprócz wyszukiwania danych, może być konieczne korzystanie z „efektów ubocznych” pracy SOLIDWORKS na przykład miniatur kształtowników w formacie PNG do podglądu przy wyszukiwaniu bazy danych czy przygotowanie, jako źródeł, brył do badań na maszynach pomiarowych.
Zupełnie innym, często spotykanym w mojej pracy, problemem jest konieczność poprawy serii kształtów na wielu niepowiązanych ze sobą modelach, na przykład: dla wszystkich zatwierdzonych profili określonego klienta należy zmienić grubość blachy z 2.5 na 3.1 mm i przygotować wydruk całej dokumentacji oraz aktualizację bazy danych parametrami pobranymi z rysunków. Sprawa prosta i łatwa dopóki nie jest to 70 niezależnych rysunków wybranych spośród kilkuset rysunków klienta i kilku tysięcy wszystkich rysunków a my jesteśmy akurat na urlopie na Malcie (na Karaiby konstruktora raczej nie stać). Przesłać szefowi skrypt i plik start.bat jest znacznie lepszym rozwiązaniem niż przerywanie wymarzonego urlopu lub szkolenie go przez telefon jak uruchomić SOLIDWORKS .
No tak tylko jak to zrobić bez tego malutkiego przełącznika? I owszem, wszystko to daje się zrobić bezpośrednio z SOLIDWORKS . Trzeba tylko, by wykształcony konstruktor długo i nudno zajmował się powtarzającymi się działaniami w czasie, w którym mógłby robić coś bardziej konstruktywnego. Gdy jeszcze zbiór plików źródłowych do obróbki się zmienia, to pojawia się problem do rozwiązania skryptowego. No dobrze, ale skrypt także trzeba uruchomić! A to znowu jest kwestia czasu (i chęci, i umiejętności). Pojawił się więc problem do rozwiązania. By ułatwić sobie życie przygotowałem wzorcowy zestaw plików SOLIDWORKS oraz zestaw skryptów, które zapisywały wszystkie istotne dane z modeli i rysunków do plików zewnętrznych. Pozostało jedynie połączyć w całość system modelujący (SOLIDWORKS ) z systemem baz danych i kontrolą jakości.
I w tym może pomóc przełącznik startowy „/m” SOLIDWORKS . Odpowiednia procedura startowa zapisana w pliku SWP umożliwia programowi bazodanowemu, podczas aktualizacji danych, uruchomienie – bez absorbowania konstruktora – oprogramowania SOLIDWORKS dla wybranej grupy plików a następnie pobranie i umieszczenie w bazie danych informacji wyeksportowanych, do plików tekstowych, z ich tabelek rysunkowych. Zresztą nie tylko – w końcu we właściwościach dostosowanych możemy zdefiniować praktycznie wszystko co tylko zechcemy, a język skryptów jest tak bogaty, że dobry programista jest w stanie „wyczyniać cuda”.
Jednocześnie system zarządzania produkcją może bez większych problemów (i ingerencji ludzkiej) przygotować dokumentację źródłową dla centrów obróbczych czy działu kontroli jakości. A wszystko to może być uruchamiane automatycznie po godzinach pracy, gdy komputery nie są zaabsorbowane reagowaniem na coraz to nowe wymysły ludzi.
Uruchamianie SOLIDWORKS z wykonaniem procedury startowej nie ogranicza się do powyższych działań. Można sobie wyobrazić każde działanie, od którego zawsze zaczynamy dzień pracy (oprócz oczywiście parzenia kawy) jako makro startowe. Nic nie stoi w tym przypadku na przeszkodzie by stworzyć na pulpicie Windows wiele linków uruchamiających różne procedury startowe konfigurujące SOLIDWORKS do różnych typów prac czy projektów.
Jak ktoś się bardzo uprze to jest w stanie, bez większych problemów, przygotować – bez ingerencji operatora – całą dokumentację rysunkową detalu lub grupy detali. Ale to już jest zupełnie inna bajka…
I to wszystko umożliwia ten mały przełącznik „/m” w procedurze startowej:
..\SLDWORKS.exe /m macro.swp
Post scriptum. Jak wszędzie w życiu i tutaj jest haczyk. Aby móc posługiwać się skryptami systemowo konieczna jest systemowa standaryzacja ‘wnętrza’ plików SOLIDWORKS i ścisłe przestrzeganie reguł postępowania z rysunkami przez konstruktorów i kreślarzy. I to dopiero jest „inna bajka….”
Opracował: Witold J. Janik, Grupa Kety S. A.