De la macro à AutoLISP : un changement de modèle avec AutoCAD LT 2024
Depuis AutoCAD LT 2024, plusieurs niveaux d’automatisation sont possibles pour ce type d’action, du plus simple au plus robuste.
Macro directe (ligne de commande)
La solution classique fonctionne :
^C^C-purger;tout;*;n;_audit;o;_qsave
Personnellement, je privilégie une écriture plus explicite et plus robuste côté interprétation :
^C^C(command "-purger" "tout" "*" "n" "_audit" "o" "_qsave")
Elle est plus lisible et limite certains comportements ambigus selon le contexte (langue, état de la commande, reprise après erreur).
Solution AutoLISP (plus propre et maintenable)
Si AutoLISP est autorisé dans ton environnement, une fonction dédiée reste, à mon sens, la meilleure option :
(defun c:EdpMonPurger ( / )
(repeat 4
(command "-purger" "tout" "*" "n")
)
(command "_audit" "o" "_qsave")
)
La macro associée devient alors triviale :
^C^CEdpMonPurger
Avantages principaux :
- logique centralisée
- macro ultra simple
Où placer la macro
Le conteneur n’a aucune importance fonctionnelle :
- CUIx
- menu
- barre d’outils
- ruban
- palette d’outils
La macro reste strictement identique, seule l’ergonomie change.
À noter : l’exemple présenté se limite volontairement à un PURGE global pour illustrer le principe. En pratique, on peut restreindre le nettoyage à certains objets (blocs, styles, calques), intégrer des contrôles d’intégrité du dessin, ou conditionner l’exécution selon l’état réel du fichier.
Conclusion
Ce changement ne concerne pas une commande ou une syntaxe en particulier, mais une évolution plus large : passer de macros ponctuelles à des automatismes pensés pour être maintenables, évolutifs et compatibles avec les versions récentes d’AutoCAD LT.
Si ce sujet revient régulièrement, c’est parce que beaucoup d’automatismes encore en circulation reposent sur des habitudes anciennes, parfois fonctionnelles mais devenues fragiles face aux évolutions récentes d’AutoCAD LT.
