Criar comandos que utilizam AutoLISP é um modo mais avançado para usar o recurso de personalização do programa.
Você pode utilizar as variáveis e as expressões AutoLISP para criar macros que executam tarefas complexas. Quando o programa carrega um arquivo CUI/CUIx, ele também carrega um arquivo MNL com o mesmo nome e no mesmo local. Colocar o código AutoLISP em um arquivo MNL é uma forma eficaz para carregar os comandos personalizados que podem ser utilizados em uma macro.
Este exemplo é composto de três macros de comando que serão utilizadas para inserir um bloco.
A macro de comando solicita a largura de janela.
^C^C^P(setq WINWID (getreal "\nEnter window width: ")) ^P
A macro de comando solicita a espessura da parede.
^C^C^P(setq WALLTHK (getreal "\nEnter wall thickness: ")) ^P
A macro de comando insere um bloco chamado "janela" e solicita o ponto de inserção e rotação.
^C^C_INSERT window XScale !WINWID YScale !WALLTHK
O eixo X do bloco é para a largura de janela atual e o eixo Y para a espessura de parede atual.
Este exemplo contém duas macros de comando que aumentam ou diminuem o valor atual da variável de sistema GRIPSIZE.
A macro de comando aumenta o valor da variável de sistema GRIPSIZE para 1.
^P(setvar "gripsize"(1+ (getvar "gripsize")))(redraw)(princ)
A macro de comando diminui o valor da variável de sistema GRIPSIZE para 1.
^P(setvar "gripsize"(1- (getvar "gripsize")))(redraw)(princ)
Para adicionar uma verificação válida a essas macros de comandos, os valores menores que 0 e maiores que 255 não podem ser usados para a variável de sistema GRIPSIZE.
O exemplo a seguir solicita dois pontos e desenha uma polilinha retangular com os pontos especificados como seus cantos.
^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
Usando a sintaxe a seguir, é possível executar de modo programático uma macro de item de menu suspenso:
(menucmd "Gcustomizationgroup.element_ID=|")
A sintaxe anterior só funciona se o item de menu for parte de um menu que esteja na barra de menus do programa e estiver disponível para uso.