Você está na página 1de 3

Conceptos Bsicos de AUTOLISP C.

11
Juan Felipe Lpez Hurtado jflopezh@unal.edu.co
Dibujo Bsico
Departamento de Ingeniera Mecnica y Mecatrnica
Universidad Nacional de Colombia Facultad de Ingeniera

I. Introduccin
En el presente trabajo se explica inicialmente el concepto de lenguaje
de programacin para contextualizar hacia AUTOLISP, para luego
analizar sus conceptos bsicos. El trabajo finaliza con sus respectivas
conclusiones y referencias.

II. Conceptos bsicos de AUTOLISP


A. Qu es un Lenguaje de Programacin?
Un lenguaje de programacin es un lenguaje con sintaxis y semntica
propias, escrito de tal forma que una mquina pueda procesarlo. Los
lenguajes de programacin estn diseados para realizar procesos que
pueden ser llevados a cabo por una mquina.
Todo lenguaje de programacin debe tener una forma de ordenar
estrictamente sus diferentes smbolos y una manera en la que estos
puedan ser entendidos o procesados; esto es, a lo que se haca
referencia anteriormente con sintaxis y semntica. Los lenguajes de
programacin se usan para representar algoritmos o llamados de otra
manera, programas, que representan de manera lgica una serie de
pasos a seguir.
No se debe confundir lenguaje de programacin con lenguaje
informtico, pues el lenguaje informtico contiene al lenguaje de
programacin y varios ms, como es el caso del HTML, el cual no
ejecuta ningn algoritmo, pues ste es usado para estructurar
contenidos.

Desarrollar programas para AUTOCAD en AUTOLISP es


bsicamente escribir un cdigo en un editor de texto, guardarlo con
extensin .lsp y luego reproducirlo en AUTOCAD

D. Qu Tipo de Lenguaje es AUTOLISP?


Como ya se mencion anteriormente, AUTOLISP es un lenguaje
derivado del Lisp (List Processing, en espaol, Procesamiento de
Listas), ste es el segundo lenguaje de programacin de alto nivel
ms antiguo, lo cual quiere decir que es un lenguaje en el que los
algoritmos se expresan de una manera adecuada para la capacidad
cognitiva humana, pues no tiene mayor sintaxis en comparacin con
los lenguajes de bajo nivel, que expresan los algoritmos ms para ser
procesados por mquinas. El Lisp fue diseado por John McCarthy y
otros colaboradores del MIT; actualmente es un lenguaje de gran uso,
pues se convirti en la base de varios otros. La estructura bsica del
Lisp es la lista, una secuencia ordenada que contiene elementos que
pueden ser funciones, nombres, nmeros, etc., esto hace que sea un
lenguaje sencillo y de fcil aprendizaje.

E. Operadores Bsicos en AUTOLISP


1) Expresiones: Un programa en AUTOLISP consiste en una serie
de expresiones, estas van encerradas en parntesis.

2) Funciones: Una funcin es una expresin que puede ser llamada


o establecida, tienen la siguiente forma:

B. Qu es AUTOLISP?
AUTOLISP es un lenguaje de programacin derivado de la familia
Lisp. ste lenguaje est diseado especficamente para realizar
algoritmos (principalmente rutinas) orientados al uso de AUTOCAD
y sus derivados. Al ser AUTOLISP un lenguaje derivado de la familia
Lisp, se considera que tiene una sintaxis diferente a la de los
lenguajes de programacin ms convencionales.

C. Utilidad de AUTOLISP en AUTOCAD


Con AUTOLISP se generan programas grficos que amplan la
funcionalidad y los comandos de AUTOCAD, y que permiten desde
funciones bsicas como la creacin de una lnea, hasta funciones
complejas como lo son el desarrollo 3D y la proyeccin de planos.
Casi cualquier actividad que se realiza manualmente en AUTOCAD,
puede ser realizada de manera automtica con AUTOLISP.

Fig 1. Forma de una funcin en AUTOLISP

3) Tipos de datos: En AUTOLISP se trabaja con, enteros, reales,


cadenas, listas, nombres y varios tipos de datos ms, siendo las
nombradas consideradas las principales.

4) Variables: Son nombres que toman el valor de un dato.

5) Smbolos: Los smbolos utilizados son (, ), , , . y ; stos no

(3 4 A B 4)

pueden ser tomados como nombres, pues son los que dan estructura al
cdigo.

(list (list 'a 'b) (list 'c 'd 'e))


((A B) (C D E))

F. Condicionales en AUTOLISP

H. Creacin de Funciones de Usuario

1) Cond: Se usa como la condicional primaria del lenguaje. Se

Para definir funciones de usuario, se debe utilizar la funcin defun,


sta se declara de la siguiente manera:

denota de la siguiente manera:


(cond (prueba1 resultado1 ...) ...)
La funcin cond acepta cualquier nmero de listas como argumentos.
Evala el primer elemento de cada lista (en el orden indicado) hasta
que uno de ellos devuelva un valor distinto de nil.

2) If-Then-Else: Evala expresiones condicionalmente:


(if expr_prueba expr_then [expr_else])
Si expr_prueba no es nil, evala expr_then; en caso contrario evala
expr_else.

G. Creacin de Listas

(defun nombre (parmetros) (ejecucin))


Primero se le da un nombre a la funcin para poder ser llamada como
una funcin normal, luego se especifican los parmetros que recibe, y
luego se establece la parte a ejecutar.
Ejemplo:
(defun hola ()
(write-string "Hola, mundo!"))

III. Conclusiones
Del trabajo se puede concluir:

1) La Funcin CONS:

CONS es el constructor de lista bsico. Construye listas insertando


elementos en listas existentes (incluso vacas). El nuevo elemento
ocupa el primer lugar de la lista.

(cons nuevo_elemento lista)


El nuevo_elemento puede ser una variable o una lista.
Ejemplo:
(cons 'a 'b)

(A. B)
(cons 'a (cons 'b (cons 'c '())))
(A B C)
(cons 'a '(b c d))
(A B C D)

2) La funcin LIST:
(list elementos)
LIST Crea una lista con cualquier nmero y tipo de expresin. Admite
tanto variables como listas. Si uno de los argumentos es una lista
vaca NIL aparecer como uno de los trminos de la lista.
Ejemplo:
(list 3 4 'a (car '(b . c)) (+ 6 -2))

Un lenguaje de programacin es un lenguaje bien formado,


diseado para plasmar algoritmos que sean procesables por
una mquina.
AUTOLISP es un lenguaje de programacin basado en
Lisp, diseado para optimizar la funcionalidad de
AUTOCAD y sus derivados.
El AUTOLISP cuenta con una sintaxis muy sencilla, lo cual
permite su fcil aprendizaje.
Un programa en AUTOLISP consiste en una serie de
expresiones.
Una expresin de AUTOLISP puede ser una funcin, una
variable, una lista o un dato.
Para realizar un condicional en AUTOLISP se usa la
funcin cond o la funcin if.
Con la funcin list se puede crear una lista en
AUTOLISP.
Para definir una funcin que no sea primitiva basta con usar
la funcin defun, asignar parmetros y darle una
ejecucin.

IV. Referencias
[1] Wikipedia (2016, Oct, 20). Lenguaje de Programacin [En Lnea].
Disponible: https://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n
[2] CADD Soft Solutions (2016, Oct, 21). AutoLISP [En Linea].
Disponible: http://www.caddsoftsolutions.com/AutoLISP.htm
[3] Wikipedia (2015, Nov, 8). Autolisp [En Lnea].
Disponible: https://es.wikipedia.org/wiki/Autolisp

[4] De Leon S. Guillermo (2016, Oct, 21). AutoLISP [En Lnea].

[7] Burgos, Rolando (2016, Oct, 21). MANUAL DE REFERENCIA RAPIDA


DE LISP [En Lnea].

Disponible: http://www.cadenlinea.com/autolisp.htm
Disponible: http://html.rincondelvago.com/guia-rapida-de-lisp.html
[5] Wikipedia (2016, Jun, 9). Lisp [En Lnea].
Disponible: https://es.wikipedia.org/wiki/Lisp
[6] AutoDesk, Inc (2012, Ene). AutoLISP Developer's Guide [En Lnea].
Disponible:
http://docs.autodesk.com/ACDMAC/2013/ENU/PDFs/acdmac_2013_autolisp
_developers_guide.pdf

Você também pode gostar