You are on page 1of 3

Tutorial AutoLISP de AutoCAD para Principiantes

Cada programa de AutoLISP debe ser similar a esto: (miprog defun () (Princ "Juan") (Princ) ) Puede ejecutar AutoLisp en la linea de Comandos dentro de AutoCAD. Aqu es donde vamos a empezar. AutoLISP es un lenguaje que devuelve un valor despus de la ejecucin. Cada funcin que se ejecuta va a devolver o eco de su respuesta. Vamos a probar esto. Abra AutoCAD y escriba lo siguiente en la lnea de comandos: (+ 1 2) y pulse la tecla Intro. (La funcin + agrega nmeros juntos). Mire la lnea de comandos. Usted debe ver algo que se parece a esto:

Observe que el 3 debajo de la lnea se ha escrito. AutoLISP devuelve el valor de la funcin que ha escrito. Ponlo a prueba, una vez ms. Esta vez cambia el 1 a 3 y el 2 a 5. Al igual que en (+ 3 5). Qu lo devuelva? AutoLisp siempre devuelve la respuesta.

Variables Las variables son nombres para los valores. Recuerde que el lgebra? X = 1 y = 2. Le resulta familiar?, X e Y son variables. Si usted necesita almacenar datos, como una cadena o un entero, tendr que asignar un nombre de variable para los datos. La forma de hacerlo es utilizar la funcin setq. Ej. (Setq a 1). Este conjunto es la una variable con el valor 1. Cada vez que utilice la variable a en su programa, que en realidad se utiliza el valor 1. Si se introduce con tipo (+ a 2) y se presiona, AutoLisp volvera 3. Puede utilizar cualquier nombre de variable que desea. (Prcticamente) Maysculas y minsculas, no importa. Le sugiero que no utilizan los nombres que usa el AutoCAD. Cmo saber cules estn siendo utilizados por AutoCAD? Buena pregunta. El mtodo ms sencillo para saber si AutoCAD utiliza un nombre, basta con escribir el nombre en el interior del smbolo del sistema de AutoCAD y pulse la tecla Enter. Si no ocurre nada, lo pueden utilizar.Defina las variables y los programas con nombres nicos. Algunos ejemplos de seguridad de los nombres de variables son las siguientes: (setq b1 3) (setq aa1 4) (setq JuansVarForHisProgram 1) (setq thisVarA 2)

Algunos malos ejemplos: (setq line 1) (setq acad 4) (setq ltscale 7) (setq car 12) (setq cdr 400)

Le sugiero que sean descriptivos los nombres de las variables, para no confundirnos y acordarnos. Esto es muy til cuando se depura un programa. Escriba(setq aa1 454) y pulse Enter. Para comprobar el valor de la variable que acaba de declarar, simplemente escriba !aa1 en el smbolo del sistema y presione Enter. El uso de un signo de exclamacin en la parte delantera de la variable se imprime el valor de la variable a la lnea de comandos. Funciones

Vamos a dar un paso ms y crear nuestra propia funcin. Cada funcin definida comienza con la declaracin defun. Ej. (defun miprog() o (defun C:miprog() La diferencia entre el uso de la C: y no utilizar el C: se explicar ms adelante. Por ahora. vamos a aprender otra funcin de AutoLisp para ser usada en nuestro primer programa. La funcin princ simplemente imprime en la lnea de comandos. Ej. (princ "Juan") imprimir Juan en la lnea de comandos. Bueno entonces, vamos a escribir esto en el smbolo del sistema: (defun miprog()(princ "Juan")) y pulse Enter. Usted debe ver algo que se parece a esto:

Ahora escribe (miprog) en el smbolo del sistema y presione la tecla enter. Usted debe ver algo que se parece a esto:

El programa se ejecuta e imprime "Juan" en la lnea de comandos. A continuacin, el programa hizo eco de la ltima declaracin de la lnea de comandos. AutoLISP devuelve siempre la respuesta correcta? Es por eso que termin con Juan "Juan" en la lnea de comandos. La manera de deshacerse de la eco es utilizar una declaracin princ sin ningn tipo de parmetros como la ltima declaracin de tu programa. Ej. (princ). Vamos a reescribir el programa usando la funcin (princ) para detener el eco. Escriba esto es en el prompt de comando: (defun miprog()(princ "Juan")(princ)) A continuacin, escriba (miprog) y pulse Enter. Qu pas? Sin eco. Bien. Ahora si vamos a explicar lo del directorio C: que hemos mencionado anteriormente. El C: en AutoCAD no indica que desea que este programa se ejecute en el smbolo del sistema como una funcin integrada. Vamos a hacer de nuevo el programa. Escriba esto en la lnea de comandos: (defun C:miprog()(princ "Masingenio")(princ)) Ahora escribe (miprog) y pulse Enter. Qu pas? Por qu imprime Juan? Se utiliz el C: delante de la funcin. No tenemos que poner el programa entre parntesis para ejecutarlo. (Hay algunas otras diferencias, vamos a llegar a eso en los niveles avanzados.) Para ejecutar una funcin que se declar con una C: slo tienes que escribir el nombre del programa en el smbolo del sistema. Vamos a hacer eso ahora. Escribe miprog en el smbolo del sistema y presione ENTRAR. Se imprime "Masingenio" a la lnea de comandos. Wow! No salir corriendo para mostrar a todos todava. La prxima vez que abra un dibujo de su nueva funcin va a desaparecer y usted tendr que escribirla de nuevo. Una pena! Espera! Podemos guardarlo en el disco y vuelva a cargarlo cada vez que lo necesitaba. Vamos a hacer eso. Voy a suponer que usted tiene un sistema operativo de Windows para las siguientes instrucciones. Haga clic en el botn Inicio. Ir a los programas. Ir a Accesorios. Ir a la Bloc de notas . Bloc de notas se debe abrir. Cuando lo hace, escribe en: (defun C:miprog() (princ "Juan") (princ "Masingenio") (princ "AutoLisp") (princ) ) Ahora, vaya a "Archivo" del men desplegable en el Bloc de notas y seleccione "Guardar como". Escriba miprog.lsp para el nombre del programa. Espera! No hagas clic en el botn GUARDAR todava. El Bloc de notas tiene la mala costumbre de suponer que desea guardar como un archivo de texto con la extensin txt. Ir a los "Guardar como..." y en el cuadro desplegable seleccione "Todos los archivos (*.*)". Asegrese de guardar el archivo en una ubicacin en la que AutoCAD puede encontrar el archivo de forma rpida. Sugiero crear un directorio en su disco duro para guardar todos sus archivos AutoLISP, me permito sugerir un directorio como por ejemplo: "C:\ACAD\lsp". Volver a AutoCAD. Ir al Menu "Manage" y luego haz clic en el botn de "Load Aplication". Luego en la ventana que se abre, tienes que ubicar tu archivo segn la ruta que le diste, lo seleccionas y haces clic en el botn "Load". Haga clic en el botn "Close" para salir del cuadro de dilogo.

Luego escriba miprog y pulse enter. Si se pulsa el botn F2 para que aparezca la pantalla de texto, deberas ver algo parecido a esto:

Y listo ha creado un programa de AutoLISP. Felicitaciones! Traducido y modificado de JuanerypMasingenio.com/autolispbeg.html

You might also like