Allez, on se détend ! L’AutoLISP a souvent l’air effrayant avec toutes ses parenthèses, mais promis, la fonction substr est aussi simple que de couper une part de gâteau. ![]()
En gros, substr (pour substring ou « sous-chaîne ») sert à dire à AutoCAD® : « Prends ce texte, et découpe-moi un morceau précis à l’intérieur. »
Voici comment ça marche, sans jargon compliqué.
La Recette Magique 
La fonction a besoin de 3 ingrédients (dont un facultatif) :
-
Le texte (La phrase complète).
-
Le départ (À quel caractère on commence à couper ?).
-
La longueur (Combien de caractères on garde ? Optionnel).
La syntaxe ressemble à ça :
(substr "MonTexte" Départ Longueur)
Exemple 1 : La découpe chirurgicale
Imaginons que tu as le texte « AutoCAD® » et que tu veux juste récupérer « Auto ».
On commence à la 1ère lettre, et on en prend 4.
(substr "AutoCAD" 1 4)
;; Résultat : "Auto"
Exemple 2 : « Garde-moi tout le reste ! »
C’est l’astuce cool. Si tu ne donnes pas la longueur (le 3ème ingrédient), substr comprend : « Commence ici et prends tout jusqu’à la fin ».
Disons que tu as un calque nommé « ARCH-MURS » et tu veux enlever le préfixe « ARCH- » (qui fait 5 caractères). On commence donc au 6ème caractère.
(substr "ARCH-MURS" 6)
;; Résultat : "MURS"
Le Piège à éviter (Attention !)
Dans beaucoup de langages de programmation, on commence à compter à 0.
Mais AutoLISP est un « vieux sage » : il compte comme les humains, en commençant à 1.
-
"A"est le caractère n°1. -
"u"est le caractère n°2.
Si tu demandes de commencer à 0, AutoCAD® va te regarder de travers (et te renvoyer une erreur).
Petit exercice pratique
Tu veux extraire l’année de ta version « AutoCAD® 2026 ».
On compte : "AutoCAD® " (avec l’espace) = 8 caractères. Le « 2 » de 2026 est donc le 9ème.
(setq maVersion "AutoCAD 2026")
(setq annee (substr maVersion 9))
;; La variable 'annee' contient maintenant "2026"
En programmation, une String (ou « Chaîne de caractères » en français), c’est tout simplement du texte.
Pourquoi ce nom bizarre ? 
Imagine un collier de perles.
-
Chaque perle est une lettre, un chiffre ou un symbole.
-
Le fil (string en anglais) relie toutes ces perles pour en faire un seul objet.
Pour l’ordinateur, "Bonjour" n’est pas un mot magique, c’est une suite logique : B puis o puis n… attachés ensemble.
La Règle d’Or : Les Guillemets "
C’est le secret pour qu’AutoCAD® ne s’embrouille pas.
-
Sans guillemets, AutoCAD® croit que c’est une commande ou une variable (ex:
LIGNE). -
Avec guillemets, AutoCAD® comprend que c’est juste du texte inerte (ex:
"LIGNE").
Le piège classique (Le faux jumeau)
C’est là que les débutants se font avoir :
-
2026: C’est un nombre. Tu peux faire des maths avec (2026 + 1 = 2027). -
"2026": C’est une string (du texte). Pour l’ordinateur, c’est juste un dessin de chiffres. Tu ne peux pas l’additionner, tout comme tu ne peux pas additionner « Chat » + « Chien ».
En résumé : Si c’est entre guillemets, c’est une String !
C’est tout ! Tu sais maintenant découper du texte.
- Utile
- Peut mieux faire
- Inutile
Tous les tutos AutoLISP
