Comment utiliser la fonction (command) d’AutoLISP pour insérer du texte avec la commande TEXTE d’AutoCAD, en spécifiant les arguments (point d’insertion, hauteur, angle de rotation, contenu) ?
Pour utiliser la commande TEXTE d’AutoCAD via la fonction (command) en AutoLISP, il est essentiel de comprendre que les arguments passés à (command) sont les mêmes que ceux que vous saisiriez à la ligne de commande, dans le même ordre. La fonction (command) simule l’interaction utilisateur.
Voici la syntaxe et les arguments typiques pour la commande TEXTE (ou _TEXTE pour une meilleure compatibilité internationale) :
-
Nom de la commande :
- Utilisez
"_text"(préférable pour l’internationalisation) ou"texte".
- Utilisez
-
Point d’insertion :
- Peut être une liste de coordonnées
'(X Y)ou'(X Y Z)(ex:'(10 20)). C’est la méthode la plus robuste. - Peut être une chaîne de caractères
"X,Y"(ex:"10,20") ou"X Y"(ex:"100 100"). - Pour laisser l’utilisateur spécifier le point à l’écran, utilisez le mot-clé
pause.
- Peut être une liste de coordonnées
-
Hauteur du texte :
- Un nombre réel (ex:
2.5). - Une chaîne de caractères représentant un nombre (ex:
"2.5"). - Une chaîne vide
""pour utiliser la hauteur de texte courante définie par le style de texte actif. - Pour laisser l’utilisateur spécifier la hauteur, utilisez
pause.
- Un nombre réel (ex:
-
Angle de rotation :
- Un nombre réel en degrés (ex:
45.0). - Une chaîne de caractères représentant un nombre (ex:
"45"). - Une chaîne vide
""pour utiliser l’angle de rotation courant (généralement 0). - Pour laisser l’utilisateur spécifier l’angle, utilisez
pause.
- Un nombre réel en degrés (ex:
-
Valeur du texte :
- Une chaîne de caractères représentant le contenu du texte (ex:
"Mon texte ici"). - Pour laisser l’utilisateur saisir le texte, utilisez
pause.
- Une chaîne de caractères représentant le contenu du texte (ex:
-
Validation(s) de sortie :
- La commande
TEXTEnécessite généralement deux validations successives ("" "") pour finaliser la saisie et quitter la commande, surtout si le texte est saisi directement.
- La commande
Exemples de syntaxe (command) :
-
Texte fixe (point 10,20, hauteur 5, angle 0, contenu « ici le texte ») :
(command "_text" '(10 20) 5 0 "ici le texte" "" "")ou avec des chaînes pour les valeurs numériques :
(command "_text" "10,20" "5" "0" "ici le texte" "" "") -
Texte avec point, hauteur et rotation spécifiés par l’utilisateur, contenu fixe « ici le texte » :
(command "_text" pause pause pause "ici le texte" "" "") -
Texte avec hauteur et rotation courantes, point et contenu spécifiés par l’utilisateur :
(command "_text" pause "" "" pause "" "")
Point d’attention : Types de variables
Une erreur courante est liée à la confusion entre les types de variables en LISP. Il est crucial de distinguer :
- Les chaînes de caractères (délimitées par des guillemets, ex:
"blabla") - Les listes (délimitées par des parenthèses et précédées d’une apostrophe, ex:
'(10 20)) - Les nombres (ex:
10ou10.0)
Utiliser le bon type pour chaque argument est fondamental pour le bon fonctionnement de la commande (command). Par exemple, "100 100" est une chaîne valide pour un point d’insertion, mais '(100 100) est une liste de deux nombres, et les deux sont acceptés par la commande _text pour le point d’insertion.