1 Respuesta
Respuesta de speedcad
1
1
Te voy a dar una instroduccion acerca de AutoLISP.
Como se sabe una de las características más poderosas de AutoCAD es su interfaz de programación. Con el soporte para programación AutoLISP, ARx, VBA y programación de secuencias de comandos, puedes personalizar AutoCAD de la forma que desees.
LISP es un lenguaje de programación desarrollado originalmente para usarse en la investigación de inteligencia artificil a principios de los años sesenta. En la actualidad se emplea una docena de dialectos, o subconjuntos, de LISP. Todos los datos de LISP se escriben en forma de lista.
AutoLISP es el subconjunto LISP de Autodesk. Debido a la popularidad generalizada de AutoCAD, hoy en día existen más usuarios de AutoLISP en todo el mundo que de cualquier otra implementación del popular LISP. AutoLISP apareció en las primeras versiones de AutoCAD y desde entonces ha sido una característica muy popular, aunque ha cambiado poco. Con la introducción de Visual LISP como parte de AutoCAD 2000 fue posible agregar algunas expresiones significativas a las capacidades de AutoLISP.
La programación con AutoLISP es más fácil de lo que crees. De hecho la mayoría de los usuarios de AutoCAD que programan con AutoLISP no contaban con experiencia en programación antes de aprender AutoLISP.
Supongo que conoces las macros de menús, es decir, cuando creas menús nuevos o barras de herramientas, estas herramientas son poderosas pero algo limitadas en cuanto a flexibilidad y complejidad. Las rutinas AutoLISP simples van un paso adelante de las macros y pueden actuar como comandos personalizados de AutoCAD que dan indicaciones, proporcionan instrucciones y ofrecer opciones.
Este es un ejemplo de una macro en AutoLISP.
(Defun c:ze ()
(command "_zoom" "_e")
)
Esto puede que te sea confuso al principio, pero es simple. Todas las macros de AutoLISP siguen una fórmula compuesta de dos elementos básicos. Primero tenemos una definición de función, que no es otra cosa que el nombre de la macro. A continuación aparece una llamada a un comando de AutoCAD, junto con entradas correspondientes a los indicadores de comandos, como si los estuvieras introduciendo desde el teclado en la linea de comandos. En la macro de ejemplo, la función defun se emplea para declarar la intención de definir una nueva función (una macro) y declarar su nombre. Esta macro ejecutara un zoom extents con solo poner en la linea de comandos el nuevo comando definido ZE. Para que ZE funcione como comando se antepone el prefijo C:.
El siguiente elemento de una macro de AutoLISP estándar es una llamada a un comando estándar de AutoCAD. Lógicamente una la función command de AutoLISP para llamar a comandos de AutoCAD. Después de llamar o iniciar el comando, debe encargarse de responder a todos los indicadores asociados con el comando. En el caso de c:ze, se inicia el comando zoom. Ahora, las nueve opciones del comando zoom están disponibles tal y como sucede en la linea de comandos. En al caso de c:ze deseamos ejecutar un zoom y luego un extents. En el teclado, tu podrías escribir Z (enter) y luego e (enter) para hacer un zoom extents. Mientras que con la macro c:ze podrás indicar directamente el zoom extents.
Estas macros se guardan con la extensión *. Lsp (lisp) por ejemplo copia el ejemplo que te di y luego pégalo en el block de notas y guardalo como zentents. Lsp, para ocuparlo en AutoCAD debes hacer lo siguiente:
Estando en AutoCAD escribe en la linea de comandos APPLOAD y das un enter, se abrirá un cuadro para cargar varios tipos de archivo progamables para AutoCAD, de la lista elige la extensino *. Lsp, ahora debes ir al directorio donde guardaste el archivo lisp, yo te recomiendo que lo guardas dentro de la carpeta de AutoCAD para que no lo estas buscando. Una vez encontrado el archivo lo seleccionas y luego pinchas LOAD y después cierras el cuadro. La macro ya estará cargada para ocuarla pero solo en el dibujo actual, si abres otro dibujo la macro no estará cargada y deberás volver a cargarla de nuevo, obviamente existen funciones de AutoLISP para que siempre esta cargada la macro, pero primero es bueno que entiendas el lenguaje. Ahora, después de cargar la rutina crea un dibujo, alejalo de la pantalla y luego escribe ze y das un enter, veras que hará un zoom extents en seguida.
El truco en la escrituras de macros de AutoLISP estriba en conocer los comandos de AutoCAD y sus opciones, así como el tipo de información que solicitan los diversos indicadores y opciones. Por lo general puedes ahorrar tiempo y reducir el numero de errores en tus macros ejecutándolas primero desde el teclado de la manera convencional, es decir, escribiendo linea por linea en la linea de comandos de AutoCAD.
Bueno creo que con esto podrás sacar alguna conclusión de lo que es AutoLISP y para que sirve.
Todo lo que te dije acá lo he y hay mucho más...
Si quieres más información mandame un email a [email protected]
Como se sabe una de las características más poderosas de AutoCAD es su interfaz de programación. Con el soporte para programación AutoLISP, ARx, VBA y programación de secuencias de comandos, puedes personalizar AutoCAD de la forma que desees.
LISP es un lenguaje de programación desarrollado originalmente para usarse en la investigación de inteligencia artificil a principios de los años sesenta. En la actualidad se emplea una docena de dialectos, o subconjuntos, de LISP. Todos los datos de LISP se escriben en forma de lista.
AutoLISP es el subconjunto LISP de Autodesk. Debido a la popularidad generalizada de AutoCAD, hoy en día existen más usuarios de AutoLISP en todo el mundo que de cualquier otra implementación del popular LISP. AutoLISP apareció en las primeras versiones de AutoCAD y desde entonces ha sido una característica muy popular, aunque ha cambiado poco. Con la introducción de Visual LISP como parte de AutoCAD 2000 fue posible agregar algunas expresiones significativas a las capacidades de AutoLISP.
La programación con AutoLISP es más fácil de lo que crees. De hecho la mayoría de los usuarios de AutoCAD que programan con AutoLISP no contaban con experiencia en programación antes de aprender AutoLISP.
Supongo que conoces las macros de menús, es decir, cuando creas menús nuevos o barras de herramientas, estas herramientas son poderosas pero algo limitadas en cuanto a flexibilidad y complejidad. Las rutinas AutoLISP simples van un paso adelante de las macros y pueden actuar como comandos personalizados de AutoCAD que dan indicaciones, proporcionan instrucciones y ofrecer opciones.
Este es un ejemplo de una macro en AutoLISP.
(Defun c:ze ()
(command "_zoom" "_e")
)
Esto puede que te sea confuso al principio, pero es simple. Todas las macros de AutoLISP siguen una fórmula compuesta de dos elementos básicos. Primero tenemos una definición de función, que no es otra cosa que el nombre de la macro. A continuación aparece una llamada a un comando de AutoCAD, junto con entradas correspondientes a los indicadores de comandos, como si los estuvieras introduciendo desde el teclado en la linea de comandos. En la macro de ejemplo, la función defun se emplea para declarar la intención de definir una nueva función (una macro) y declarar su nombre. Esta macro ejecutara un zoom extents con solo poner en la linea de comandos el nuevo comando definido ZE. Para que ZE funcione como comando se antepone el prefijo C:.
El siguiente elemento de una macro de AutoLISP estándar es una llamada a un comando estándar de AutoCAD. Lógicamente una la función command de AutoLISP para llamar a comandos de AutoCAD. Después de llamar o iniciar el comando, debe encargarse de responder a todos los indicadores asociados con el comando. En el caso de c:ze, se inicia el comando zoom. Ahora, las nueve opciones del comando zoom están disponibles tal y como sucede en la linea de comandos. En al caso de c:ze deseamos ejecutar un zoom y luego un extents. En el teclado, tu podrías escribir Z (enter) y luego e (enter) para hacer un zoom extents. Mientras que con la macro c:ze podrás indicar directamente el zoom extents.
Estas macros se guardan con la extensión *. Lsp (lisp) por ejemplo copia el ejemplo que te di y luego pégalo en el block de notas y guardalo como zentents. Lsp, para ocuparlo en AutoCAD debes hacer lo siguiente:
Estando en AutoCAD escribe en la linea de comandos APPLOAD y das un enter, se abrirá un cuadro para cargar varios tipos de archivo progamables para AutoCAD, de la lista elige la extensino *. Lsp, ahora debes ir al directorio donde guardaste el archivo lisp, yo te recomiendo que lo guardas dentro de la carpeta de AutoCAD para que no lo estas buscando. Una vez encontrado el archivo lo seleccionas y luego pinchas LOAD y después cierras el cuadro. La macro ya estará cargada para ocuarla pero solo en el dibujo actual, si abres otro dibujo la macro no estará cargada y deberás volver a cargarla de nuevo, obviamente existen funciones de AutoLISP para que siempre esta cargada la macro, pero primero es bueno que entiendas el lenguaje. Ahora, después de cargar la rutina crea un dibujo, alejalo de la pantalla y luego escribe ze y das un enter, veras que hará un zoom extents en seguida.
El truco en la escrituras de macros de AutoLISP estriba en conocer los comandos de AutoCAD y sus opciones, así como el tipo de información que solicitan los diversos indicadores y opciones. Por lo general puedes ahorrar tiempo y reducir el numero de errores en tus macros ejecutándolas primero desde el teclado de la manera convencional, es decir, escribiendo linea por linea en la linea de comandos de AutoCAD.
Bueno creo que con esto podrás sacar alguna conclusión de lo que es AutoLISP y para que sirve.
Todo lo que te dije acá lo he y hay mucho más...
Si quieres más información mandame un email a [email protected]
- Compartir respuesta
- Anónimo
ahora mismo