You are on page 1of 10

1. INTRODUO O AutoLISP uma linguagem de programao que tem como plataforma o AutoCAD.

. Com ele voc agiliza a execuo de desenhos de projetos, introduzindo funes que calculam, manipulam e automatizam os comandos do AutoCAD, e ainda pode criar novos comandos personalizados. O Visual LISP um ambiente de programao para o AutoLISP, e ainda oferece ferramentas e recursos que aumentam o desempenho da programao para AutoCAD. As principais caractersticas do editor Visual LISP so: 1.1- Os textos so coloridos, apresentando uma identificao que facilita seu reconhecimento de acrdo com suas funes no cdigo; 1.2- Alm de uma janela de console, possui ferramentas de formatao do texto, depurao de erros de sintaxe, aumentando o rendimento e diminuindo o tempo de programao; 1.3- Seu compilador faz a proteo binria dos cdigos AutoLISP, aumentando a velocidade de processamento. Pode-se compilar vrias rotinas (.lsp) simultaneamente e ainda acrescentar caixas de dilogo (.dcl) e arquivos-texto (.txt), juntando tudo em um programa executvel com a extenso (.vlx).

O editor Visual LISP j vem implantado em todo AutoCAD a partir de sua verso 2000, e voc pode acess-lo de duas maneiras: a) Clicando no menu >Tools do AutoCAD; depois mais embaixo em >AutoLISP selecione >Visual LISP Editor; b) Ou digitar >vlide (ou >vlisp) e depois teclar >Enter na linha de comando do AutoCAD, aquela localizada na base da tela, onde se l >Command.:, como mostra a figura abaixo.

2. CARACTERSTICAS DO EDITOR VISUAL LISP

O editor tem por finalidade editar, depurar, testar e compilar arquivos AutoLISP. Aps carregado na memria, como explicado acima, estar visvel na tela principal do Visual LISP a figura abaixo, com os elementos descritos a seguir:

2.1- o Menu pulldown (menu suspenso), para acessar os comandos do Visual LISP atravs de um clique do mouse no menu desejado, ou digitando a tecla Alt juntamente com a letra sublinhada;

2.2- Toolbars (barra de ferramentas), para se acionar rapidamente um comando, clicando no cone correspondente;

2.3- Na Janela de console (console window), pode-se digitar comandos AutoLISP, da mesma maneira que se faz na linha de comando do AutoCAD, e nela mesmo ver os resultados. Esta janela tambm mostra mensagens de erros e possui vrios recursos para edio de programas, como um menu pop-up para rpido acesso a comandos que veremos

adiante, comoFind, Inspect, Add Watch, Apropos, Symbol Service, etc. Sem sair dela, ainda podemos executar os programas ali listados.

2.4- a Janela de edio (Text editor) onde se digita os cdigos de programas na linguagem Lisp, DCL, SQL, C/C++ ou arquivos texto tipo ASCII . Tambm formata textos, verificando a integridade dos parnteses, possui um cdigo de cores para fcil identificao; executa expresses AutoLISP, manipula arquivos e possui um menu pop-up para buscas e formataes avanadas (Apropos), fornece ferramentas de Debug, comando Check para erros de sintaxe, coloca pontos de interrupo na execuo de um programa (Breakpoint), examina o programa passo-a-passo (Step), monitora o resultado de expresses (Add Watch) e ainda disponibiliza comandos como Break on Error e Step Once.

2.5- Status bar (barra de status) est na base da tela, e registra tudo que est acontecendo no editor.

2.6- A janela Trace window (rastreador), alm de mostrar vrias informaes, relata mensagens quando acontece um erro durante o carregamento do programa na memria.

2.7- A janela Build Output mostra mensagens relativas a erros de sintaxe na listagem digitada na janela de edio (testacheck.lsp), aps termos acionado o comando Check Text in Editor do menu Tools , ou clicando no boto (Check edit window) da toolbars.

