J’aimerais avoir une explication détaillée sur les variables définies par AutoLISP, en particulier les constantes globales Visual LISP. Je souhaite comprendre leur utilité, leur mode d’initialisation et si elles sont accessibles ou modifiables par un utilisateur d’AutoCAD.
Les variables définies par AutoLISP, souvent appelées constantes, sont des symboles qui facilitent la programmation en remplaçant des valeurs numériques obscures par des noms explicites, principalement pour interagir avec l’interface ActiveX (COM) d’AutoCAD. Elles ne doivent pas être confondues avec les variables système d’AutoCAD.
Voici une analyse détaillée de leur fonction, initialisation et accessibilité :
-
À quoi servent ces constantes ?
Leur rôle principal est de rendre le code LISP plus lisible en utilisant des noms compréhensibles plutôt que des nombres entiers. On peut les classer en trois catégories :- Constantes AutoCAD® (Préfixe
acouvlax-) :
Elles définissent des propriétés d’objets ou des paramètres spécifiques à l’environnement AutoCAD. Par exemple, au lieu d’utiliser le chiffre 1 pour la couleur rouge, le développeur utiliseacRed.- Couleurs et Apparence :
acRed,acBlue,acByLayer. - Types d’objets :
acLine(Ligne),acPoint(Point),acRegion(Région). - Échelles de fenêtres (Viewport) : La série
acViewportScaledéfinit les échelles standard, commeacViewportScale1_50pour le 1/50ème. - Justification de texte :
acAlignmentLeft,acAlignmentCenter. - Épaisseurs de plume :
acLnWt035correspond à 0.35mm.
- Couleurs et Apparence :
- Constantes Visual Basic / ActiveX (Préfixe
vlax-ouvb) :
Ces variables sont utilisées pour communiquer avec Windows ou d’autres applications via l’interface ActiveX. Elles définissent souvent des types de données ou des options pour les boîtes de dialogue.- Types de variables :
vlax-vbInteger(Entier),vlax-vbDouble(Nombre réel),vlax-vbString(Chaîne de texte). - Boîtes de dialogue (Message Box) :
vlax-vbCritical(Icône d’erreur critique),vlax-vbYesNo(Boutons Oui/Non).
- Types de variables :
- Constantes LISP Standard :
Quelques variables font partie du langage AutoLISP de base.pi: La valeur mathématique de Pi (3.14159…).T: Représente la valeur « Vrai » (True) en logique Lisp.pause: Utilisé dans les commandes pour attendre une entrée utilisateur.
- Constantes AutoCAD® (Préfixe
-
À quel moment sont-elles initialisées ?
La distinction est cruciale pour comprendre leur disponibilité :- Au lancement d’AutoCAD® : Les constantes de base comme
pi,Tetpausesont chargées immédiatement au démarrage du noyau LISP. - Au chargement des fonctions étendues (Visual LISP) : La grande majorité des variables commençant par
acetvlax-ne sont pas présentes par défaut au lancement pur d’AutoCAD. Elles sont initialisées lorsque l’environnement Visual LISP est chargé, ce qui se produit généralement lorsqu’un script exécute la fonction(vl-load-com). La plupart des routines LISP modernes (y compris les Express Tools) lancent cette fonction pour activer les fonctionnalités avancées.
- Au lancement d’AutoCAD® : Les constantes de base comme
-
Sont-elles accessibles et modifiables par l’utilisateur ?
- Accessibilité technique : Oui, elles sont totalement accessibles. Si vous tapez
!acRedsur la ligne de commande AutoCAD, le système vous retournera sa valeur numérique (par exemple, 1). De même,!acViewportScale1_50donnera la valeur entière correspondante (probablement un ID interne pour cette échelle). - Utilité pour l’utilisateur lambda : Elles ont très peu d’intérêt direct pour un dessinateur classique. Elles ne contrôlent pas le comportement d’AutoCAD comme le feraient les variables système (
OSMODE,FILEDIA). - Modification : Bien qu’elles soient techniquement modifiables (AutoLISP permet de redéfinir presque tout), il est fortement déconseillé de les toucher. Ce sont des constantes de référence pour les programmes. Changer la valeur de
acRedne modifiera pas la couleur rouge dans AutoCAD ; cela brisera simplement les scripts Lisp qui s’attendent à ce queacRedvaille 1.
- Accessibilité technique : Oui, elles sont totalement accessibles. Si vous tapez
En résumé, cette liste de constantes est le « dictionnaire » que Visual LISP charge en mémoire pour traduire des concepts humains (comme « Rouge », « 1/50ème », « Texte Centré ») en valeurs numériques que le processeur d’AutoCAD comprend, facilitant ainsi la programmation et l’interaction avec l’API.