programando en autolisp parte 2

6
 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 Lati- noamericana de Usuarios de Autodesk en Español  y ahí busca el recurso Programando en AutoLISP . En la primer parte, analizamos algunos de los fundamentos básicos de AutoLISP y prometimos que a partir de esta parte comenzaríamos a programar algo en AutoCAD, usando las herramientas básicas de AutoLISP. Antes de iniciar, permítanme coment arles que es posible utilizar la programación en AutoLISP en cualquiera de los programas basados en AutoCAD de la familia de Autodesk. Esto quiere decir que si tú eres usuario de AutoCAD, AutoCAD MAP, AutoCAD Civil, entre otros, puedes aplicar los mismos principios, del mismo modo, en cualquiera de estos programas. Para nes prácticos, cuando hagamos refere ncia a  AutoCAD, aplica a cual- quiera de los programas compatibl es de Autodesk. Bueno, entremos de lleno en la programación. Es hora de abrir el Block de Notas de Windows y guardar un nuevo archivo como PrimerPrograma.lsp . Es indispensable que al guardar el archivo lo hagamos con exten- 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 orga- nizado. Esto nos permitirá el poder analizar el código en el futuro y no perdernos en este. Además, es reco- mendable el realizar algunos breves comentarios en el código, a n de identicar las funciones que estamos 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 ini- cio de la línea de código y a continuación escribir el comentario. Si hacemos un salto de línea usando la tecla Intro, debemos de colocar otro punto y coma en la siguiente línea si deseamos que el comentario continúe. En el archivo que hemos iniciado, procederemos a colocar un comentario sencillo. Teclea lo siguiente en el 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ÓN AUTOCAD (2DA PARTE)

Upload: geovanni-martinez

Post on 18-Jul-2015

93 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Programando en AutoLISP Parte 2

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)

Page 2: Programando en AutoLISP Parte 2

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

Page 3: Programando en AutoLISP Parte 2

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

Page 4: Programando en AutoLISP Parte 2

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

Page 5: Programando en AutoLISP Parte 2

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