Využití LISPu v příkazové řádce AutoCADu 3.
Kategorie » téma: LISP
07.08.2015 16.22 | | Komentáře: 0 komentářů | Přečteno: 18220x
Předchozí texty o využití LISPu v příkazové řádce najdete zde:
Využití LISPu v příkazové řádce AutoCADu 1.
Využití LISPu v příkazové řádce AutoCADu 2.
Nyní zkusíme do příkazového řádku nadefinovat jednoduchou funkci.
Představme si, že pracujeme na projektu s kreslícími jednotkami odpovídajícími milimetrům, ale potřebujeme do projektu dokreslit komponentu jejíž podklady jsou kótované v palcích. I když existuje i jiné řešení, zkusme to vyřešit vlastní funkcí nadefinovanou pomocí LISPu. Potřebujeme k tomu znát funkci defun, která definuje funkci (define function) její syntaxe je (defun _jmenofunkce (argumenty / lokální proměnné)) Lokální proměnné nyní potřebovat nebudeme, takže se jimi nemusíme zabývat. Druhou věc, kterou potřebujeme vědět je, že LISP používá takzvanou obrácenou logiku (to je důvod, proč je tak populární:-)) Ta spočívá v tom, že se nejprve píše jméno funkce a pak její argumenty. A protože i násobení (*) je funkce, tak budeme-li chtít převést palce na milimetry a počet palců tedy vynásobit 25.4 musíme napsat (* pocet_palcu 25.4)
Naše funkce bude tedy vypadat následovně:
(defun mmp (palce) (* palce 25.4))
mmp je jméno funkce. Funkce má jeden argument palce, který v dalším kroku vynásobíme konstantou 25.4. Na konci nezapomeňte na dvě uzavírací závorky. První uzavírá funkci násobení, druhá definici funkce mmp.
Nyní zavoláme příkaz na kreslení čáry / stěny …, zadáme výchozí bod (můžeme použít v předchozím příkladu definovaný pt), zadáme směr a namísto délky zadáme například (mmp 10). AutoCAD nakreslí čáru / stěnu o délce 254 mm.
V tomto textu jsem popsal jen několik nejzákladnějších funkcí AutoLISPu. Pomocí AutoLISPu a Visual LISPu lze psát ale i rozsáhlejší programy s cykly, rozhodovacími procedurami a dialogovými panely. Všechny funkce LISPu si můžete nechat vypsat do příkazové řádky pomocí příkazu lsp a následným výběrem Function. AutoCAD v sobě obsahuje jednoduché vývojové prostředí pro psaní funkcí v tomto jazyce, které spustíte příkazem vlide nebo vlisp. Nečekejte ovšem žádné Visual Studio. Jedná se spíše o trochu vylepšený poznámkový blok.
Jan Panoch
Komentáře:
Tento článek zatím neobsahuje žádné komentáře.