Tutorial AutoLISP de AutoCAD Para Principiantes

Tutorial AutoLISP de AutoCAD para Principiantes Cada programa de AutoLISP debe ser similar a esto: (miprog defun () (Pri

Views 69 Downloads 0 File size 271KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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 después de la ejecución. Cada función que se ejecuta va a devolver o eco de su respuesta. Vamos a probar esto. Abra AutoCAD y escriba lo siguiente en la línea de comandos: (+ 1 2) y pulse la tecla Intro. (La función + agrega números juntos). Mire la línea de comandos. Usted debe ver algo que se parece a esto:

Observe que el 3 debajo de la línea se ha escrito. AutoLISP devuelve el valor de la función que ha escrito. Ponlo a prueba, una vez más. 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 función 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 volvería 3. Puede utilizar cualquier nombre de variable que desea. (Prácticamente) Mayúsculas y minúsculas, no importa. Le sugiero que no utilizan los nombres que usa el AutoCAD. ¿Cómo saber cuáles están siendo utilizados por AutoCAD? Buena pregunta. El método más sencillo para saber si AutoCAD utiliza un nombre, basta con escribir el nombre en el interior del símbolo 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 símbolo del sistema y presione Enter. El uso de un signo de exclamación en la parte delantera de la variable se imprime el valor de la variable a la línea de comandos. Funciones Vamos a dar un paso más y crear nuestra propia función. Cada función definida comienza con la declaración defun. Ej. (defun miprog() o (defun C:miprog() La diferencia entre el uso de la C: y no utilizar el C: se explicará más adelante. Por ahora. vamos a aprender otra función de AutoLisp para ser usada en nuestro primer programa. La función princsimplemente imprime en la línea de comandos. Ej. (princ "Juan") imprimirá Juan en la línea de comandos. Bueno entonces, vamos a escribir esto en el símbolo del sistema: (defun miprog()(princ "Juan")) y pulse Enter. Usted debe ver algo que se parece a esto:

Ahora escribe (miprog) en el símbolo 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 línea de comandos. A continuación, el programa hizo eco de la última declaración de la línea de comandos. AutoLISP devuelve siempre la respuesta correcta? Es por eso que terminó con Juan "Juan" en la línea de comandos. La manera de deshacerse de la eco es utilizar una declaración princ sin ningún tipo de parámetros como la última declaración de tu programa. Ej. (princ). Vamos a reescribir el programa usando la función (princ) para detener el eco. Escriba esto es en el prompt de comando:

(defun miprog()(princ "Juan")(princ)) A continuación, 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 símbolo del sistema como una función integrada. Vamos a hacer de nuevo el programa. Escriba esto en la línea 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 función. No tenemos que poner el programa entre paréntesis para ejecutarlo. (Hay algunas otras diferencias, vamos a llegar a eso en los niveles avanzados.) Para ejecutar una función que se declaró con una C: sólo tienes que escribir el nombre del programa en el símbolo del sistema. Vamos a hacer eso ahora. Escribe miprog en el símbolo del sistema y presione ENTRAR. Se imprime "Masingenio" a la línea de comandos. ¡Wow! No salir corriendo para mostrar a todos todavía. La próxima vez que abra un dibujo de su nueva función 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 botón 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 botón GUARDAR todavía. El Bloc de notas tiene la mala costumbre de suponer que desea guardar como un archivo de texto con la extensión txt. Ir a los "Guardar como..." y en el cuadro desplegable seleccione "Todos los archivos (*.*)". Asegúrese de guardar el archivo en una ubicación en la que AutoCAD puede encontrar el archivo de forma rápida. 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 botón de "Load Aplication". Luego en la ventana que se abre, tienes que ubicar tu archivo según la ruta que le diste, lo seleccionas y haces clic en el botón "Load". Haga clic en el botón "Close" para salir del cuadro de diálogo.

Luego escriba miprog y pulse enter. Si se pulsa el botón F2 para que aparezca la pantalla de texto, deberías ver algo parecido a esto:

Y listo ha creado un programa de AutoLISP. ¡Felicitaciones! Traducido y modificado de JuanerypMasingenio.com/autolispbeg.html Quizás también le interese:

Manual para la utilización de las aplicaciones Lisp que ocasionalmente se exponen en el foro ¿Qué es una aplicación Lisp? Las aplicaciones Lisp para AutoCAD, se basan en un lenguaje de programación muy potente, cuya finalidad última es la de agilizar tareas y procesos para el usuario final combinando funciones y secuencias de ordenes para que AutoCAD las ejecute e interprete. El proceso para poder utilizar una aplicación Lisp es bastante básico, ya que basta con realizar tres pasos. NOTA ACLARATORIA. Destacar que las aplicaciones Lisp solo funcionan en versiones completas de AutoCAD, y no en las LT.

PASO 1 – CREAR EL ARCHIVO LISP. Para crear el archivo Lisp debemos en primer lugar copiar el código Lisp que normalmente se expone en el foro. A continuación, abrimos una hoja del Bloc de Notas y aquí pegamos el código seleccionado con anterioridad.

PASO 2 – GUARDAR EL ARCHIVO LISP Posteriormente tenemos que guardar el contenido del bloc de notas (que contiene nuestra aplicación con su correspondiente código Lisp). Para ello debemos guardarlo con el nombre que deseemos, aunque se recomienda asignarle el nombre de la propia función, y a su vez asignarle la extensión “LSP”, propio de AutoLisp (si la aplicación se ejecuta por ejemplo con la orden DDUCS, se recomienda guardar el archivo con el nombre DDUCS.lsp). Archivo -> Guardar como... -> [nombre del archivo a guardar].lsp y selecccionas el lugar donde la quieres guardar. ¿Donde es preferible guardar nuestras rutinas? Lo aconsejable es crearse una carpeta independiente dentro de donde tengamos instalado AutoCAD, que por ejemplo la podamos llamar; "RUTINAS_LISP" y dentro de ella guardar todas las rutinas que deseemos y/o vayamos creando o encontrando por el foro o internet, y que consideremos nos sean de gran utilidad.

PASO 3 – EJECUTAR LA APLICACIÒN LISP. Una vez realizado todo lo anterior, solo nos falta decirle a AutoCAD que aplicaciones diferentes a las que se cargan por defecto queremos que también se carguen, y en donde debe buscarlas. Para ello en Herramientas -> Opciones -> Archivo -> Ruta de busqueda de archivos de

soporte, añadiremos la ruta de la carpeta que creamos y mencionamos en el apartado 3 (en nuestro caso "RUTINAS_LISP"), y finalmente con la orden " _appload " procederemos a cargar las rutinas que deseemos y estén dentro de dicha carpeta creada.

(NOTA - Si queremos que las rutinas que cargamos con la orden appload, no solo se carguen en la sesión de dibujo actual, y se carguen por defecto cada vez que abramos una sesión de AutoCAD deberemos añadir dichas rutinas al maletin o historial que aparece en el cuadro de dialogo de la orden o comando “_appload”).