AUTOLISP

 

VOLTAR

   

Sem dúvida o AutoCAD é o maior "best-seller" mundial em software para PC. O benefício subjacente ao usuário sempre foi o pronto acesso para a utilização de uma linguagem de programação própria e já incorporada, o AutoLISP.

   O AutoLISP deriva-se do LISP que é a segunda mais antiga linguagem de programação de alto nível usada por computadores modernos ( a mais antiga é o FORTRAN).

O que é AutoLISP ?

Como Surgiu o AutoLISP

 

    O AutoLISP surgiu pela primeira vez no AutoCAD versão 2.15 mas não foi documentado até versão 2.17. Até então o nome "AutoLISP" não era usado; em seu lugar, a Autodesk referia-se às funções LISP como "o novo recurso de Variáveis e Expressões".

     A linguagem era tão experimental que não havia nem mesmo previsão para looping de programa para a versão 2.18. A pretensão inicial da Autodesk era que o AutoLISP fosse uma ferramenta de programação para programadores experientes. O brilhantismo acessível do AutoLISP surpreendeu a todos.

   Usuários sem nenhuma experiência em programação descobriram ser possível escrever facilmente algumas linhas de código que automatizavam as operações tediosas e repetitivas do AutoCAD.

A Historia do AutoLISP

 

    O AutoLISP deriva-se do LISP, abreviatura para LISt Processing que é a segunda mais antiga linguagem de programação de alto nível ainda usada por computadores modernos (a mais antiga é FORTRAN).

     Para adquirir uma compreensão do dialeto AutoLISP, é útil conhecer a história da linguagem LISP. O primeiro interpretador LISP foi desenvolvido no final da década de 50 por John McCarthy e um grupo de pesquisadores em computação no MIT (Massachusetts Institute of Technology).

   O dialeto AutoLISP proveniente do LISP derivou-se do XLISP, abreviatura para eXperimental LISP desenvolvido por Davis Betts por volta de 1980. Para implementar o "AutoLISP" ao AutoCAD ficaria faltando somente criar uma ponte entre eles. Com a criação do ADS§ (a linguagem C do AutoCAD) a ponte entre a AutoLISP e o AutoCAD estara criada.

    O AutoCAD pode ser considerado como o sistema operacional do AutoLISP pois os programas em AutoLISP rodam apenas dentro do AutoCAD. Os Programas em AutoLISP podem ser movidos de uma plataforma de hardware para outra com facilidade, mas somente se o AutoCAD estiver presente; o AutoLISP não pode rodar sem o AutoCAD.

A Natureza do LISP

 

    O LISP difere da maior parte das linguagens de programação. Se você já estiver familiarizado com outra linguagem de computador, tal como FORTRAN ou BASIC, algumas coisas que você verá em LISP serão familiares, enquanto outras serão completamente novas . A linguagem LISP é usada com freqüência para definir a gramática inicial e os sistemas de compiladores para novas implementações de outras linguagens tais como C, ALGOL ou PASCAL que tem suas raízes no LISP; ele tem sido considerado a "base" para outras linguagens.

A linguagem C foi primeiramente criada por Dennis M. Ritchie e Ken Thomposon no laboratório Bell em 1972, baseada na linguagem B de Thompson que era uma evolução da antiga linguagem BCPL. B foi nomeada com a primeira letra de BCPL e C com a segunda. A próxima linguagem progressiva da idéia de C provavelmente se chamará P!.

 

     O armazenamento de dados e programas na mesma área de memória do computador não é comum para a maioria das linguagens de programação. Isto deve-se ao fato de que o código-fonte é compilado gerando um programa executável, o qual não pode ser modificado posteriormente.

     A maioria dos outros compiladores (tais como BASIC) não suporta esse conceito, já que freqüentemente é considerada programação "heterodoxa". O LISP armazena todas as listas da mesma maneira; para ele, os programas são simplesmente listas. Este recurso do LISP permite manipulações únicas de programas dentro de um sistema. 

    Outra característica única do LISP é o uso da recursividade e do looping direto para interações. Recursividade é um conceito intuitivo ao qual você pode já estar familiarizado: uma sub-rotina chamado a si própria. Esta capacidade é extremamente importante na manipulação de listas, já que podem ser escritos programas muito pequenos para manipular listas estruturadas de variáveis (embora deva-se notar que a recursividade utiliza grandes quantidades de memória de pilha).

    A estrutura de lista encadeada (linked list) é outro recurso especial do LISP. Por meio de uma série de ponteiros de dados, o formato de lista encadeada provê uma maneira de armazenar um conjunto seqüencial de dados em um computador. As listas encadeadas oferecem fácil controle sobre complexas listas de dados, embora normalmente usem quantidades maiores de memória do que as listas seqüenciais.

    O AutoLISP dentro do AutoCAD Uma observação adicional sobre o LISP deve ser esclarecidas para os já familiarizados com a natureza "não-matemática" da linguagem. As funções matemáticas e trigonométricas no AutoLISP foram significamente melhoradas, já que a maior parte das aplicações em AutoLISP requer cálculos.

    Apesar de o AutoLISP não ser como o FORTRAN, a implementação da Autodesk contém muitas extensões à linguagem LISP projetadas para fazer fluir a execução de programas matematicamente intensivos. 

    Um exemplo de uma destas extensões é encontrado na expressão polar, que calcula as coordenadas de uma nova lista de pontos dado um ponto atual, a distância e o ângulo para o ponto desejado. Esta função não é encontrada na maioria das implementações do LISP, mas é extremamente conveniente durante o desenvolvimento de aplicações em AutoLISP. 

    A evolução do AutoLISP dentro do ambiente AutoCAD foi largamente direcionada por pedidos de desenvolvedores de aplicativos e usuários finais do produto AutoCAD. Como resultado, o AutoLISP tornou-se uma ferramenta valiosa para a customização do AutoCAD.

 

O termo customização faz parte do jargão da computação gráfica. Customizar significa direcionar um aplicativo, como o AutoCAD, a desempenhar tarefas bem específicas, para as quais ele não foi originalmente projetado, facilitando o trabalho do usuário final. 

 

    O AutoLISP é apenas um método de programação para aplicativos no AutoCAD. Outro método é chamado ADS, o qual é uma série de funções C armazenadas em uma biblioteca. As funções C são chamadas pelos programas C para construir aplicativos que são carregados junto com o AutoCAD. De fato, os programas em ADS comunicam-se com o AutoCAD por intermédio do AutoLISP. 

    A programação em ADS exige maior conhecimento de programação de computador do que o AutoLISP, além de não ter a mesma portabilidade do AutoLISP em termos de plataforma de hardware. O AutoLISP foi usado como diretriz para o ADS; portanto os utilitários em ADS podem ser construídos para aumentar a capacidade do sistema AutoLISP para aplicações particulares.

 

Quando realmente não se acha saída para problemas encontrados no AutoLISP, entra em cena o ADS e o ARX como ferramentas poderosas capazes de criar aplicativos com o intuito de aumentar a capacidade do AutoCAD, mas sempre, é claro, com a ajuda do AutoLISP.

VOLTAR