ActiveX Automation è una tecnologia sviluppata da Microsoft® e basata sull'architettura COM (Component Object Model). Può essere utilizzata per estendere i prodotti basati su AutoCAD, condividere i dati dei disegni con altre applicazioni e automatizzare le operazioni.
È possibile creare e gestire oggetti di disegno da qualunque applicazione che svolga la funzione di controller Automation. In questo modo, Automation consente la programmazione di macro in grado di interagire con diverse applicazioni, una possibilità non offerta da AutoLISP.
L'implementazione di un'interfaccia ActiveX per il programma offre due vantaggi:
È ad esempio possibile richiedere un input, impostare preferenze, creare un gruppo di selezione o recuperare i dati del disegno. È possibile decidere quale controller utilizzare a seconda del tipo di gestione.
Gli oggetti visualizzati sono chiamati oggetti Automation Gli oggetti Automation rendono disponibili metodi, proprietà ed eventi. I metodi sono funzioni che consentono l'esecuzione di un'azione su un oggetto. Le proprietà sono funzioni che consentono di impostare o restituire informazioni sullo stato di un oggetto. Gli eventi sono azioni avviate dall'utente o occorrenze alle quali un programma risponde.
In teoria, qualsiasi tipo di applicazione può accedere agli oggetti Automation esposti all'interno di AutoCAD. Tali applicazioni possono essere eseguibili autonomi, file DLL (Libreria di collegamento dinamico, Dynamic Link Library) e macro contenute in applicazioni quali Microsoft Word o Microsoft Excel. L'applicazione di uso più comune è probabilmente un eseguibile autonomo. Se si utilizzano applicazioni realizzate da sviluppatori di terze parti, attenersi alle istruzioni fornite per l'installazione e l'uso del prodotto.
È possibile utilizzare il file acad.pgp per definire un comando che esegue un comando esterno per avviare un'applicazione indipendente, in modo analogo ad un alias di comando che può essere utilizzato per l'avvio di un comando.
Nel seguente esempio viene definito il comando RUNAPP1, che esegue l'applicazione app1.exe dalla directory c:\vbapps\. Aggiungere questo codice alla sezione dei comandi esterni del file acad.pgp.
RUNAPP1, start c:\vbapps\app1, 0
Se l'applicazione richiede parametri della riga di comando, è possibile utilizzare il seguente codice:
RUNAPP2, start c:\vbapps\app2, 0, *Parameters: ,
In questo esempio viene definito il comando RUNAPP2, che richiede all'utente l'immissione di parametri da passare all'applicazione.
È anche possibile utilizzare la funzione startapp di AutoLISP per avviare un'applicazione che utilizzi Automation. Una volta avviata l'applicazione esterna, AutoLISP non sarà in grado di controllarne le azioni. È tuttavia possibile utilizzare AutoLISP per individuare ed eseguire applicazioni differenti in base a determinati parametri.
Dopo aver definito un comando esterno per l'avvio di un'applicazione indipendente, è possibile utilizzare tale comando come parte di una macro di menu da un elemento dell'interfaccia utente.
Se si utilizzano non più di due applicazioni, è possibile aggiungerle ad uno dei gruppi della barra multifunzione o alla barra degli strumenti Accesso rapido. Se si ha un gruppo di applicazioni, è possibile definire gruppi della barra multifunzione personalizzati per tali applicazioni.