Az AutoLISP-et használó parancsok létrehozása a program testre szabási szolgáltatásának fejlettebb használati módja.
Az AutoLISP-változók és -kifejezések használhatók az összetett műveletek végrehajtására szolgáló makrók létrehozásához. A CUI/CUIx-fájlok betöltésekor a program egy megegyező nevű és elérési útvonalú MNL-fájlt is betölt. Ha AutoLISP kódot helyez egy MNL-fájlba, hatékonyan töltheti be a makróban használható egyéni parancsokat.
Ez a példa egy blokk beillesztéséhez használt három parancsmakróból áll.
A parancsmakró bekéri az ablak szélességét.
^C^C^P(setq WINWID (getreal "\nEnter window width: ")) ^P
A parancsmakró bekéri a fal vastagságát.
^C^C^P(setq WALLTHK (getreal "\nEnter wall thickness: ")) ^P
A parancsmakró beilleszt egy „ablak” nevű blokkot, és bekéri a beillesztési pontot és az elforgatást.
^C^C_INSERT window XScale !WINWID YScale !WALLTHK
A blokk X tengelye az aktuális ablakszélességnek, az Y tengelye pedig az aktuális falvastagságnak megfelelő.
Ez a példa két parancsmakrót tartalmaz, amelyek növelik vagy csökkentik a GRIPSIZE rendszerváltozó aktuális értékét.
A parancsmakró 1 értékkel növeli a GRIPSIZE rendszerváltozót.
^P(setvar "gripsize"(1+ (getvar "gripsize")))(redraw)(princ)
A parancsmakró 1 értékkel csökkenti a GRIPSIZE rendszerváltozó értékét.
^P(setvar "gripsize"(1- (getvar "gripsize")))(redraw)(princ)
E parancsmakrók érvényessége csak akkor ellenőrizhető, ha a GRIPSIZE rendszerváltozó értéke nem kisebb 0-nál, és nem nagyobb 255-nél.
A következő példa a felhasználótól két pont megadását kéri, majd a megadott pontokat átellenes sarokpontként használva téglalapot rajzol.
^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
A következő szintaktikával programozottan indíthatja el a legördülő menüelemek makróit:
(menucmd "Gcustomizationgroup.element_ID=|")
Az előző szintaktika akkor működik, ha a menüelem része egy, a program menüsorán található menünek, és elérhető.