Tramber Posté(e) le 29 mars 2004 Posté(e) le 29 mars 2004 Une question bête ? Comment lance-t-on une polyligne sans que la commande suivante ne demande son reste ? (command "_pline") (getreal "\nN'importe quel réel ? : ") Si je fais (command "_pline" pause ...) Je suis condamné à programmer, programmer,.... ******************************** Alors j'ai fait : (setq jeu_tot (ssadd) prem_obj (ssadd)) (setq pt00A (getpoint "\nPoint de départ ?")) (setq pt00B (getpoint pt00A "\nSaisissez le 2nd point qu définiera votre direction")) (command "_line" pt00A pt00B "" )(ssadd (entlast) prem_obj) (while (setq pt00D (getpoint "\Point suivant : ")) (progn (setq pt00C pt00B pt00B pt00D) (command "_line" pt00C pt00B "") (ssadd (entlast) jeu_tot))) (command "_pedit" prem_obj "O" "j" jeu_tot "" "") Mais c'est un peu long :casstet: Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Patrick_35 Posté(e) le 29 mars 2004 Posté(e) le 29 mars 2004 Je ne vois pas trop l'intêret de ton lisp, la commande _pline suffit voici une méthode un peu plus courte (setq jeu_tot (ssadd)) (setq pt00A (getpoint "\nPoint de départ ? ")) (while (setq pt00D (getpoint "\nPoint suivant : ")) (command "_line" pt00A pt00D "") (setq pt00A pt00D) (ssadd (entlast) jeu_tot) ) (command "_pedit" (entlast) "O" "j" jeu_tot "" "") @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Tramber Posté(e) le 29 mars 2004 Auteur Posté(e) le 29 mars 2004 Si tu testes les 2 lignes qui me posent problème, la fonction getreal attaque bille en tête sans me laisser finir ma polyligne. Merci pour le raccroucissement ;) Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Patrick_35 Posté(e) le 29 mars 2004 Posté(e) le 29 mars 2004 Je vois, parfois un princ bien placé suffit et évite que les commandes s'enchaînent par exemple (setq total 5 n 0) (princ "\nCeci est un test") (while (< n total) [color=red] (if (= n 0) (princ))[/color] (setq n (1+ n)) (alert (strcat "Boucle indice " (itoa n))) ) (princ) Si tu enlève le princ , la boucle s'exécute sans avoir affiché dans ma ligne de commande "Ceci est un test" @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Tramber Posté(e) le 29 mars 2004 Auteur Posté(e) le 29 mars 2004 J'ai déjà essayé : (command "_pline") (princ) (getreal "\nN'importe quel réel ? : ") Mais ca marche pas :mad2: J'ai le sentiment qu'il n'y a pas de formule miracle. A bientôt Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
didier Posté(e) le 29 mars 2004 Posté(e) le 29 mars 2004 Salut TramberJ'espère ne pas être "hors sujet" avec ma propositionmais si tu veux sélectionner une série de points à l'écranet que cette série soit reliée par une polyligne à la fin,étudie ce qui suit : (setq p (getpoint))(command "_pline" p (while p (command (setq p (getpoint p))) ) ;_ Fin de while) ;_ Fin de commandmerci de me tenir au courantsi je ne cherche pas dans la bonne direction ...amicalement 1 Éternel débutant... Mon site perso : Programmer dans AutoCAD
Tramber Posté(e) le 29 mars 2004 Auteur Posté(e) le 29 mars 2004 Extraordinaire ! p tient tout seul pour lancer l'opération et command est spécifié à l'intérieur d'un autre command (je croyais qu'on ne pouvait mettre que des getXXX dans un command). Ca a l'air de marcher nickel Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Patrick_35 Posté(e) le 30 mars 2004 Posté(e) le 30 mars 2004 Bravo Didier, faire une boucle dans une commande, voilà une manière de faire auquel je n'avais jamais pensé @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
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