Les chaînes de macro de commande sont utilisées pour indiquer à AutoCAD les commandes et variables système à exécuter avec les entrées attendues autorisées sur la ligne de commande. Les caractères spéciaux, les expressions DIESEL et le code de programmation AutoLISP peuvent également être inclus dans une chaîne de macro de commande.
Vous pouvez créer des chaînes de macro de commandes personnalisées qui permettent de :
Vous pouvez définir et modifier les chaînes de macro de commande à l'aide des éléments suivants :
Une chaîne de macro de commande est définie comme une série de commandes et d'options et de valeurs attendues, avec une syntaxe spécialisée, mais elle est similaire à l'entrée que vous entrez sur la ligne de commande d'AutoCAD. Lorsque vous interagissez avec l'interface utilisateur du programme, par exemple en cliquant sur un bouton du ruban ou un élément d'un menu contextuel, vous exécutez une chaîne de macro de commande. La syntaxe d'une macro de commande peut être aussi simple qu'un nom de commande unique (tel que CERCLE) ou plus complexe avec l'inclusion de caractères spéciaux (tels que ^C^C_.circle \1). .
Les caractères spéciaux les plus utilisés dans les chaînes de macro de commandes sont répertoriés ci-dessous :
Voici à quoi ressemble le lancement de la commande CERCLE et la création d'un cercle d'un rayon de 5 sur la ligne de commande d'AutoCAD, et à quoi ressemble cette même entrée en tant que chaîne de macro de commande :
Séquence de l’invite de commande | Équivalence dans la syntaxe de la chaîne de macro |
---|---|
Command: CIRCLE Specify center point for circle or [3P/2P/Ttr (tan tan radius)]: Specify radius of circle or [Diameter] <2.5000>: 5 |
CIRCLE; \ 5; |
Voici à quoi peut ressembler la chaîne de macro de commande finale :
![]() |
|
La chaîne de macro précédente aurait également pu être écrite comme suit sans les points-virgules, car un espace dans une macro équivaut à appuyer sur la barre d'espacement sur la ligne de commande AutoCAD :
^C^C_.circle \5
Voici un autre exemple d'utilisation de la commande MOCORO pour copier et faire pivoter ces objets copiés sur la ligne de commande d'AutoCAD et la séquence de commandes sous forme de chaîne de macro de commande :
Séquence de l'invite de commande | Équivalence dans la syntaxe de la chaîne de macro |
---|---|
Command: MOCORO Select objects: Specify opposite corner: Select objects: Base point: [Move/Copy/Rotate/Scale/Base/Undo]<eXit>: C Second point of displacement/Undo/<eXit>: Second point of displacement/Undo/<eXit>: [Move/Copy/Rotate/Scale/Base/Undo]<eXit>: R Second Point or Rotation angle: [Move/Copy/Rotate/Scale/Base/Undo]<eXit>: |
MOCORO; \ \ ; \ C; \ ; R; \ ; |
Voici à quoi peut ressembler la chaîne de macro de commande finale :
![]() |
|
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.
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).
Chaque caractère d'une macro a sa propre signification, même les espaces. Un espace est interprété comme une pression sur la barre d'espacement, ce qui peut générer un espace dans l'entrée fournie ou comme si vous aviez appuyé sur la touche Entrée. Le résultat est le même que si vous utilisiez la commande ou la variable système sur la ligne de commande.
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.
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.
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
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).
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.