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. Ainsi, l’automatisation permet de programmer des macros entre les applications, une fonctionnalité qui n'est normalement pas disponible avec AutoLISP. 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.

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 événements sont des actions ou des occurrences initiées par l'utilisateur auxquelles un programme répond.

Remarque :
  • L'automatisation ActiveX dans AutoCAD LT pour Windows est limitée à la bibliothèque ActiveX d'AutoCAD et au langage de programmation AutoLISP uniquement ; AutoCAD LT ne prend pas en charge l'automatisation ActiveX avec VBA ou d'autres langages de programmation. Les bibliothèques ActiveX tierces ne sont également pas prises en charge, telles que celles utilisées pour accéder à Microsoft Word et Microsoft Excel. Vous devez disposer d'AutoCAD ou d'un produit basé sur AutoCAD pour tirer pleinement parti de l'automatisation ActiveX.
  • L'automatisation ActiveX n'est pas prise en charge sur Mac OS ou sur le Web.

Accès aux applications externes avec ActiveX (AutoCAD pour Windows uniquement)

La mise en œuvre d'une interface ActiveX pour la programmation présente deux avantages :

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 créées par des développeurs tiers, suivez leurs instructions d'installation et d'utilisation.

Définition d'une commande externe pour lancer votre application (AutoCAD pour Windows uniquement)

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 permettant 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 nécessite 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 ensuite à votre application.

Conseil : 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.

Lancement d'une application à partir de l'interface utilisateur (AutoCAD pour Windows uniquement)

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.