Aprovechar todas las potencialidades de un lenguaje de programación es un requisito indispensable si se desea desarrollar programas y rutinas potentes y con un código reducido, en el caso de AutoLISP, este se ve repotenciado por objetos ActiveX cuyas funciones están dentro de un lenguaje llamado VisualLISP.
Como sabrán AutoLISP y VisualLISP constituyen los dos lenguajes de programación más importantes que se usan en el programa de CAD AutoCAD de Autodesk, las funciones de VisualLISP se comportan como una agrupación de varias funciones de AutoLISP, por lo que utilizar este lenguaje de programación, permite ahorrar tiempo y minimizar el código empleado en la creación de rutinas.
Mediante este artículo comenzaremos a comentar funciones de AutoLISP y VisualLISP que nos permitan entender un poco mas es uso de las rutinas que se suministran de manera gratuita en ConstrucGeek y empezaremos examinando el objeto Application de VisualLISP.
El objeto Application es el objeto raíz para los objetos del espacio modelo de AutoCAD. Desde el objeto Application, se puede acceder a cualquiera de los otros objetos, o las propiedades o los métodos asignados a los objetos.
Antes de poder utilizar las funciones de ActiveX con AutoLISP, es necesario cargar el código de apoyo que permite utilizar estas funciones. Ese código de apoyo es el siguiente:
(VL-load-com)
Esta función primero comprueba si las funciones ActiveX de apoyo están cargadas, si es así, la función no vuelve a cargar estas funciones, pero si aun no lo están, vl-load-com carga las funciones ActiveX y otras extensiones de VisualLISP para AutoLISP.
Habrás notado que todas las rutinas que utilizan ActiveX debe comenzar llamando a vl-load-com. SI tu rutina utiliza funciones de VisualLISP y no se ha hecho una llamada a estas mediante vl-load-com, la rutina fallará, a menos que el usuario ya ha cargado antes estas ActiveX de apoyo.
Después de cargar las funciones ActiveX de apoyo, el primer paso en el acceso a los objetos de AutoCAD es establecer una conexión con el objeto Application de AutoCAD. Se debe de utilizar la función vlax-get-acad-object para establecer esta conexión, como en el siguiente ejemplo:
(setq acadObject (vlax-get-acad-object))
La función vlax-get-acad-object devuelve un puntero al objeto Application de AutoCAD. En el ejemplo anterior, este puntero de datos se almacena en la variable acadObject. Este valor de retorno existe como un único tipo de datos VLISP llamado VLA-object (objeto VLISP ActiveX).
Cuando se refieren a objetos de AutoCAD con las funciones de ActiveX, debe especificar el tipo de objeto VLA-object. Por esta razón, no se puede utilizar la función entget para acceder a un objeto y a continuación, referirse a ese objeto con una función de ActiveX de VisualLisp. La función Entget devuelve un objeto de tipo de datos ename (entity name). A pesar de que no se puede utilizar este objeto directamente con una función de ActiveX, se puede convertir a un VLA-object utilizando la función vlax-ename->vla-object.
Para examinar las propiedades y métodos de la función vlax-get-acad-object, puedes correr esta rutina adjunta:
[Tienes un archivo adjunto]



tengo ploblemas con los archivos de exel para inportarlos al civil 3d necesito un ejercicio como es el prosedimiento o cundo importo un archivo de autocad como le jenero las curvas
Hola carlos alberto, sería bueno que nos indiques con más detalles que tipo de archivos de Excel deseas importar, son de puntos?, y que es lo que deseas lograr con eso, de esta manera te podríamos ayudar con este tema.