Activer une palette d’outils AutoCAD : pourquoi je préfère une liste AutoLISP à plusieurs macros CUIX
Une macro qui fonctionne n’est pas forcément une solution maintenable
Lorsqu’un environnement AutoCAD commence à intégrer plusieurs palettes d’outils, une approche fréquente consiste à créer une macro spécifique pour chaque palette.
Cette méthode fonctionne parfaitement lorsque le nombre de palettes est limité.
Mais lorsque les besoins évoluent, que de nouvelles palettes apparaissent ou que certaines sont renommées, la maintenance devient rapidement plus complexe.
Chaque modification impose alors de revenir dans le CUIX pour mettre à jour les commandes concernées.
Une autre approche
Dans le cadre de mes travaux sur les automatisations AutoCAD, j’ai développé une commande AutoLISP nommée EDPS_PALETTES.
Le principe est volontairement simple :
- une seule commande ;
- une liste centralisée des palettes disponibles ;
- un choix effectué par l’utilisateur à partir d’un numéro.
L’objectif n’est pas d’obtenir un gain de performance spectaculaire.
L’objectif est de simplifier les évolutions futures.
Démonstration vidéo
Dans cette démonstration, plusieurs palettes peuvent être appelées à partir d’une seule commande.
L’utilisateur sélectionne simplement le numéro correspondant à la palette souhaitée.
Pourquoi cette approche est intéressante
Cette logique présente plusieurs avantages :
Centralisation de la configuration
La liste des palettes est définie dans un seul emplacement.
Lorsque l’organisation évolue, les modifications sont réalisées à un seul endroit.
Réduction des dépendances au CUIX
Moins de macros à maintenir signifie également moins d’interventions dans les personnalisations AutoCAD.
Préparation d’évolutions futures
Cette commande constitue une première brique d’un projet plus large.
L’objectif est de développer progressivement un ensemble d’outils permettant notamment :
- la gestion de palettes d’outils ;
- l’automatisation des mises en page ;
- la standardisation des dessins ;
- l’assistance aux utilisateurs ;
- la création de bibliothèques métier.
Une approche de niveau 5
Dans mon référentiel d’apprentissage AutoLISP, cette démonstration correspond à une approche de niveau 5.
Le niveau n’est pas déterminé uniquement par la complexité du code.
Il prend également en compte :
- la maintenabilité ;
- la réutilisation ;
- l’organisation des données ;
- la capacité à faire évoluer la solution dans le temps.
Ce qui est montré… et ce qui ne l’est pas
Le code complet n’est pas diffusé publiquement.
Cette démonstration a pour objectif de présenter une démarche de conception et non de fournir une solution prête à l’emploi.
Les développements avancés restent réservés à mes clients, stagiaires et accompagnements.
Conclusion
Le véritable enjeu n’est pas d’ouvrir une palette d’outils.
Le véritable enjeu est de construire des automatisations capables d’évoluer sans remettre en cause l’ensemble de la personnalisation.
Une macro qui fonctionne aujourd’hui est utile.
Une automatisation qui reste maintenable dans deux ans est souvent beaucoup plus précieuse.
