Bonjour à tous,
Voila mon problème,
J'ai fait une petite routine afin de créer une polyligne sur une sélection de point.
Je fais une boucle sur cette sélection, mais le problème c'est que le programme commence la boucle par le dernier élément créé de ma sélection pour finir par le premier.
Moi je voudrais le contraire....
Voici la routine....
Voila je vous remercie par avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 (defun c:d-courbe() (setvar "clayer" "0") (setq selbha (ssget "X" '((8 . "0") (2 . "altmat")))) (command "_pline" (if selbha (progn ; (while (/= (sslength selbha) 0) ; on compte le nombre de point (setq long (sslength selbha)) (print long) (setq ent (ssname selbha 0)) (setq compte 0) ;Renvoie le nom d'objet (entité) de l'élément indexé dans un jeu de sélection (setq e1 (ssname selbha compte)) ;Récupère les données de définition d'un objet (entité). (setq e (entget e1)) (setq p1 (cdr (assoc 10 e))) (setq e2 (entnext ent)) (setq e3 (entnext e2)) (setq e4 (entnext e3)) (setq code (cdr(assoc 1 (entget e4)))) ;(print code) (command "_non" p1) (if (= code "4") (command "Clore") (if (= code "3") (command "") (if (= code "1") (command "_non" "LI") (if (= code "2") (command "_non" "Arc") );if );if );if );if (setq selbha (ssdel ent selbha)) ) ; while ) ; progn );if ) )
Partager