Využití LISPu v příkazové řádce AutoCADu 1.
Kategorie » téma: LISP
07.08.2015 16.06 | | Komentáře: 0 komentářů | Přečteno: 19439x
V AutoCADu se po léta vyskytuje programovací jazyk AutoLISP a od verze 2000 VisualLISP (šel doinstalovat i do verze R14). Jazyk se dnes již nevyvíjí a z dnešního pohledu má spoustu nevýhod. Jeho obrovskou výhodou ale je, že na jednom řádku vyřešíte to, co v C# na deseti, což souvisí s jeho nedokonalostí.
Pro začátek stačí o LISPu vědět jen pár věcí:
- LISP není case sensitive - nerozlišuje tedy velká a malá písmena
- každá funkce musí být uzavřena v závorkách
- LISP používá takzvaný dynamický typový systém. To znamená, že v LISPu není třeba deklarovat datový typ proměnných a že v proměnné mohu mít jednou uloženo celé číslo a pak do ní vložit třeba text.
- pro dekladrování proměnné slouží funkce setq
napišme do příkazové řádky například tuto sekvenci a odešleme ji Enterem:
(setq a 550 b 98)
Tímto řádkem jsme do proměnné "a" uložili hodnotu 550 a do proměnné "b" hodnotu 98. Můžeme si to ověřit zadáme-li do příkazového řádku !a nebo !b
Nakresleme si teď nějakou entity a zadejme příkaz pro posun nebo kopírování. Vybereme objekt, vyberme bod (base point), zadejme směr a na výzvu po vzdálenosti místo čísla napišme “!a”. Entita se posune či zkopíruje o 550 jednotek.
Vyberme znovu nějakou entitu zadejme příkaz pro rotaci, vyberme střed otáčení a na výzvy po velikosti úhlu zadáme místo číselné hodnoty "!b". Entita se otočí o 98° (jsou-li jako úhlové jednotky nastaveny stupně). Proměnné jsou platné po celou dobu otevření výkresu a můžeme je tedy kdykoliv použít.
Nyní napíšeme do příkazového řádku toto:
(setq vzd (getdist "Vyber dva body"))
Na výzvu "Vyber dva body" vybereme dva body a vzdálenost mezi nimi se nám uloží do proměnné vzd. Výzva za getdist není povinná a body můžete vybrat i bez výzvy. Napíšeme-li teď do příkazové řádky !vzd objeví se vzdálenost, která je v této proměnné uložena a tu pak můžeme používat v dalších příkazech. Asi není nutno nějak obšírněji vysvětlovat, že getdist znamená get distance.
Jan Panoch
Komentáře:
Tento článek zatím neobsahuje žádné komentáře.