Aller au contenu

Restons poly.


Tramber

Messages recommandés

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

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

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

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

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

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

Salut Tramber

J'espère ne pas être "hors sujet" avec ma proposition

mais si tu veux sélectionner une série de points à l'écran

et 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 command

merci de me tenir au courant

si je ne cherche pas dans la bonne direction ...

amicalement

 

 

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

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

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité