programando en autolisp parte 2
TRANSCRIPT
5/16/2018 Programando en AutoLISP Parte 2 - slidepdf.com
http://slidepdf.com/reader/full/programando-en-autolisp-parte-2 1/5
Lo prometido es deuda... Después de muchas semanas, retomamos el tema de programación en AutoLISP
Si ya olvidaste la primera parte, o si comienzas desde aquí, visita la sección Recursos de la Comunidad La
noamericana de Usuarios de Autodesk en Español y ahí busca el recurso Programando en AutoLISP .
En la primer parte, analizamos algunos de los undamentos básicos de AutoLISP y prometimos que a partir
esta parte comenzaríamos a programar algo en AutoCAD, usando las herramientas básicas de AutoLISP.
Antes de iniciar, permítanme comentarles que es posible utilizar la programación en AutoLISP en cualqui
de los programas basados en AutoCAD de la amilia de Autodesk. Esto quiere decir que si tú eres usuario
AutoCAD, AutoCAD MAP, AutoCAD Civil, entre otros, puedes aplicar los mismos principios, del mismo mo
en cualquiera de estos programas. Para fnes prácticos, cuando hagamos reerencia a AutoCAD, aplica a cu
quiera de los programas compatibles de Autodesk.
Bueno, entremos de lleno en la programación. Es hora de abrir el Block de Notas de Windows y guardar
nuevo archivo como PrimerPrograma.lsp. Es indispensable que al guardar el archivo lo hagamos con ext
sión LSP , así al cargarlo en AutoCAD el sistema lo reconocerá como una rutina.
Comentarios en el código
En la primera parte hablamos de la importancia de mantener un código debidamente estructurado y org
nizado. Esto nos permitirá el poder analizar el código en el uturo y no perdernos en este. Además, es re
mendable el realizar algunos breves comentarios en el código, a fn de identifcar las unciones que estam
usando, las acciones que deseamos realizar, o cualquier otra nota que deseemos colocar al código.
Para insertar una nota o comentario en el código de AutoLISP, debemos de colocar un punto y coma - ; - al
cio de la línea de código y a continuación escribir el comentario. Si hacemos un salto de línea usando la te
Intro, debemos de colocar otro punto y coma en la siguiente línea si deseamos que el comentario continú
En el archivo que hemos iniciado, procederemos a colocar un comentario sencillo. Teclea lo siguiente en
archivo del Block de Notas:
;Hola, mi nombre es <<Tu nombre aquí>> y este es mi primer programa en AutoLISP
;Con AutoLISP podemos generar nuestras propias rutinas de AutoCAD.
Programando en autoLISP
ProgramacIóautocad
(2da Parte)
5/16/2018 Programando en AutoLISP Parte 2 - slidepdf.com
http://slidepdf.com/reader/full/programando-en-autolisp-parte-2 2/5
Es importante comentar que los comentarios en el código no aectan la ejecución del mismo, por lo que to
lo que esté en una línea que comience con ; se interpretará como comentario, sin importar que el texto inc
ya unciones de AutoLISP.
Funciones de AutoLISP
Las unciones de AutoLISP son las instrucciones que nos permitirán llegar a un resultado. Hay una enor
variedad de unciones cuya combinación nos permitirá lograr grandes cosas. En esta ocasión veremos algu
de las mas básicas.
Defnir un nuevo comando
Lo primero que haremos es defnir un nuevo comando de AutoCAD. Sí, leíste bien... ¡Un nuevo comando!
mejor es que este nuevo comando hará lo que nosotros deseamos que haga.
Para ello usaremos una unción de AutoLISP llamada DEFUN , lo que quiere decir Defnir Función
Ejemplo ¡Hola Mundo!
Créanme... Evité a toda costa usar este ejemplo, el cual es el mas utilizado para introducir la programación
AutoLISP. Sin embargo, este ejemplo en sí es el que permite aplicar unciones sencillas y, sobre todo, ver re
tados de orma rápida (esto motiva a seguir avanzando).
Usando el archivo de texto que ya tenemos abierto y al cual ya le agregamos algunos comentarios, escrib
mos la siguiente línea de código:
(defun C:Hola ()
Aquí hemos usado la unción DEFUN (Las mayúsculas son irrelevantes) y hemos especifcado mediante
modifcador C: que esta unción se ejecutará como un comando de AutoCAD. La palabra Hola que escribim
es el nombre de la unción que estamos defniendo y es el nombre con el que llamaremos nuestro coman
desde AutoCAD. Esto quiere decir que al teclear “Hola” (sin las comillas) en la línea de comandos de AutoCse ejecutará la unción que hemos defnido.
Los dos paréntesis después de la palabra Hola representan las variables que hemos declarado en nuestra
ción. Por el momento no estamos declarando variables. Este tema lo analizaremos mas adelante.
Notemos que iniciamos nuestro programa abriendo un paréntesis. Como vimos en la parte 1, AutoLISP or
niza su código en paréntesis y encierra las unciones o grupos de unciones en estos. Al terminar de defnir u
ProgramacIóautocad
5/16/2018 Programando en AutoLISP Parte 2 - slidepdf.com
http://slidepdf.com/reader/full/programando-en-autolisp-parte-2 3/5
unción, debemos de cerrar el paréntesis para completarla. En este caso podrán notar que no se ha cerradparéntesis, esto es debido a que la unción Hola continúa en proceso de defnición y cerraremos el parénte
hasta el fnal.
Sencillo, ¿verdad? Sin embargo, hasta el momento nuestro comando no hace nada. Hagamos que ahora ha
algo interesante, como mostrar un cuadro de diálogo con el texto que nosotros deseamos que se muestre
Escribiremos en nuestro archivo de texto la siguiente línea:
;Hola, mi nombre es Natán y este es mi primer programa en AutoLISP
;Con AutoLISP podemos generar nuestras propias rutinas de AutoCAD.
(defun C:Hola ()
(alert “Hola Mundo”)
Para fnes prácticos y a fn de poder dar seguimiento completo a la totalidad de la unción, en algunas ocas
nes incluiremos en gris las líneas anteriores del código.
En esta ocasión estamos usando la unción ALERT de AutoLISP, la cual hace aparecer un cuadro de diálogo c
el mensaje que nosotros previamente especifcamos, como el que se muestra a continuación:
Todo lo que esté entre las comillas se imprimirá en el cuadro de diálogo, como podemos ver en el ejemp
¡Adelante! Puedes probar con cualquier texto de tu elección.
Notemos que hay una pequeña sangría entre la línea de la unción DEFUN y la línea de la unción ALERT
bien, esta no es indispensable, nos ayudará a organizar las unciones anidadas que iremos creando en nu
tros programas. Esto nos permitirá identifcar visualmente cuándo comienza una unción y cuando termi
así como las otras unciones que se desarrollan dentro de esta.
Lo último que necesitamos hacer es indicarle al sistema que hemos terminado de defnir nuestra unc
denominada Hola. Para ello, cerraremos con el último paréntesis. En el ejemplo siguiente podremos ve
ProgramacIóautocad
5/16/2018 Programando en AutoLISP Parte 2 - slidepdf.com
http://slidepdf.com/reader/full/programando-en-autolisp-parte-2 4/5
totalidad del código. Hemos marcado los pares de paréntesis con un color distinto, para que identifquemcon acilidad dónde inicia una unción y dónde termina.
;Hola, mi nombre es Natán y este es mi primer programa en AutoLISP
;Con AutoLISP podemos generar nuestras propias rutinas de AutoCAD.
(defun C:Hola ()
(alert “Hola Mundo”)
)
¡Listo! Hemos defnido nuestra primera rutina para AutoCAD. No olvidemos guardar los cambios en el arch
en donde estuvimos trabajando.
Ha llegado el momento de cargar nuestro primer programa en AutoCAD y verlo uncionando. Para ello, a
remos AutoCAD y ahí tecleamos el comando APPLOAD, este abrirá una ventana como la siguiente:
Aquí buscaremos el archivo que hemos creado, el cual lleva por nombre PrimerPrograma.lsp (a menos q
hayamos decidido usar otro nombre) Una vez encontrado el archivo, lo seleccionaremos y hacemos click e
botón Load. En el recuadro ubicado en la parte inerior izquierda de la ventana veremos la leyenda PrimerP
grama.lsp successfully loaded , lo que quiere decir que la unción se cargó correctamente.
Ahora solo alta ejecutar la unción. Tecleamos Hola desde la línea de comandos y presionamos Intro.
ProgramacIóautocad
5/16/2018 Programando en AutoLISP Parte 2 - slidepdf.com
http://slidepdf.com/reader/full/programando-en-autolisp-parte-2 5/5
¡Wow! ¡Nuestro programa unciona! Si hicimos todo correctamente, veremos aparecer en pantalla un cuad
de texto con la leyenda que hayamos defnido en la unción ALERT . Hemos defnido y ejecutado nuestra
mera rutina de AutoLISP.
Es todo por el momento. Disrutemos nuestro primer logro. Posteriormente veremos otras unciones que n
permitirán hacer muchas cosas, mucho mas interesantes que mostrar un cuadro de diálogo.
Por lo pronto pueden enviar sus dudas o comentarios a [email protected]
¡Saludos!
_ _
Natán Villarreal
CAD Manager
Coppel S.A. de C.V.
Resumen
Nombre del comando: Hola
Código de la rutina:
;Hola, mi nombre es Natán y este es mi primer programa en AutoLISP
;Con AutoLISP podemos generar nuestras propias rutinas de AutoCAD.
(defun C:Hola ()
(alert “Hola Mundo”)
)
Funciones de AutoLISP usadas: DEFUN ; ALERT
ProgramacIóautocad