chris_mtp Posté(e) le 21 octobre 2011 Auteur Posté(e) le 21 octobre 2011 Merci Bonuscad pour cette fonction.En effet, ca peut aider l'utilisateur. Par contre rein a faire pour modifier mon bout de code lisp et simplifier la saisie de fin des troncons sinon c pas grave Je laisse ca comme ca tant Que ca march Merci encore de ton aideJohn
VtKp Posté(e) le 23 octobre 2011 Posté(e) le 23 octobre 2011 Bonjour à tous, Voilà, j'ai pensé à ce bout de code pour améliorer la saisie de fin de tronçon de mon lisp principal. (defun c:pol2 (/ pol ldxf_10 i pth) (setq pol (car (entsel "\nSélectionner la polyligne à traiter : "))) (setq ldxf_10 (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget pol)))) (setq i 3) ;; pour exemple pour commencer par le tronçon Est et voir si ca marche (setq pth (sais_tr ldxf_10 i)) (princ pth) (prin1) ) (defun sais_tr (l_pol i / ptn l_tro dl_tro s) (setq l_tro (list "Nord" "Nord-Est" "Est" "Sud-Est" "Sud" "Sud-Ouest" "Ouest" "Nord-Ouest")) (cond ((= i 1) (setq dl_tro "Nord")) ((= i 2) (setq dl_tro "Nord-Est")) ((= i 3) (setq dl_tro "Est")) ((= i 4) (setq dl_tro "Sud-Est")) ((= i 5) (setq dl_tro "Sud")) ((= i 6) (setq dl_tro "Sud-Ouest")) ((= i 7) (setq dl_tro "Ouest")) ((= i 8) (setq dl_tro "Nord-Ouest")) ) (while (/= (car l_tro) dl_tro) (setq l_tro (car2last l_tro)) ) (setq s 0) (while (or (and (setq ptn (getpoint (strcat "\nIndiquer la fin du tronçon " (nth s l_tro) " <ou Suivant> : "))) (not (member (list (car ptn) (cadr ptn)) l_pol)) ) ) (if (= s 8) (setq s 0) (setq s (1+ s))) ) ) (defun car2last (lst) (reverse (cons (car lst) (reverse (cdr lst)))) ) Mais ca ne marche pas comme je veux,En fait, je voudrais pouvoir faire défiler la ligne (setq ptn (getpoint (strcat "\nIndiquer la fin du tronçon " (nth s l_tro) " <ou Suivant> : ")))avec un entrée si la saisie ne correspond pas à l'orientation voulue et avec un contrôle pour savoir si le point sélectionné est ou non sur la polyligne à traiter. Merci par avance de votre aide avant de cloturer ce post..... John
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant