Programowanie funkcji CAD

Możliwość modyfikacji i rozszerzania zakresu dostępnych funkcji to ważna cecha współczesnych systemów wspomagania projektowania.

Możliwość modyfikacji i rozszerzania zakresu dostępnych funkcji to ważna cecha współczesnych systemów wspomagania projektowania.

Oprogramowanie typu CAD służy przede wszystkim do automatyzacji powtarzalnych czynności, ma możliwość szybkiej modyfikacji projektów i wprowadzania do nich gotowych, skomplikowanych elementów, które zostały utworzone wcześniej lub dostępne są w katalogach. Obecnie dostępnych jest co najmniej kilkaset różnych programów CAD do wspomagania procesu projektowania, które różnią się funkcjami i bibliotekami, przeznaczonymi do wykorzystania przy tworzeniu specyficznych projektów - inne są wymagania architekta, inżyniera elektryka, elektronika czy mechanika. Względnie tanie pakiety CAD dla indywidualnych użytkowników lub małych pracowni projektowych są najczęściej łatwe w użyciu, ale jednocześnie zapewniają ograniczone możliwości przystosowania do indywidualnych wymagań. Ponieważ zestaw przydatnych funkcji, procedur lub bibliotek może się bardzo różnić nawet w obrębie jednej branży, np. przy projektowaniu elementów mechanicznych lub różnego typu schematów elektronicznych, niektóre pakiety są oferowane jako środowisko projektowania, które umożliwia dołączanie specjalizowanych aplikacji lub dodatkowych modułów ułatwiających i przyspieszających realizację specyficznych zadań. Do tworzenia takich programów wykorzystywane są języki programowania lub języki do tworzenia skryptów albo skomplikowanych makropoleceń. Mogą one być używane bezpośrednio przez użytkowników oprogramowania, ale najczęściej są narzędziami, stosowanymi przez firmy sprzedające systemy CAD, a ponadto oferujące wyspecjalizowane aplikacje wspomagające proces projektowania.

Większość znanych producentów oprogramowania dla inżynierów dołącza do swoich produktów język programowania lub oferuje go niezależnie. Pozwala to tworzyć, na bazie istniejącego systemu CAD, aplikacje, które mogą usprawnić pracę inżynierów. Niestety, w zasadzie każde środowisko wymaga stosowania własnego języka programowania, niezgodnego z innymi aplikacjami. Jedynym punktem wspólnym są standardy OLE i COM, ale można je wykorzystać przede wszystkim do wymiany danych z pakietami biurowymi, a nie oprogramowaniem CAD, oferowanym przez innych producentów.

Rozszerzanie funkcji AutoCAD

W system AutoCAD, Autodesk standardowo wbudował interpreter specjalnej wersji języka LISP, tzw. AutoLisp, a pakiet zawiera podstawowe narzędzia niezbędne do pisania programów. AutoLISP jest dostępny od pierwszych wersji AutoCAD, a jednocześnie Autodesk starał się zachować zgodność między jego kolejnymi wersjami. Należy jednak podkreślić, że AutoLISP nie jest wydajnym językiem dla programistów. Jest to w zasadzie język skryptowy, stanowiący pewnego rodzaju ułatwienie dla zaawansowanych użytkowników, aby mogli napisać prosty i krótki program, automatyzujący często wykonywane operacje. Interpreter AutoLISP działa niezbyt szybko i nie kwalifikuje się do tworzenia wyrafinowanych aplikacji. Stosunkowo niedawno Autodesk opracował specjalną wersję tego języka, tzw. Visual LISP (oparty na Vital LISP). Jest to bardziej zaawansowany pakiet IDE, który w znacznym stopniu ułatwia tworzenie złożonych programów pracujących w środowisku AutoCAD i Windows.

