1 Podstawy CAx Ćw. 5. – Możliwości

Transkrypt

1 Podstawy CAx Ćw. 5. – Możliwości
Podstawy CAx
Ćw. 5. – Możliwości programowania środowiska AutoCAD
W programie AutoCAD istnieją możliwości programowania czynności związanych z obsługą danych,
automatyzacją zadań grafiki, wykonywaniem i dzieleniem informacji o rysunku z innymi aplikacjami.
Napisanie programu do realizacji szczegółowego zadania zwykle wymaga na początku większego
nakładu pracy, jednak wysiłek ten przy późniejszym wielokrotnym wykorzystaniu napisanego programu
jest opłacalny. Pisanie aplikacji dla programu AutoCAD w środowisku Windows jest możliwe za pomocą
wbudowanych w niego narzędzi programistycznych (np. środowisko programowania VisualLISP oparte
na języku AutoLISP) i języków programowania ogólnego zastosowania (Delphi czy C++).
Zadania do wykonania podczas ćwiczeń:
- w programie AutoCAD utworzyć dowolny blok o nazwie a.dwg,
- w programie AutoCAD utworzyć nową komendę (sinus) według algorytmu (patrz rysunek nr 2).
Do pisania programów w języku AutoLISP wystarczy zwykły edytor tekstowy. Do AutoCADa dołączony
jest jednak bardzo wygodny edytor VisualLISP (patrz poniższy rysunek).
Rys. 1a. Wybrane elementy środowiska VisualLISP.
1
Rys. 1b. Wybrane elementy środowiska VisualLISP.
Język programowania AutoLISP i środowisko VisualLISP programu AutoCAD zostną wykorzystane do
opracowania przykładowej nowej komendy „sinus”, która umożliwia automatyczne wprowadzenie w
obszarze modelu sinusoidy składającej się z obiektów typu punkt i typu blok. Kod programu
Sin_XY.LSP przedstawiony jest poniżej.
Rys. 2. Kod programu wprowadzającego funkcję sinus (AutoLISP)
2
Powyższy program działa w następujący sposób:
- po pierwsze tworzona jest „nowa” komenda programu AutoCAD – „sinus”, która nie posiada
żadnych parametrów wejściowych,
- zmienna systemowa „cmdecho” – odpowiadająca za wyświetlanie komunikatów programu AutoCAD
w
linii
poleceń
jest
ustawiana
na
wartość
równą
„0”
–
spowoduje
to brak wyświetlania historii poleceń w trakcie działania programu,
- pod wartość zmiennej pomocniczej „STL” odczytywane są bieżące ustawienia sposobu
naprowadzania na punkty charakterystyczne obiektów (wartość zmiennej „osmode”),
- zmienna systemowa „attdia” odpowiadająca za tryb wprowadzania bloków z atrybutami ustawiana
jest na wartość „1” – spowoduje to że ewentualne wartości atrybutów bloków wprowadzane byłyby z
poziomu okna dialogowego a nie z linii poleceń,
- zmienna systemowa „osmode” ustawiane jest na wartość „16384” – co spowoduje wyłączenie
naprowadzania na stałe tryby lokalizacji obiektów,
- dwie następne linie to deklaracja pustych list (DANE_X i DANE_Y),
- dwie następne pętle repeat to wprowadzenie do listy DANE_X macierzy danych od 359 do 0,
natomiast do listy DANE_Y wartości funkcji sinus o amplitudzie równej 100,
- następnie następuje odwrócenie kolejności list (spowodowane jest to tym iż funkcja „cons”
dodawała do list DANE_X i DANE_Y obiekty na początku listy),
- ostatnia pętla programu powoduje wprowadzenie trajektorii sinusoidy w postaci punktów oraz
wcześniej zdefiniowanego bloku o nazwie „a.dwg” (przykładowej geometrii z kątem obrotu od 0 do
359 stopni),
- ostatnia operacja powoduje przywrócenie wartości początkowych zmiennym „cmdecho”
i „osmode”.
Z poziomu środowiska VisualLISP uruchomić program napisany w języku AutoLISP za pomocą
komendy „sinus” wydanej z linii poleceń.
Działanie powyższego programu przedstawione jest na poniższym rysunku.
Rys. 3. Działanie programu wprowadzającego funkcję sinus
(w kółku wprowadzono powiększony symbol bloku który jest wprowadzany w punktach trajektorii sinusoidy)
3

Podobne dokumenty