AUTOLISP - Associação de Comandos
Pra quem
não gosta de programação e gosta de usar lisps, a associação de comandos usando
lisp é bem útil, pois trata-se apenas de alguns macetes para fazer macros
usando lisps. Essa associação criará um novo atalho de comando e fará com que o
AutoCAD execute a sequência de passos que você mandou. A sintaxe para fazer
esses scripts é uma só e bem simples:
(defun
c:<atalho> () (command <comandos>))
O que está
escrito entre <> é genérico e deve ser mudado. Com essa simples linha, dá
pra fazer muita coisa legal e, para quem não gosta de programação, isso basta.
Para fazer algo como isso funcionar em seu AutoCAD, basta colar na barra de
comandos e o novo comando já estará ativo; mas somente enquanto seu AutoCAD
estiver aberto. Se fechá-lo, irá perder. Para ter permanentemente, ele deve ser
colado em um arquivo do bloco de notas e salvo com a extensão lsp e adicionado
através do comando APPLOAD. No mesmo arquivo .lsp você pode ter várias linhas com esses scripts; mas sempre lembre de fechar os parenteses e colocar cada script em uma linha.
Veja também:
Um exemplo
seria:
(defun c:py
()(command "-purge" "a" "" "n")(princ))
O objetivo
da função command é escrever na barra de commandos o que você escreveria. Para
isso, tudo deve ser escrito entre aspas. Dessa forma, quando for chamado o
comando "py" o AutoCAD chamará o comando purge, depois entrará com um “a” que
significa all, depois um enter, representado pelas aspas vazias ("") e depois um “n” de No, para
não verificar cada item purgado. Se você utilizar o comando "-purge",
poderá reproduzir cada um desses passos. O que esse script faz é associar estes passos.
Dicas:
Você pode
colocar na linha de comando a função prompt descrevendo o comando. A descrição
aparecerá na linha de comando quando o comando for chamado e antes dele ser
executado:
(defun c:py
() (prompt "\nPurgar tudo")(command "purge" "a"
"" "n")(princ))
Quando
(princ) é colocado no final, evita que um "nil" seja escrito na barra de comandos
no final da execução do comando.
Para
simular um enter na barra de comandos, utilize aspas vazias: "".
Para
permitir a entrada de dados do usuário no meio do comando, utilize a palavra
pause, sem aspas.
Quando um
comando pede um ponto como entrada de dados, utilize “@”, entre aspas, para
utilizar o último ponto clicado pelo usuário.
Para fazer
macros com comandos que usam caixa de diálogo, como hatch, array, layer, e
outros, utilize um traço "-" antes do nome do comando. Ex: -hatch, -array,
-layer, -purge. Quando isso é utilizado, o AutoCAD reproduz as funções da caixa
de diálogo na barra de comandos.
Os modos de seleção também podem ser utilizados nessas macros. Utilize o nome completo
deles entre aspas: “last”, “previous”, “fence”, etc.
Mais exemplos:
Comando para desenhar um arco com start, end, direction:
(defun c:sed () (prompt "\n*Adson*- arco (start, end,
direction)") (command "arc" pause "e" pause
"d")(princ))
Comando para quebrar uma linha em um ponto:
(defun c:bp () (prompt "\n*Adson*-Quebrar em um
ponto")(command "break" pause "f" pause
"@")(princ))
Comando para somar áreas:
(defun c:ad () (prompt "\n*Adson*-Somar Áreas")(command
"area" "a" "o")(princ))
E se você gosta de usar LISPs, conheça a Barra de Ferramentas AdCAD Tools, uma barra exclusiva com mais de 30 LISPs para instalar no AutoCAD para te ajudar a fazer seus projetos com mais rapidez, mais produtividade, mais qualidade e mais precisão.
Comentários
Postar um comentário