Aps um clique duplo sobre a mensagem de erro, o Visual LISP ativa a janela de edio, posiciona o cursor no incio da linha onde est a expresso portadora do erro e a ilumina, para que voc tome conhecimento e faa as correes necessrias.

Neste exemplo o erro foi causado pela falta do agrupamento atravs da funo progn, que deve ser usada quando h mais de um resultado numa mesma condio (then e else) do comando if. Este recurso um dos mais importantes do Visual LISP, possibilitando localizar rapidamente erros de sintaxe no programa. Infelizmente ele no detecta "todos" os erros de sintaxe que podem ocorrer. Para resolver este problema existem outros recursos neste editor, que veremos adiante.

Obs.: comum editarmos vrias rotinas ao mesmo tempo (.lsp, .dcl, .txt, etc.). Se voc deseja manter estas rotinas "abertas" em um futuro acesso ao Visual LISP, no feche (Close ouClose All) nenhuma rotina; salve-as e simplesmente saia do editor clicando em Exit do menu File.

3. A JANELA DE CONSOLE

A janela de console (Console window) um complemento da janela de edio de textos (Text editor). Nela voc digita e executa comandos AutoLISP e ainda visualiza os resultados das aes desses comandos. Para acess-la, clique no menu pulldown Window e escolha a opo Visual LISP Console, ou ento clique diretamente no boto da toolbars.

O modo como se entra com os comandos nesta janela bem parecido como feito na linha de comandos do AutoCAD, com algumas diferenas:

3.1- Para mostrar o valor atual de uma varivel, basta digitar no console, logo aps o sinal de prompt " _$ ", o nome dessa varivel, enquanto que na linha de comandos do AutoCAD, devemos digitar o nome da varivel precedido do caracter " ! ";

3.2- Nesta janela tambm podemos ver o resultado de funes de prompt como (print "texto"), (prin1 "texto") ou (princ "texto"). Estes resultados tambm so apresentados na linha de comando do AutoCAD;

3.3- Para executar o programa ou uma funo denominada por exemplo, nomearq, aps o sinal de prompt " _$ " digite o nome da funo entre parnteses: (nomearq), ou digite(c:nomearq) se a funo fr inicializadora do programa.

3.4- Alm disso, dispe de algumas teclas que facilitam a digitao de funes, sendo que a principal diferena entre a digitao na linha de comando do AutoCAD e a digitao na janela de console, a maneira de processamento das teclas [Tab] e [Espao].

3.4.1- Havendo necessidade de mltiplas linhas de comando, pressione [Ctrl]+[Enter] para continuar a escrever a expresso na prxima linha. J na linha de comando do AutoCAD, uma expresso encerrada com um [Enter] ; 3.4.2- Como decorrncia do recurso acima, pode-se definir mais de uma expresso para o Visual LISP avaliar, antes de se pressionar [Enter] ;

3.4.3- Pode-se transferir textos da janela de console para a janela de edio (copiar/colar); 3.4.4- A tecla [Tab] recupera na ordem do ltimo para o anterior, os comandos digitados no console, mesmo se pressionada repetidamente. A combinao [Shift]+[Tab] recupera comandos previamente digitados, na ordem do primeiro para o posterior; 3.4.5- A tecla [Tab] tambm faz uma busca associativa nos comandos previamente digitados no console. Exemplificando, se voc digitar " ( + " e ento pressionar [Tab], o Visual LISP recupera o ltimo comando digitado que inicia com " ( + ". A busca ainda pode ser feita na ordem inversa, usando [Shift]+[Tab], que recupera a primeira expresso iniciada com " ( + ". 3.4.6- A tecla [Esc] deleta o texto que segue o prompt ( _$ ) do console; [Shift]+[Esc] deixa o texto digitado no prompt sem nenhuma avaliao e exibe um novo prompt vazio;

3.5- Clicando no boto direito do mouse em qualquer local dentro da janela de console, um menu pop-up aparecer, mostrando os comandos mais importantes:

