A propos des macros de commandes

Les macros de commandes peuvent inclure des commandes, des caractères spéciaux, des expressions DIESEL ou le code de programmation AutoLISP.

Vous pouvez définir puis affecter une macro à une commande en modifiant la propriété Macro de cette dernière dans la boîte de dialogue Personnaliser interface utilisateur (Windows) ou Personnaliser (Mac OS).

Remarque : AutoLISP n'est pas pris en charge dans AutoCAD LT.

Principes de base des macros

Une macro définit l'action devant être effectuée lorsqu'un élément de l'interface utilisateur est utilisé. Elle peut être aussi simple qu'une commande (par exemple, circle) et inclure des caractères spéciaux (tels que ^C^C).

Par exemple, la macro ^C^C_.circle \1 dessine un cercle avec un rayon de 1 unité. Le tableau suivant présente les composants qui définissent cette macro.

Composants de la macro CIRCLE

Composant

Type de composant

Résultat

^C^C

Séquence de caractères de contrôle spéciaux

Séquence semblable au fait d'appuyer deux fois sur la touche Echap.

_

Caractère de contrôle spécial

Indique que la commande qui suit doit utiliser le nom de commande global et non le nom de commande localisé.

.

Caractère de contrôle spécial

Indique que la commande qui suit doit utiliser la définition de la commande et non la commande redéfinie susceptible d'exister.

CERCLE

Nom de commande

Lance la commande CERCLE.

Caractère spécial

Un espace revient à appuyer sur la barre d'espacement lors de l'utilisation d'une commande.

\

Caractère de contrôle spécial

Crée une pause pour la saisie utilisateur. Dans cet exemple, il s'agit d'une pause pour saisir le centre du cercle.

1

Entrée de valeur

Réponse à l'invite demandant d'indiquer le rayon du cercle ; dans cet exemple, l'unité est égale à 1.

Annulation de la commande active

Lorsque vous cliquez sur un bouton de l'interface utilisateur, la macro qui lui est affectée est exécutée dans le contexte courant du programme. Cela signifie que la macro va tenter d'envoyer des réponses à l'invite courante. Si vous souhaitez vous assurer qu'aucune commande n'est active lors de l'exécution de la macro, ajoutez la séquence de commandes ^C en tant que préfixe à votre commande. Bien qu'un simple symbole ^C permette d'annuler la plupart des commandes, les symboles ^C^C sont requis pour retourner à l'invite de commande à partir de la commande de cotation, et les symboles ^C^C^C sont requis en fonction de l'option courante de la commande -CALQUE. La séquence ^C^C permet d'annuler la plupart des séquences de commande et il est donc recommandé de l'utiliser.

Vérification des caractères d'une macro

Chaque caractère d'une macro a sa propre signification, même les espaces. Si vous placez un espace à la fin de la macro, il est traité comme si vous avez appuyé sur la touche d'espacement ou sur Entrée pour mettre fin à la commande.

Utilisation des commandes standard dans les macros

Les commandes d'AutoCAD ou des produits basés sur AutoCAD doivent utiliser un point (.) en tant que préfixe. Le point permet d'utiliser la commande standard même si sa définition a été annulée à l'aide de la commande NONDEF. Cette précaution rend la macro prévisible lors de son utilisation sur d'autres ordinateurs partageant le même fichier de personnalisation (CUI/CUIx).

Remarque : La définition des commandes ne peut pas être annulée dans AutoCAD LT.

Prise en charge d'autres langues dans les macros

Lorsque vous créez une macro, vous utilisez les noms de commande et les valeurs d'options dans la langue du produit que vous maîtrisez. Chaque commande/option dispose d'un nom local et d'un nom global qui permet aux macros d'être utilisées par les autres langues du produit. La prise en charge dans une langue autre que l'anglais ne nécessite pas beaucoup de travail supplémentaire de votre part. Il vous suffit de faire précéder chaque commande ou option d'un caractère de soulignement (_). Ce caractère de soulignement indique au programme que le nom de la commande ou la valeur de l'option doit être traduit dans la langue locale du produit avant son exécution.

Utilisation du mode de sélection d'objet unique

Le mode de sélection d'objet unique annule la répétition normale de l'invite Choix des objets dans les commandes d'édition. Une fois que vous avez sélectionné un objet et répondu aux invites, la commande prend fin.

Examinez la macro de l'exemple suivant :

^C^C._erase single 

Cette macro arrête la commande courante et lance la commande EFFACER en mode de sélection d'objet unique. Une fois la macro lancée, vous pouvez sélectionner un seul objet ou cliquer sur une zone vide du dessin, puis spécifier une sélection de fenêtre/d'intersection. Tous les objets sélectionnés à l'aide de ces méthodes sont effacés.

Répétition de commandes dans les macros

Après avoir créé une macro, vous pouvez répéter son utilisation avant de passer à une autre commande. Dans une macro, utilisez un astérisque (*) au début pour indiquer que la commande d'une macro doit être répétée jusqu'à ce que vous appuyiez sur la touche Echap ou lanciez une autre macro commençant par ^C.

Les macros des exemples suivants répètent les commandes :

*^C^C._move Single 
*^C^C._copy Single 
*^C^C._erase Single 
*^C^C._stretch Single Crossing 
*^C^C._rotate Single 
*^C^C._scale Single 
Remarque : Vous ne pouvez pas utiliser cette fonction pour choisir des options, ou dans les macros des menus de mosaïque d'images.

Arrêt des macros

Certaines macros requièrent des caractères de fin spéciaux. Par exemple, la commande TEXTE implique d'appuyer sur la touche Entrée plutôt que sur la touche d'espacement pour mettre fin à la commande, et certaines commandes requièrent plusieurs pressions de la barre d'espacement ou de la touche Entrée pour être arrêtées.

Deux conventions spéciales permettent de résoudre ces problèmes.

Comparez les deux macros suivantes :

ucs 
ucs ;

Le premier exemple lance la commande SCU et, puisque la ligne se termine par un espace, il simule une pression de la barre d'espacement. Les invites suivantes s'affichent :

Spécifiez l'origine du SCU ou [Face/NOmmé/OBjet/Précédent/Vue/Général/X/Y/Z/AxeZ] <Général>:

Le second exemple lance la commande SCU, simule une pression de la barre d'espacement, puis une pression de la touche Entrée pour accepter la valeur par défaut (Général).

Suppression de retours et d'invites dans les macros

Les caractères d'une macro s'affichent sur l'invite de commande comme si vous les aviez saisis au clavier. Cette duplication d'affichage est appelée écho. Vous pouvez supprimer l'écho des macros à l'aide de la variable système MENUECHO. Si les retours et les invites issus de la saisie d'un élément sont activés, vous pouvez introduire ^P devant la macro pour les désactiver temporairement. Vous pouvez également utiliser ^Q dans une macro pour supprimer l'affichage de toutes les invites et entrées de l'historique de la ligne de commande.