Documente Academic
Documente Profesional
Documente Cultură
Introdução
por R.C. Ruschel, DCC-FEC-UNICAMP, Agosto 1997
Interfaces do AutoCAD:
• Além da interação pela linha de comando e por menus o AutoCAD R13 permite:
o executar um conjunto de comandos por meio de command-scripting
o a programação pelo usuário utilizando-se:
a linguagem de programação AutoLISP ou
a linguagem C através do ADS (AutoCAD Developing System)
• A forma de programação depende:
o das necessidades da aplicação (desempenho, custo)
o da experiência de programação da equipe envolvida
AutoLisp:
Aplicações em AutoLisp:
ADS x AutoLisp:
Lisp:
• A LP Lisp é:
o da mesma época que o Fortran
o diferente de outras LPs, i.e., dados e programas são tratados da mesma forma (tudo como
listas) e são colodados no mesmo espaço de memória do computador.
o interpretada, i.e.,toda vez que o programa é executado o código fonte é avaliado.
o muito utilizada na programação da área de inteligência artificial.
• inicia com "(", termina com ")" e é composta por átomos, que podem ser:
o um número interio: -32.768 a 32.767
o um número real: -4.932 a 4.932 onde e: -307 a 307
o uma cadeia de caracteres (string): "Ola", "Insira um ponto:"
o um símbolo: nome de função interna ou definida pelo usuário
o uma variável: um símbolo que representa um nome de dado
o um nil: valor nulo (vazio)
o um ponteiro para arquivo (file descriptor): nome de arquivo
o uma sub-rotina (subr): nome de funções internas e externas do AutoLisp
o um nome de entidade: código numérico associado ao objeto numa sessão de trabalho
o conjunto de seleção: conjunto de objetos selecionados
Listas - Exemplos:
Lista de dados:
(2.0 3.5 7.6)
("paola" (11 06 1996) 3.150 51)
Lista de programa (primeiro elemento é um nome de função ou uma subr):
(setq A 21) ;setq é uma subr, A é um símbolo (nome de variável)
(list 2 3 4) ;list é uma subr
(defun vistalatdir ()(command "vpoint" "1,0,0")) ; defun e command são
subrs
(vistalatdir) ;vistalatdir é um símbolo (nome de função)
Avaliando expressões em Lisp:
• Se o primeiro elemento da lista for o nome de uma subr ou uma função definida, a subr ou função é
executada; o restante da lista é usado como parâmetros para a função ou subr.
• Se o primeiro elemento da lista não for uma função ou subr, obtém-se uma mensagem de erro: "bad
function" (função ruim).
Exemplos de avaliação de listas de programa:
(list 1 2 3) ;constrói uma lista de 3 números inteiros
;retorna (1 2 3)
(2.0 3.0 6.6) ;retorna erro:bad function
(setq a 1.0) ;retorna o valor 1.0 atribuído a variável a
(set 'a 1.0) ;idem mas usando o símbolo '
(set (quote a) 1.0);idem mas usando a subr quote
Obs: a subr quote é empregada para acessar o nome da referência (não o valor) de um símbolo. Portanto, o
2o. exemplo para ser processado como um lista de programa deveria ser:
• Utiliza-se simultaneamente dois programas o AutoCAD e um editor de texto simples (e.g. Edit ou
NotePad do Windows).
o Entra-se no AutoCAD
o Chama-se o editor de texto utilizando o comando EDIT
o Edita-se as funções que compõem o programa num arquivo com extensão LSP (e.g.
programa1.lsp). Salva edição e sai do editor (automaticamente retornando para o AutoCAD).
o Carrega-se o arquivo no AutoCAD.
o Executa-se funções contidas no arquivo com (nome-da-função) ou nome-da-função
Arquivo acad.pgp:
• Para fazer com que o comando EDIT chame o editor de texto diferente do edit do windows é
necessário alterar uma linha do arquivo r13\com\support\acad.pgp:
Linha original:
EDIT,EDIT,0, File to edit: ,4
Nova linha:
EDIT,c:\windows\notepad, 0, File to edit: ,4
• O subdiretório onde o notepad.exe está localizado pode variar. Portanto, verifique no seu
microcomputador o subdiretório correto.
• A mesma observação vale para a localização do arquivo acad.pgp.
• No pull-down menu Tools/Applications indicar arquivo a ser carregado procurando sua localização
com auxílio do botton File e depois carrega-lo acionando Load.
Exemplo - isomets.lsp: