Acerca del desarrollo de aplicaciones con ActiveX Automation

ActiveX Automation es una tecnología desarrollada por Microsoft® y basada en la arquitectura COM (modelo de objetos de componentes). Puede utilizarse para ampliar los productos basados en AutoCAD, compartir los datos de dibujo con otras aplicaciones y automatizar tareas.

Puede crear y manipular objetos de dibujo desde cualquier aplicación que funcione como controlador de Automation. Por lo tanto, Automation permite la programación de macros entre aplicaciones, una función que normalmente no está disponible con AutoLISP. Supongamos, por ejemplo, que desea solicitar la introducción de datos, definir preferencias, crear un conjunto de selección u obtener datos de dibujo.

Los objetos mostrados se denominan objetos de Automation. Los objetos de Automation hacen que estén disponibles los métodos, las propiedades y los eventos. Los métodos son funciones que llevan a cabo una acción en un objeto. Las propiedades son funciones que definen o devuelven información sobre el estado de un objeto. Los eventos son acciones o sucesos iniciados por el usuario a los que responde un programa.

Nota:
  • ActiveX Automation en AutoCAD LT para Windows se limita solo a la biblioteca de ActiveX de AutoCAD y al lenguaje de programación AutoLISP; AutoCAD LT no admite ActiveX Automation con VBA u otros lenguajes de programación. Tampoco se admiten bibliotecas de ActiveX de terceros, como las que se utilizan para acceder a Microsoft Word y Microsoft Excel. Para aprovechar al máximo ActiveX Automation, debe disponer de AutoCAD o de un producto basado en AutoCAD.
  • ActiveX Automation no es compatible con Mac OS o la web.

Acceso a aplicaciones externas con ActiveX (solo AutoCAD para Windows)

La implementación de una interfaz de ActiveX para el programa ofrece dos ventajas:

Casi cualquier tipo de aplicación puede acceder a los objetos de Automation expuestos en AutoCAD. Estas aplicaciones pueden ser ejecutables independientes, archivos de biblioteca de enlace dinámico (DLL) y macros de programas como Microsoft Word o Microsoft Excel. El tipo más común es seguramente el ejecutable independiente. Si trabaja con aplicaciones creadas por desarrolladores independientes, siga sus instrucciones para la instalación y el uso de esos productos.

Definir un comando externo para iniciar la aplicación (solo en AutoCAD para Windows)

Puede utilizar el archivo acad.pgp para definir un comando que ejecute un comando externo a fin de iniciar una aplicación independiente, similar al de un alias de comando que se puede utilizar para iniciar un comando.

En el siguiente ejemplo, se define el comando RUNAPP1, que ejecuta app1.exe desde el directorio c:\vbapps\. (Añada este código a la sección de comandos externos del archivo acad.pgp).

RUNAPP1, start c:\vbapps\app1, 0

Si la aplicación requiere parámetros de línea de comando, utilice el código siguiente:

RUNAPP2, start c:\vbapps\app2, 0, *Parameters: ,

En este ejemplo, se define el comando RUNAPP2, que solicita la introducción de parámetros y, a continuación, los transfiere a la aplicación.

Consejo: También puede usar la función startapp de AutoLISP para iniciar una aplicación que utilice Automation. Una vez que AutoLISP ha iniciado la aplicación externa, deja de tener control sobre sus acciones. No obstante, puede utilizar AutoLISP para buscar y ejecutar diversas aplicaciones en función de determinados parámetros.

Iniciar una aplicación desde la interfaz de usuario (solo en AutoCAD para Windows)

Después de definir un comando externo para iniciar una aplicación independiente, puede utilizarlo como parte de una macro de comandos desde un elemento de la interfaz de usuario.

Si solo utiliza una o dos aplicaciones, puede añadirlas a uno de los grupos de la cinta de opciones o a la barra de herramientas de acceso rápido. Si tiene un grupo de aplicaciones, puede definir sus propios grupos de la cinta de opciones creados específicamente para esas aplicaciones.