Natomiast do AutoCAD 14.1 dołączono specjalną wersję Visual Basic for Application - języka niezależnego od AutoLISP, który jest oparty na automatyzacji OLE i oferuje wiele możliwości zbliżonych do AutoLISP. Autodesk zapewnia jednak, że wprowadzenie tego języka programowania nie oznacza rezygnacji z rozwijania AutoLISP. Visual Basic for Application przede wszystkim ułatwia integrację środowiska AutoCAD z aplikacjami biurowymi. Umożliwia np. prezentację wyników obliczeń przy użyciu arkusza kalkulacyjnego Excel, a jednocześnie pozwala na wykorzystanie interfejsu automatyzacji przez zewnętrzne programy, które mogą traktować AutoCAD jako serwer OLE.

Ponadto Autodesk oferuje rozwiązanie przeznaczone specjalnie dla programistów - pakiet SDK (Software Development Kit), który pozwala na pisanie nakładek dla AutoCAD w języku C. W wyniku połączenia programu w C z odpowiednimi bibliotekami AutoCAD, powstaje specjalny plik ADS. Po skonsolidowaniu go z programem AutoCAD, jego możliwości zostają rozszerzone o wykonywanie dodatkowych funkcji lub nowych skomplikowanych procedur. Pliki ADS może tworzyć prawie każdy kompilator C++ (Watcom, Microsoft Visual C i inne). Warto dodać, że istnieją specjalne konwertery tłumaczące kod AutoLISP na program w C, co pozwala na znaczne przyspieszenie działania odpowiednich procedur (konwersja jest niemal automatyczna). Ostatnio pojawiło się też na rynku dużo kompilatorów AutoLISP lub innych pakietów, służących do tworzenia nakładek na AutoCAD.

Basic lub MDL dla środowiska MicroStation

Trochę inne podejście zastosowano w pakiecie MicroStation 95, opracowanym przez Bentley Systems. Zamiast udostępniania klasycznego pakietu SDK, Bentley oferuje specjalny język przeznaczony wyłącznie do pisania aplikacji dla tego środowiska przez zaawansowanych użytkowników. MicroStation Basic jest językiem podobnym do Visual Basic for Applications, ale jest bardziej zgodny z logiką programu CAD, np. ma wygodniejszą hierarchię obiektów. MicroStation Basic jest również oparty na automatyzacji OLE. Umożliwia przede wszystkim automatyzację często powtarzanych czynności i tworzenie różnych makropoleceń, zgodnych ze specyficznymi wymaganiami. Warto dodać, że MicroStation Basic jest językiem kompilowanym (do p-kodu). Dzięki temu napisany przy jego wykorzystaniu program może pracować bez zmian na dowolnej platformie, na której działa MicroStation. Jednocześnie łatwe jest przenoszenie kodu do Visual Basic 4 i jego kompilacja. W ten sposób można utworzyć zaawansowaną, zewnętrzną nakładkę, współpracującą ze środowiskiem MicroStation.

Drugim narzędziem do tworzenia programów w środowisku MicroStation jest tzw. MicroStation Development Language (MDL), przeznaczony do budowy dużych, wyrafinowanych aplikacji. Składnia tego języka oparta jest na ANSI C - nie jest to język obiektowy. MDL używają też programiści Bentley - większość kodu MicroStation stworzono właśnie przy wykorzystaniu tego języka. Dzięki specjalnemu środowisku dla programistów, MDL pozwala na tworzenie dużych projektów, a również dzielenie programu na biblioteki lub wiele współpracujących plików wykonywalnych. Bentley zapewnia, iż MDL jest językiem w pełni przenośnym między różnymi platformami, na których może pracować MicroStation - wystarczy przenieść kod na inną platformę i skompilować. Warto pamiętać, że program napisany przy wykorzystaniu MicroStation Development Language staje się częścią środowiska MicroStation. MDL wymaga dużej dyscypliny w programowaniu, a program napisany w MicroStation Basic można łatwo przerwać, gdy nie działa poprawnie.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200