Usuário:Icoeng/novos-artigos
Sobre Criação/Eliminação de subpáginas do usuário
Predefinição de carencia de fontes: [carece de fontes]
______ AutoLisp. Referencias para o artigo:
Usando Linguagem AutoLISP (Site em inglês da Autodesk) - (boa para constar como ligação externa)
AutoLISP Reference in Autodesk
interessante edição antiga apagada
______Tarefas de complementação:
Completar ou remover seção Funções do AutoLisp
Melhorar seção Exemplos de Rotinas.
Link para [AutoCad] em "Ver Também"? Não porque ja tem o link no artigo.
Quando pronta verificar pgs. afluentes e se não houver colocar em Autocad, em Lisp, em CAD e Linguagens de programação.
______ Artigo:
AutoLISP é uma linguagem de programação da família Lisp com suas peculiaridades como a de ser orientada ao processamento de listas e derivada de projetos de inteligência artificial.
Acrônimo de: AUTOcad LISt Processing
Em português: Processamento de LIStas do AUTOcad.
Características[editar | editar código-fonte]
É uma programação estruturada, e modular e interpretada. [carece de fontes]
Plataforma:[editar | editar código-fonte]
Roda no ambiente do AutoCAD e em alguns derivativos como Autodesk Map 3D e o Autodesk Architectural Desktop, ampliando suas potencialidades gráficas, textuais, de manipulação de arquivos, dispositivos, entidades de desenho e outras.
A interface de programação e o interpretador não são incluídos na versão AutoCAD LT do produto.
Foi produzido originalmente pela Autodesk e depois implementada em alguns softwares CAD de terceiros como Intelicad.
Formas de carregamento na interface:[editar | editar código-fonte]
- Na linha de comando ou prompt "Command:" do autoCAD:
- Por digitação direta com execução imediata;
- Por copy/paste, também com execução direta;
- Por carregamento de arquivo de texto em formato ASCII geralmente mas não obrigatoriamente com extensão .lsp:
- Ao ser arrastado e solto no editor de desenhos (tela gráfica);
- Ao ser carregado pela função Load de sintaxe (load "nomearq.lsp");
- Através de outra função ou programa como AutoLoad.lsp para carregamento automático ao ser invocado e do arquivo com o mesmo nome do menu carregado e de extensão .mnl de execução na inicialização da seção de desenho;
- Com o comando AppLoad, nativo da plataforma que em algumas versões também é um programa em AutoLisp.
Usos de AutoLisp e aplicabilidade[editar | editar código-fonte]
Criada para personalizações de rotinas e comandos do AutoCAD presta-se também á qualquer programação envolvendo cálculos e manipulação de dados, arquivos e dispositivos devido à suas potencialidades e facilidade de encontrar a interface que foi bem popularizada.
Potencialidades[editar | editar código-fonte]
Herdou o uso intensivo de memória, velocidade e capacidade de processamento do AutoCad, desenvolvido para controlar grandes volumes de dados como coordenadas, cores, camadas e inúmeras outras propriedades de milhares de objetos variados como linhas, curvas, blocos com atributos, hachuras, textos e outras entidades que compões o desenho técnico.
Possui facilidade de processamento de listas de qualquer comprimento e de listas aninhadas ou listas de listas da linguagem lisp, presta-se ao processamento de dados em massa.
Contando com o eficiente gerenciamento dos arquivos de paginação do AutoCAD para gravação e recuperação de dados, sua capacidade de processamento é limitada apenas pela quantidade de memória física de disco ou seja, quase inesgotável nos padrões atuais de armazenamento.
Funções do AutoLisp (incompleta)[editar | editar código-fonte]
Provido de funções nativas necessário para efetuar quaisquer sequência de cálculos, funções gráficas de desenho e manipulação de arquivos e dispositivos. Outras funções de qualquer complexidade são definidas a partir da reunião de sequências de funções através da função (defun ()).
- Básicas
Aritméticas, Processamento de textos, Condicionais e lógicas, Manipulação de Listas, Manipulações de Símbolos, Tratamento de Funções, Tratamento de Erros - Utilitárias
Consulta e comando, Controle de tela, Entrada do usuário, Funções Geométricas, Funções de Conversão, Manipulação de arquivos, Dispositivos de acesso - Conjuntos de seleção, objeto, e tabelas e símbolos
Manipulação de Seleção, Tratamento de Objeto, Tratamento de dados estendidos, Tratamento de Tabela de símbolos e Dicionário
Sintaxe[editar | editar código-fonte]
As sequências de instruções podem tanto de execução direta ou armazenadas sob um nome de função ou comando e ser invocado a qualquer tempo pelo usuário ou por outras rotinas.
Possui constantes e variáveis locais e globais que são passadas para as funções que geram outras constantes e variáveis e retornam sempre a última operação avaliada.
Linhas precedidas por dois pontos como esta são apenas comentários, sendo ignoradas pelo interpretador.
Não difere minusculas/maiúsculas sendo recomendável o uso de maiúsculas apenas em casos especiais.
Na redação é recomendado o uso de dois níveis de indentação para legibilidade do programa.
Exemplos de rotinas[editar | editar código-fonte]
(defun hello_world () (alert "Hello World!") ) ;Ex. da mesma rotina sem expor a interface na linha de comando. ;A função princ, última avaliada, nada retorna suprimindo o eco de ;execução na linha de comando. (defun c:hello_world () (alert "Hello World!") (princ) ) ; exemplo de flexibilidade do LISP (cond ((= a b) (princ "\n(a) and (b) are equal")) ((and (= (type a) 'INT) (= (type b) 'INT)) (princ (strcat "\n(a)+(b)=" (itoa (+ a b)))) ) ((and (= (type a) 'STR) (= (type b) 'STR)) (princ (strcat "\n(a)+(b)=" a b)) ) ((and (listp a) (= (type b) 'SUBR)) (mapcar '(lambda (x) (princ (b x)) ) a) ) )