(list), la fonction qui créé des listes, et l'AutoLISP, c'est fait pour ça !

Pourquoi ce langage s’appelle LISP ? Cela veut dire LISt Processing (Traitement de Listes).

Donc, si vous comprenez la fonction (list), vous avez compris l’âme du langage ! :ghost:

1. Le Concept : « Le Sac de Courses » :shopping_bags:

Imaginez que vous êtes au supermarché.

Vous avez dans les mains :

  • Une pomme :red_apple:

  • Une bouteille de lait :glass_of_milk:

  • Un paquet de gâteaux :cookie:

C’est galère à porter, ça roule partout, vous allez en faire tomber un.

La fonction (list), c’est simplement le geste de prendre un sac et de tout mettre dedans.

Au lieu de gérer 3 objets séparés, vous ne gérez plus qu’un seul objet : Le Sac (qui contient les 3 autres).

2. La Syntaxe (Emballage Express)

C’est d’une simplicité enfantine :

(list  TRUC1  TRUC2  TRUC3 ...)

Vous pouvez y mettre ce que vous voulez : du texte, des nombres, et même d’autres listes !

3. L’Exemple Concret : Le Point 3D avec ses coordonnées X,Y et Z :round_pushpin:

Dans AutoCAD®, c’est vital. AutoCAD® ne comprend pas « X=10 » et « Y=20 » séparément. Pour lui, un point, c’est une liste de 3 nombres (X Y Z).

Regardez ce petit programme. On a des coordonnées en vrac, et on va les « emballer » pour qu’AutoCAD® puisse les comprendre.

Copiez-collez ceci et lancez TEST-LISTE :

(defun c:TEST-LISTE ( / x y z mon-point )
  
  (prompt "\n--- PRÉPARATION DU COLIS ---")

  ;; 1. On a des variables en vrac (les ingrédients)
  (setq x 50.0)
  (setq y 100.0)
  (setq z 0.0)

  ;; 2. LE MOMENT MAGIQUE : La fonction (list)
  ;; On rassemble tout ça dans une seule variable 'mon-point'
  (setq mon-point (list x y z))

  ;; À ce stade, 'mon-point' vaut : (50.0 100.0 0.0)
  
  ;; 3. Preuve que ça marche : On dessine une ligne vers ce point
  ;; AutoCAD a besoin d'une LISTE pour savoir où cliquer !
  (command "_.LINE" '(0 0 0) mon-point "")
  
  (alert (strcat "J'ai créé une liste qui contient : " (vl-princ-to-string mon-point)))
  (princ)
)

Résumé pour briller

  • Si vous avez des données éparpillées (X, Y, Z, Largeur, Hauteur…), utilisez (list) pour les regrouper.

  • Le résultat est toujours entre parenthèses : (10 20 30).

  • C’est comme ça qu’on fabrique des points pour dessiner des lignes ou des cercles !

Facile, non ? C’est juste du rangement ! :package:

  • Utile
  • Peut mieux faire
  • Inutile
0 votant

:right_arrow: Tous les tutos AutoLISP