tutorial generacion autolisp

Upload: willy-lining-chuquija-yana

Post on 14-Jul-2015

635 views

Category:

Documents


11 download

TRANSCRIPT

AUTOLISP

Lisp es una familia de lenguajes de programacin de computadora. Fue creado en 1958 por John McCarthy y sus colaboradores en el Instituto Tecnolgico de Massachusetts.

El nombre LISP deriva del "List Processing" (Proceso de Listas).

Aplicado al Autocad se les asigna el nombre de Autolisp a las rutinas escritas en este tipo de lenguaje de programacin.

LISP es un lenguaje diseado para la manipulacin de frmulas simblicas. Ms adelante, naci su aplicacin a la inteligencia artificial. La principal caracterstica de LISP es su habilidad de expresar algoritmos recursivos que manipulen estructuras de datos dinmicos.

En LISP existen dos tipos bsicos de palabras, los tomos y las listas. Todas las estructuras definidas posteriormente son basadas en estas palabras.

La generacin de rutinas en Lisp requiere de conocimientos bsicos de programacin.

Gonzales Cuno, Danny Agustn

COMO SE USAN LOS AUTOLISP? Muchas veces nos hemos dado con un problema al tratar de usar los archivos que obtenemos, el problema es que no sabemos cmo usarlos, simplemente porque no sabemos que comando los ejecuta.

Les enseare una forma de averiguar que debemos digitar para hacer correr nuestros autolisp.

Pero antes debemos aprender a cargar los archivos en el AutoCAD.

Cuando obtenemos un archivo lisp, tendremos uno o dos archivos que en conjunto representar una sola rutina. Un archivo con la extensin *DCL y otro con la extensin *.LSP. Siendo ambos importantes para su ejecucin.

El archivo *DCL es un cuadro de texto, necesario para el funcionamiento

del lisp. El archivo *.LSP es la rutina en s, encontrando muchas veces solo este archivo, siendo suficiente para que la rutina funcione.

Si obtenemos un autolisp con dos archivos debern cargarse ambas al programa.

Primero cargaremos el cuadro de texto:

1er paso: Digitaremos OP en la barra de comandos. Entonces nos aparecer este cuadro. Y escogeremos el botn Add.

Gonzales Cuno, Danny Agustn

Nos aparecer una celda en blanco en la que escribiremos C: ms Enter.

Gonzales Cuno, Danny Agustn

Haciendo doble click en el nuevo objeto nos aparecer un recuadro desde donde escogeremos la ruta a la carpeta donde esta guardado nuestro archivo lisp.

Oprimiremos Aceptar. En seguida la oprimiremos la opcin OK.

Hasta aqu simplemente hemos cargado el cuadro de texto.

2do paso: Digitaremos AP en la barra de comandos, ms Enter.

Gonzales Cuno, Danny Agustn

Nos aparecer un cuadro para cargar la rutina de autolisp que deseamos agregar a los comandos de AutoCAD.

Gonzales Cuno, Danny Agustn

Buscaremos el archivo deseado, que ser reconocido por la extensin *.lsp por ejemplo DDARPOL.lsp y al localizarlo oprimiremos el botn load para cargar la rutina al AutoCAD.

Gonzales Cuno, Danny Agustn

Una vez cargada nuestra rutina, ya podemos utilizarla en nuestro proyectos.

Para ello escribiremos en la barra de comandos una palabra que har que el archivo se ejecute. Por ejemplo Grilla, que ejecuta este lisp muy conocido por nosotros.

Pero aqu viene el gran inconveniente, algunas veces no sabemos que comando o palabra la ejecuta. Tomando en cuenta que no todos los autolisp son ejecutables usando el nombre del archivo que tenemos. Siendo en muchos casos algo muy diferente y sin relacin alguna.

Ahora les voy a explicar el gran secreto de como averiguar este dato tan importante.En primer lugar encontraremos el archivo y los seleccionaremos:

Gonzales Cuno, Danny Agustn

Haremos click derecho a nuestro archivo y seleccionaremos la opcin Abrir con que abrir el lisp en el programa que nosotros escojamos, siendo la opcin adecuada usar el block de notas. Por ultimo oprimiremos Aceptar.

Al hacerlo analizaremos un poco la estructura de nuestro autolisp.

Gonzales Cuno, Danny Agustn

Gonzales Cuno, Danny Agustn

Al abrirse el block de notas nos aparecer una serie de nmeros y letras, muchas veces sin sentido para nosotros, este es lenguaje de programacin que vienen a ser todas las instrucciones que sigue el AutoCAD para hacer que funcione nuestra rutina al ser ejecutada.

Gonzales Cuno, Danny Agustn

Cada lnea cumple una funcin especfica. La palabra que ejecuta la rutina esta siempre escrito despus del comando:

defun c:

Gonzales Cuno, Danny Agustn

Siendo para este ejemplo la palabra Grilla.

Aqu tenemos otros ejemplos para comprender mejor la idea.

Gonzales Cuno, Danny Agustn

Una vez averiguada la palabra que activara nuestra rutina lisp. Y ya cargada en el equipo la ejecutaremos en el AutoCAD o en el Civil 3D.

