A propos du développement d'applications avec Automatisation ActiveX

Automatisation ActiveX est une technologie développée par Microsoft® et basée sur l'architecture COM (Component Object Model - modèle objet composant). Elle permet de développer les produits basés sur AutoCAD, de partager des données de dessin avec d'autres applications et d'automatiser les tâches.

Vous pouvez créer et manipuler des objets de dessin à partir de toute application faisant office de contrôleur d'automatisation. Par conséquent, le processus Automatisation permet de programmer des macros exécutables dans plusieurs applications, fonctionnalité qui n'est pas disponible dans AutoLISP.

Remarque : ActiveX n'est pas pris en charge avec AutoCAD LT ou sur Mac OS.

La mise en oeuvre d'une interface ActiveX pour le programme présente deux avantages :

Vous pouvez, par exemple, solliciter une saisie, définir des préférences, établir un jeu de sélection ou extraire des données de dessin. Vous pouvez décider du contrôleur à utiliser en fonction du type de manipulation.

Les objets affichés sont appelés objets Automatisation. Les objets Automatisation permettent de disposer de méthodes, de propriétés et d'événements. Les méthodes sont des fonctions qui exécutent une action sur un objet. Les propriétés sont des fonctions qui définissent ou renvoient des informations sur l'état d'un objet. Les Evénements sont des actions ou des occurrences initiées par l'utilisateur auxquelles un programme répond.

Au sein d'AutoCAD, pratiquement tout type d'application peut accéder aux objets Automatisation exposés. Ces applications peuvent être des exécutables autonomes, des fichiers DLL (dynamic linked library - bibliothèque de liaisons dynamiques) et des macros conçues dans des applications telles que Microsoft Word ou Microsoft Excel. Parmi ces applications, l'exécutable autonome est vraisemblablement la plus courante. Si vous utilisez des applications élaborées par des développeurs tiers, suivez leurs instructions d'installation et d'utilisation.

Définition d'une commande externe pour démarrer votre application

Vous pouvez utiliser le fichier acad.pgp pour définir une commande qui exécute une commande externe afin de démarrer une application autonome, à la façon d'un alias de commande qui permet de lancer une commande.

L'exemple ci-dessous définit la commande RUNAPP1, qui exécute app1.exe à partir du répertoire c:\vbapps\. (Ajoutez ce code à la section des commandes externes de votre fichier acad.pgp.)

RUNAPP1, start c:\vbapps\app1, 0

Si votre application requiert des paramètres de ligne de commande, vous pouvez utiliser le code suivant :

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

Cet exemple définit la commande RUNAPP2, qui vous invite à indiquer des paramètres, qu'elle transmet à votre application.

Vous pouvez également utiliser la fonction AutoLISP startapp pour démarrer une application qui recourt à Automatisation. Dès qu'AutoLISP démarre l'application externe, il n'exerce aucun contrôle sur ses actions. Vous pouvez toutefois utiliser AutoLISP pour rechercher et exécuter différentes applications en fonction de paramètres donnés.

Démarrage d'une application à partir de l'interface utilisateur

Après avoir défini une commande externe pour lancer une application autonome, vous pouvez l'utiliser dans une macro de commande à partir d'un élément d'interface utilisateur.

Si vous utilisez seulement une ou deux applications, vous pouvez les ajouter à la barre d'outils d'accès rapide ou à l'un des groupes de fonctions du ruban standard. Si vous disposez d'un groupe d'applications, vous pouvez définir vos propres groupes de fonctions du ruban qui sont spécifiquement dédiés à ces applications.