DenisHen Posté(e) le 23 août 2016 Posté(e) le 23 août 2016 Bonjour à tous. Voilà, j'ai un petit souci de sortie d'un (while dans une routine. C'est un lisp qui demande à l'utilisateur l'orientation du DWG tout en gardant le SCU général. Deux possibilités : 1. cliquer un point qui sert de base au futur angle et un deuxième clique pour avoir la nouvelle orientation, 2. taper "h" à l'invite de commande pour revenir à une orientation type Vue\Haut. Mon problème, je commence par un (while mais je n'en sors pas. Si je répond "h" à l'invite, tout ce passe bien mais le lisp redemande le point de départ... Si quelqu'un a une astuce, un conseil... Je suis preneur... Voici l'extrait de code : (while (/= (type p1) 'LIST) (initget 1 "Horizontale") (setq p1 (getpoint "\nPoint de départ ou [Horizontale] <Horizontale> : " ) ;_ Fin de getpoint ) ;_ Fin de setq (if (= p1 "Horizontale") (progn (initget 7) (command "-vue" "g" "h") (command "snapang" "0") (vlax-ldata-put "DenisH" "AngSCU" 0) ) ;_ Fin de progn (progn (setq vortho (getvar "orthomode")) (setvar "orthomode" 0) (setq p2 (getpoint p1 (strcat "\tDirection des X :"))) (setvar "orthomode" vortho) (setvar "snapang" (angle p1 p2)) (setq angscu (- 500 (* 200 (/ (angle p1 p2) pi)))) (if (<= angscu 400) (- angscu 400) ) ;_ Fin:if (setq p3 (polar p1 (+ (angle p1 p2) (/ pi 2)) 1000)) (vlax-ldata-put "DenisH" "AngSCU" angscu) (princ (strcat "\tNouvel angle de vue : " (rtos angscu 2 2) "gr") ) ;_ Fin de princ (command "_ucs" "_z" p1 p3) (command "_plan" "courant") (command "_ucs" "_w") (setvar "snapmode" 0) (setvar "cmdecho" echo) (command "zoom" "_w" p1 p2) ) ;_ Fin de progn ) ;_ Fin de if ) ;_ Fin de while Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
vincentp010 Posté(e) le 23 août 2016 Posté(e) le 23 août 2016 Salut, c'est normal tu as mis "tant que type p1 est différent de liste""Horizontale" est différent de liste (c'est un texte) donc la boucle recommence. Aide au téléchargement du cadastre dgfip-download-helper Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0 Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js
DenisHen Posté(e) le 23 août 2016 Auteur Posté(e) le 23 août 2016 Salut vincentp010, J'ai bien compris ta remarque, j'ai donc modifier mon code :... (while (and (/= p1 "Horizontale") (/= p1 "H") (/= p1 "h") (/= (type p1) 'LIST)) ... Mille mercis à toi. Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
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