Lancer une macro ou routine LISP via la ligne de commande dans AutoCAD

Comment exécuter une macro (ou une séquence d’actions automatisée, comme la définition d’un SCU et la copie d’un objet) directement depuis la ligne de commande d’AutoCAD, après l’avoir créée via un bouton ou l’enregistreur d’actions ?

Pour exécuter une séquence d’actions automatisée ou une macro depuis la ligne de commande d’AutoCAD, plusieurs approches sont possibles, notamment via LISP ou les macros d’action (introduites dans AutoCAD 2009).

Voici les méthodes recommandées :

  1. Utilisation d’une Routine LISP (Solution adoptée par l’utilisateur)
    La méthode la plus flexible et puissante pour automatiser des tâches et les rendre appelables depuis la ligne de commande est d’utiliser le langage AutoLISP. C’est la solution qu’a finalement adoptée l’utilisateur pour résoudre son problème.

    • Création de la routine LISP : Écrivez votre séquence de commandes et logiques dans un fichier .LSP. Pour qu’une fonction LISP soit directement appelable comme une commande AutoCAD, elle doit être définie avec le préfixe C:, par exemple :
      (defun C:MA_COMMANDE_PERSONNALISEE ()
        (command "_UCS" "_World") ; Exemple : Définir le SCU Monde
        (command "_COPYCLIP")     ; Exemple : Copier l'objet sélectionné dans le presse-papier
        (princ)
      )
      
    • Chargement du fichier LISP :
      • Utilisez la commande APPLOAD (ou _APPLOAD) pour charger manuellement le fichier .LSP dans la session AutoCAD.
      • Pour un chargement automatique à chaque démarrage d’AutoCAD, placez le fichier LISP dans un dossier de support et ajoutez-le à la liste des applications au démarrage via APPLOAD, ou intégrez-le dans acad.lsp ou acaddoc.lsp.
    • Exécution depuis la ligne de commande : Une fois le LISP chargé, tapez simplement le nom de la fonction (sans le préfixe C:) à la ligne de commande et appuyez sur Entrée. Pour l’exemple ci-dessus, vous taperiez MA_COMMANDE_PERSONNALISEE.
  2. Utilisation de l’Enregistreur d’Actions (Action Recorder)
    Introduite dans AutoCAD 2009, cette fonctionnalité permet d’enregistrer une séquence de commandes et d’actions pour les rejouer ultérieurement. C’est une excellente option pour les tâches répétitives simples.

    • Enregistrement de l’action :
      • Lancez l’enregistreur d’actions avec la commande ACTRECORD (ou en cliquant sur le bouton ‹ Enregistrer › dans le ruban, onglet ‹ Gérer ›, groupe ‹ Enregistreur d’actions ›).
      • Exécutez les commandes et actions souhaitées (ex: _UCS, _COPYCLIP).
      • Arrêtez l’enregistrement avec ACTSTOP (ou le bouton ‹ Arrêter ›).
      • Enregistrez la macro d’action sous un nom significatif (ex: MaMacroSCUCopie). Le fichier sera sauvegardé avec l’extension .ACTM.
    • Exécution depuis la ligne de commande :
      • Pour exécuter une macro d’action enregistrée, utilisez la commande ACTPLAY suivie du nom de la macro. Par exemple : ACTPLAY MaMacroSCUCopie.
      • Alternativement, si la macro d’action a été définie comme une commande dans l’interface utilisateur personnalisée (CUI), vous pouvez simplement taper son nom directement à la ligne de commande.

Bonnes Pratiques :

  • LISP est préférable pour les automatisations complexes, les logiques conditionnelles, les boucles, et l’interaction avancée avec les objets AutoCAD.
  • L’Enregistreur d’Actions est idéal pour des séquences de commandes simples et linéaires, ne nécessitant pas de logique complexe ou d’interaction utilisateur dynamique.
  • Pour une meilleure gestion et un accès rapide, vous pouvez intégrer vos routines LISP ou macros d’action dans l’interface utilisateur personnalisée (CUI) d’AutoCAD, en les associant à des boutons de barre d’outils, des éléments de menu ou des raccourcis clavier.