Alguns destes comandos funcionam no sistema liga-desliga (on-off): se ele estiver marcado, um clique do mouse ir desmarc-lo e vice-versa. Esses comandos so: Cut - retira o texto selecionado do console, movendo-o para a rea de transferncia (clipboard) do Windows; Copy - cria uma cpia do texto selecionado no console e o armazena no clipboard; Paste - cria uma cpia do texto contido no clipboard na posio do cursor; Clear Console Window - limpa a janela de console; Find - procura por um texto especfico na janela de console; Inspect... - abre o quadro de dilogo Inspector* ;

Add Watch - abre o quadro de dilogo da funo Watch* ; Apropos Window... - abre o quadro de dilogo da funo Apropos* ; Symbol Service... - abre o dilogo da funo Symbol Service* ; Undo - desfaz a ltima operao realizada na janela de console; Redo - refaz a ltima operao desfeita na janela de console; AutoCAD Mode - transfere todas as entradas de informaes realizadas no console do Visual LISP para a linha de comando do AutoCAD, avaliando as funes como se l estivesse o controle, preservando as diferenas de digitao de cada janela; Toggle Console Log - salva todas as operaes efetuadas no console em um arquivo do tipo log, fornecendo um histrico daquilo que foi desenvolvido na janela do console. O histrico ser gravado em um arquivo nomeado atravs do quadro de dilogo abaixo:

* Ferramentas do editor Visual LISP que veremos mais adiante.

4. FERRAMENTAS PARA DEPURAO OU CORREO DE ROTINAS (DEBUG)

Na programao, os erros podem ser de digitao, de sintaxe ou de lgica. O editor Visual LISP oferece os seguintes recursos para detectar e corrigir estes erros: verifica o balanceamento de parnteses; verifica a sintaxe do programa; localiza erros de sintaxe atravs de mensagens de erro; acha a causa de erros que ocorrem na execuo; execuo controlada do programa; acompanhamento visual de variveis;

verifica a pilha de execuo do programa; se desloca da pilha de execuo com erro para o local do erro nos cdigos; apresenta mensagem de erro detalhada associada expresso errnea; o editor colorido, enfatisando a sintaxe de linguagem e formata o texto.

4.1- Verificando o balanceamento de parnteses A grande quantidade de parnteses em um programa faz parte da estrutura da linguagem AutoLISP. Quando acontece um erro pela falta ou pelo excesso de parnteses, notria a dificuldade de encontr-lo no interior da listagem dos cdigos da rotina. Enquanto voc est digitando o programa, o formatador do Visual LISP est verificando do correto balanceamento de parnteses, mas esta consistncia pode ser checada manualmente, usando os comandos abaixo, cada um podendo ser acionado por um conjunto de teclas:

4.1.1- Match Backward = marca anteriormente ( Ctrl+[ ) - o cursor movido para a posio do parntese que abre a expresso. 4.1.2- Match Forward = marca posteriormente ( Ctrl+] ) - o cursor movido para a posio do parntese que fecha a expresso. 4.1.3- Select Backward = seleciona anteriormente ( Ctrl+Shift+[ ) - o mesmo que Ctrl+[, e seleciona o texto entre a nova posio do cursor e a sua posio original. 4.1.4- Select Forward = seleciona posteriormente ( Ctrl+Shift+] ) - o mesmo que Ctrl+], e seleciona o texto entre a posio original e a nova posio do cursor.

continua...

Bibliografia: [1] AutoCAD 2008 Help: Developer Documentation [2] Visual Lisp for AutoCAD - Mdulo I - UPGRAPH - Waldomiro Yoshida - Andr Luiz Inharzs 2001 [3] Visual Lisp: Guia Bsico de Programao para o AutoCAD - Klos Magalhes Lenz Csar Jr. - Editora Market Press - 2001 [4] Programando em AutoLISP - UNICAMP [5] LISP para o AutoCAD - Ronaldo de Almeida - Editora Visual Books Ltda. - 2000 [6] Curso de DCL - DeseCAD - Jos Alberto Gal - 1999

msn: robertomagnani@hotmail.com (converse conosco)

You might also like