Vytváření příkazů, které používají jazyk AutoLISP, je pokročilejším způsobem využití funkcí uživatelských úprav aplikace.
Proměnné a výrazy jazyka AutoLISP můžete použít k vytváření maker provádějících složité úkoly. Když aplikace načte soubor CUI/CUIx, načte také soubor MNL se stejným názvem a ve stejném umístění. Umístění kódu jazyka AutoLISP do souboru MNL je efektivní způsob načtení vlastních příkazů, které lze použít v makru.
Tento příklad se skládá ze tří příkazových maker, která se používají k vložení bloku.
Příkazové makro zobrazí výzvu k zadání šířky okna.
^C^C^P(setq WINWID (getreal "\nEnter window width: ")) ^P
Příkazové makro zobrazí výzvu k zadání tloušťky stěny.
^C^C^P(setq WALLTHK (getreal "\nEnter wall thickness: ")) ^P
Příkazové makro vloží blok s názvem „window“ (okno) a vyzve k zadání bodu vložení a otočení.
^C^C_INSERT window XScale !WINWID YScale !WALLTHK
Osa X bloku se vztahuje na aktuální šířku okna a osa Y na aktuální tloušťku stěny.
Tento příklad obsahuje dvě příkazová makra, která zvýší nebo sníží aktuální hodnotu systémové proměnné GRIPSIZE.
Příkazové makro zvýší hodnotu systémové proměnné GRIPSIZE o 1.
^P(setvar "gripsize"(1+ (getvar "gripsize")))(redraw)(princ)
Příkazové makro sníží hodnotu systémové proměnné GRIPSIZE o 1.
^P(setvar "gripsize"(1- (getvar "gripsize")))(redraw)(princ)
V zájmu přidání ověřování platnosti do těchto maker příkazů nelze pro systémovou proměnnou GRIPSIZE použít hodnotu menší než 0 nebo větší než 255.
V následujícím příkladu dojde k vyzvání uživatele k zadání dvou bodů a pak se nakreslí obdélníková křivka, přičemž zadané body se použijí jako rohy.
^P(setq a (getpoint "Enter first corner: "));\+ (setq b (getpoint "Enter opposite corner: "));\+ pline !a (list (car a)(cadr b)) !b (list (car b)(cadr a)) c;^P
Pomocí následující syntaxe můžete programově spustit makro u položky rozevírací nabídky:
(menucmd "Gcustomizationgroup.element_ID=|")
Předchozí syntaxe funguje pouze v případě, že je položka nabídky součástí nabídky umístěné na panelu nabídek aplikace a dostupné pro použití.