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. Al hacerlo, Automation activa la programación de macros en todas las aplicaciones. Esta función no existe en AutoLISP.

Nota: No se admite el uso de ActiveX con AutoCAD LT o en Mac OS.

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

Supongamos, por ejemplo, que desea solicitar la introducción de datos, definir preferencias, crear un conjunto de selección u obtener datos de dibujo. Puede decidir qué controlador se debe utilizar, en función del tipo de manipulación que se va a llevar a cabo.

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 sobre un objeto. Las propiedades son funciones que definen u obtienen información sobre el estado de un objeto. Los eventos son acciones iniciadas por el usuario u ocurrencias a las que responde un programa.

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 utilización de esos productos.

Definición de un comando externo para iniciar la aplicación

Puede utilizar el archivo acad.pgp para definir un comando que ejecute un comando externo para 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 EJECUTARAPL1, que ejecuta app1.exe desde el directorio :\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: ,

Este ejemplo define el comando EJECUTARAPL2, que solicita la introducción de parámetros y los traspasa a la aplicación.

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

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.