Fraid Posté(e) le 5 juin 2024 Posté(e) le 5 juin 2024 Bonjour, Un petit problème que je n'arrive pas à résoudre. (while (not (vl-catch-all-error-p (vl-catch-all-apply '(lambda () (setq pt1 (getpoint "\n -> Premier Point: ")) (setq pt2 (getpoint "\n -> Deuxième Point: ")) (traitement_point pt1 pt2) ))))) Je suis donc dans une boucle qui s'interrompt quand on Echap, dans laquelle je choisis 2 points. Mon problème est que parfois, je suis incapable de prendre le 2ém point car je doit m'accrocher perpendiculairement à une projection. Si la plupart son dessinées en pointillé, il est difficile de les anticiper toutes. Je dois donc quitter la boucle pour dessiner le pointillé manquant. Penser vous qu'il existe un moyen de tracer une polyligne optionnellement entre les deux setq sans quitter la boucle? Car cela me gène énormément dans mon traitement de devoir le faire en plusieurs fois. Merci https://github.com/Fraiddd
Vincent P. Posté(e) le 5 juin 2024 Posté(e) le 5 juin 2024 Salut Fraid Moi je partirais sur un truc du genre : (while (not (vl-catch-all-error-p (vl-catch-all-apply '(lambda () (setq pt1 (getpoint "\n -> Premier Point: ")) (initget "Poly") (setq pt2 (getpoint "\n -> Deuxième Point [Poly]: ")) (cond ((= pt2 "Poly") ;;dessine la polylign (setq pt2 (getpoint "\n -> Deuxième Point :")) ) ) (traitement_point pt1 pt2) ) ) ) ) ) Comme ça Getpoint accepte de prendre un texte plutôt qu'un point, et dans le (cond) tu dessine ta polyligne, et redemande le pt2 (ou u te débouille pour déduire le pt2 de la poly que tu a dessiné) nonconditionnelement Vincent P. Lispeur éternel débutant! Autocad Map3D 2023 Covadis-Autopist 18.2
(gile) Posté(e) le 5 juin 2024 Posté(e) le 5 juin 2024 Salut, Je ne comprends pas bien ce que tu cherches à faire, mais un (while (and ...)) permet de boucler simplement tant qu'aucune des expressions dans le (and ...) ne renvoie pas nil. (while (and (setq pt1 (getpoint "\n -> Premier Point: ")) (if (condition pt1) (dessiner_polyligne pt1) T ) (setq pt2 (getpoint pt1 "\n -> Deuxième Point: ")) (traitement_point pt1 pt2) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Fraid Posté(e) le 5 juin 2024 Auteur Posté(e) le 5 juin 2024 il y a 25 minutes, Vincent P. a dit : Getpoint accepte de prendre un texte plutôt qu'un point Merci Vincent, je n'avais pas vu cette particularité. Merci Gile, j'utilise vl-catch car c'est une usine à gaz dans la boucle, c'est pour moi plus facile. Problème résolu. https://github.com/Fraiddd
Olivier Eckmann Posté(e) le 5 juin 2024 Posté(e) le 5 juin 2024 Salut, Sauf si je n'ai pas tout compris, mais avec un accrochage depuis, suivi de de l'accrochage perpendiculaire, ça évite de dessiner la ligne de projection. Olivier
Fraid Posté(e) le 5 juin 2024 Auteur Posté(e) le 5 juin 2024 Bonjour, Il y a 4 heures, Olivier Eckmann a dit : un accrochage depuis Oui, bien sur, mais cela ne fonctionne pas tout le temps comme on veut, selon la distance et le nombre d'objets qu'on survole entre les deux. Merci. https://github.com/Fraiddd
Vincent P. Posté(e) le 5 juin 2024 Posté(e) le 5 juin 2024 Si le but est de prolonger une poly existante pour trouver une intersection, tu tape PROJ (comme tu ferais avec PER ou TAN) pour avoir l'intersection projetée. Lispeur éternel débutant! Autocad Map3D 2023 Covadis-Autopist 18.2
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