Escribiendo en la barra de comandos la palabra indicada. Por ejemplo Grilla.

Lo cual nos da los resultados que ya conocemos.

Gonzales Cuno, Danny Agustn

COMO SE GENERAN LOS AUTOLISP

Como ya fue establecido, lisp es un lenguaje de programacin que se utiliza para generar nuevos comandos en el AutoCAD, facilitando el trabajo de dibujo de planos, que para nuestro caso se centran en la Topografa.

Para lograr escribir una rutina lisp, se debe seguir algunas recomendaciones:

- Conocer la sintaxis y las reglas del lenguaje de programacin. - Saber de qu funciones dispone el lenguaje. - Describir exactamente cul es el objeto de la rutina LISP. Los programadores se refieren a esta versin de una rutina como pseudocdigo. - Recorrer el proceso manualmente desde el teclado, si es posible. Este procedimiento de verificacin a priori, ayudar a reconocer rpidamente los problemas en el proceso de desarrollo. - Tomar notas de cada paso. - Anotar qu clculos tuvieron lugar y en qu figuras se basaron. - Escribir el cdigo lo ms ordenado posible, distinguiendo entre: Funcin principal (que ser la que se invoca al utilizar el programa).

Suele incluir la definicin de un nuevo comando AutoCAD. Funciones intermedias, segn la estructura que el programar decida. - Utilizar nombres de funciones y variables fcilmente identificables, limitando el empleo de estas ltimas a aquellas que sean estrictamente necesarias. - Escribir lneas de comentarios. - Utilizar funciones creadas en otros programas. Hacer Bibliotecas de funciones de usuario. - Sangrar el texto del cdigo para facilitar la interpretacin posterior.

Gonzales Cuno, Danny Agustn

Para la generacin en si de estos archivos se utilizara un programa incluido en el AutoCAD o el Civil 3D denominado Visual Lisp.

Para ejecutarlo escribiremos en la barra de comandos Vlisp, esto abrir este programa.

Y abriremos una hoja nueva:

Lo primero que nos corresponde hacer es explicar lo que vamos a realizar con la rutina lisp.

Gonzales Cuno, Danny Agustn

Por ejemplo:

Podemos agregar adems otros datos, como la fecha de creacin de la rutina y el autor. Siendo estos datos al criterio del programador. En segundo lugar ingresaremos la funcin Defun c: y la palabra clave que ejecutara nuestra rutina en el Autocad o el Civil 3D. Por ejemplo: Los parntesis son de suma importancia, estos delimitaran el principio y el final

de los comandos y les darn sentido.

Gonzales Cuno, Danny Agustn

Para este ejemplo simplemente crearemos una rutina que al escribir el comando saludo nos dar un cuadro de dialogo dndonos la bienvenida.

Para ello incluiremos la funcin alert , donde escribiremos el mensaje que nosotros deseamos.

Por ejemplo:

Por ultimo cerraremos el contenido de nuestra rutina con un parntesis. Lo cual har entender al computador que hasta ah llega los comandos a ejecutar.

Fijmonos tambin que la segunda lnea de comandos est dos espacios adelantada que la primera. Y desde ese punto todos las dems lneas tambin se encuentran adelantados. Esto se hace as porque solo as reconoce la separacin entre lneas y ejecuta se ejecuta en el programa.

Para terminar guardaremos el archivo.

Gonzales Cuno, Danny Agustn

Gonzales Cuno, Danny Agustn

Gonzales Cuno, Danny Agustn

Ahora cargaremos el archivo que acabamos de crear, aunque es muy bsica, nos da una idea de cmo funciona la creacin de archivos lisp, siendo este el primer paso para la creacin de funciones ms avanzadas y especficas para nuestras necesidades.

Es necesario para la construccin de este lenguaje de programacin el conocer los comandos necesarios que nos ayudaran a la creacin de nuestras propias rutinas.

Aqu les dejo una lista de algunos comandos y funciones que he podido recolectar, que puede servirnos de base para comenzar.

Solo necesitaremos mucha paciencia y perseverancia, solo as conseguiremos nuestros objetivos.

Gonzales Cuno, Danny Agustn

FUNCIONES

A( Abs) Devuelve el valor absoluto de . (Y ...) Devuelve el AND lgico de una lista de expresiones. Las negativas si las expresiones son nulas. (ngulo ) Devuelve el ngulo en radianes entre dos puntos. (Angtos [ ]) Devuelve el ngulo en forma de cadena. Modo 0 = Grados, 1 = Grados Min Sec, 2 = Graduados, 3 = radianes, 4 = Surveyor (Se aade a ....) Devuelve un nmero de listas en una nica lista. (Aplicar ) Ejecuta la funcin con los argumentos dados en una lista. ( Ascii) Devuelve el valor ASCII del primer carcter de una cadena. (Assoc ) Bsquedas para . (Atan []) Devuelve el arcotangente de o /. ( Atof) Devuelve la conversin de una cadena en un real. ( Atoi) Devuelve la conversin de una cadena en un entero. (tomo ) Devuelve T si no es una lista.

B(Boole