Академический Документы
Профессиональный Документы
Культура Документы
2009@FEUP/DEMec-SDI
O software Visual Lisp um ambiente de programao para a linguagem AutoLisp do AutoCAD. O ambiente de programao Visual Lisp composto por:
editor de texto (colorido ressaltando a sintaxe do AutoLisp) depurador (debuger) - verificador de cdigo:
mensagens de erro mais detalhadas associadas a expresses errneas; ; execuo controlada; visualizador de variveis (watch); aplicaes compostas por mais de um arquivo .lsp.
gerenciador de projectos:
2009@JST/JOF
JST/JOF
2009@FEUP/DEMec-SDI
2009@JST/JOF
2009@JST/JOF
JST/JOF
2009@FEUP/DEMec-SDI
Digitar _vlide na linha de comando. Utilizar o alt + tab do windows. Se ambas janelas estivarem visveis clicar, na janela desejada. Clicar no boto com o smbolo do AutoCAD no Visual Lisp.
2009@JST/JOF
Clicar File Open... no menu Open ou clicar no cone Open File da barra de ferramentas standard; Seleccionar o arquivo .lsp desejado; Clicar no boto OK.
2009@JST/JOF
JST/JOF
2009@FEUP/DEMec-SDI
Colorido do editor
azul: funes internas (car, setq ...); verde: nmeros; magenta: strings; vermelho: parnteses; preto: smbolos (nome de funes e variveis definidas pelo utilizador); fundo cinza (background color): comentrios.
2009@JST/JOF
Abrir o programa .lsp no Visual Lisp; Clicar no boto Load active edit window ; A janela console (horizontal inferior) mostrar quantas j ( ) formas (funes) foram interpretadas, por exemplo: ;2 forms loaded from ....
(A opo Load Selection, boto apenas carrega as linhas seleccionadas til para determinar erros.)
2009@JST/JOF
JST/JOF
2009@FEUP/DEMec-SDI
Executar funes
No AutoCAD na linha de comando digitar o nome da funo, por exemplo: command: inyn
Obs: o AutoCAD s consegue executar funes loaded pelo Visual Lisp se foram definidas como comando.
2009@JST/JOF
Para concluir uma sesso de trabalho no Visual Lisp Editor escolher no menu File a opo Exit. Se o arquivo .lsp no editor de texto tiver sido alterado sem ter sido gravado, o Visual Lisp Editor ir perguntar se deseja gravar o contedo do editor. Neste caso, deve-se responder SIM ou NO.
10
2009@JST/JOF
JST/JOF
2009@FEUP/DEMec-SDI
Erros de programao podem ser de digitao, de sintaxe e/ou lgicos. O Visual Lisp oferece os seguintes recursos para detectar e corrigir estes erros:
execuo controlada; acompanhamento visual de variveis; verificao da pilha de execuo; mensagem de erro detalhada associada a uma expresso errnea; editor colorido enfatizando a sintaxe da linguagem; formatador de texto.
CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp
11
2009@JST/JOF
Um programa em Autolisp executado no modo debug por expresses entre parnteses (parenthentical expressions). Obs: um programa em Pascal executado no modo debug por linha de programao (isto , por comando). Funcionalidades de debugging so controladas de vrios lugares do Visual Lisp:
do editor; da console; dos d menus. Abrir o programa a ser depurado no Visual Lisp. Carregar o programa. Colocar um ou mais breakpoints no cdigo do programa.
12
2009@JST/JOF
JST/JOF
2009@FEUP/DEMec-SDI
Colocar breakpoints
Breakpoints so pontos de pausa de execuo inseridos num programa para possibilitar a sua verificao (debugging). Como inserir breakpoints:
1. 2.
3.
Ir para o editor do Visual Lisp. Posicionar o cursor em frente ao parntese de abertura da expresso desejada. Seleccionar:
no menu Debug a opo Toggle Breakpoint ou na barra de ferramentas Debug o boto Set Breakpoint
13
2009@JST/JOF
Ir para a janela console do Visual Lisp; Digitar o nome da funo a ser executada seguida de um ENTER; Se necessrio, responder aos prompts do programa no AutoCAD; Quando o programa alcanar o breakpoint a execuo far uma pausa. Nesse momento pode-se: pausa pode se:
pedir para visualizar variveis; executar o programa passo a passo; continuar a execuo at outro breakpoint, etc.
14
2009@JST/JOF
JST/JOF
2009@FEUP/DEMec-SDI
Para executar uma expresso seleccionar Step Over na barra de ferramentas Debug; Para entrar numa expresso seleccionar Step Into na barra de ferramentas Debug.
Observar o cone St t Button d b Ob Status B tt da barra d f de ferramentas t Debug que mostra onde o programa est parado, isto :
15
2009@JST/JOF
Seleccionar no menu Debug a opo Watch Last para visualizar o valor da ltima varivel actualizada Seleccionar com um clique duplo no editor a varivel que deseja visualizar e escolher o cone culos (Add Watch) na janela Watch.
16
2009@JST/JOF
JST/JOF
2009@FEUP/DEMec-SDI
possvel fechar quase todas janelas no Visual Lisp, basta dar um clique no cone correspondente (canto superior esquerdo) no cabealho da janela. As nicas excepes so a janela console e a janela t j l trace. E Essas j janelas nunca f h l fecham.
17
2009@JST/JOF
4. 5.
Seleccionar no menu Tools, Format code in ... (boto ). O Visual Lisp ir formatar o cdigo. Se um casamento errneo de parnteses for encontrado, a mensagem UNBALANCE OPENING BRACKET FOUND. ADD CLOSING BRACKET? YES/NO ser mostrada. Se for respondida com YES, um parntese adicionado no final do arquivo. Com certeza este no o lugar correcto do parntese que est em falta. Portanto, torna-se necessrio percorrer o cdigo no editor na procura do lugar correcto Com o cdigo correcto. formatado essa tarefa facilitada. Colocar o parntese no lugar correcto e apagar o parntese acrescentado automaticamente no final do arquivo. Mais uma vez seleccionar no menu Tools, Format code in ... .
18
(Com o boto apenas so formatadas as linhas seleccionadas til para determinar erros.)
2009@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp
JST/JOF
2009@FEUP/DEMec-SDI
Match Forward: procura o ) correspondente a um abre parntese; Match Backward: procura ( correspondente a um fecha parntese; Select F S l t Forward: marca a expresso d parntese d d do t de abertura at o correspondente de fecho; Select Backward: marca a expresso do parntese de fecho at o correspondente de abertura.
19
2009@JST/JOF
4.
5.
Ir para o janela de edio do Visual Lisp. Seleccionar no menu Tools a opo Check .... (boto ). Se aparecer uma mensagem erro na janela console porque existe erro de sintaxe. Dar clique-duplo sobre a mensagem de erro para a expresso errnea no programa ser marcada. d A mensagem de erro dar uma indicao do tipo de erro que existe.
(Com o boto apenas so verificadas as linhas seleccionadas til para determinar erros.)
20
2009@JST/JOF
JST/JOF
10
2009@FEUP/DEMec-SDI
Como j referido o cdigo em Autolisp no editor do Visual Lisp colorido. As cores tm significado, por exemplo:
azul = funes internas (car, setq ...); preto = smbolos (nome de funes e variveis definidas pelo utilizador); ...
comum digitar errado o nome de uma funo interna (por exemplo iff para if ou iniget para initget ...). Como toda a lista de programa inicia com uma subrotina ou funo deve se observar a deve-se cor do tomo no incio de cada lista. Com certeza na sua maioria ser de cor azul. Portanto, deve-se prestar ateno em listas que iniciam com um tomo preto. Verificar se existe um erro de digitao ou se o nome de uma funo definida no programa.
CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp
21
2009@JST/JOF
Erros de execuo
Fazer o Load de um programa; Executar o programa; Responder no AutoCAD as mensagens necessrias; i Uma mensagem de erro aparece, por exemplo: ;***ERROR: bad argument type for compare: 36.0555 (155.0 155.0 0)
CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp
22
2009@JST/JOF
JST/JOF
11
2009@FEUP/DEMec-SDI
3.
Seleccionar no menu View a opo Error Trace; Uma janela com o histrico dos clculos executados surgir, mostrando no topo a funo onde ocorreu o erro e abaixo as chamadas anteriores, at a chamada da funo principal. Para ir ao local do erro via pilha de execuo:
1. 2. 3.
Seleccionar a linha na pilha contendo a expresso com o p p erro; Clicar no boto da direita do rato e seleccionar a opo Source Position; Fazer uma anlise, com recursos vistos anteriormente (por exemplo visualizando o valor de variveis), da causa do erro indicado.
CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp
23
2009@JST/JOF
Gravar um programa
Ir para o editor do Visual Lisp; Seleccionar no menu File a opo Save As; Seleccionar o nome do programa e o subdirectrio onde o programa ser gravado.
24
2009@JST/JOF
JST/JOF
12
2009@FEUP/DEMec-SDI
25
2009@JST/JOF
JST/JOF
13