Aller au contenu

Question basic:comment quitter proporement la commande point?


Messages recommandés

Posté(e)

Voila alors tous es quaisment dans le titre:

Je calcule des points qui me servent ensuite a positionner d'autre points.Bon mais quand le point final est faux je dois bien entendu visualiser lequel des points qui a servi a sa construction qui est faux!

alors voila une commande toute simple:

(command "_point" point1 point2 point3 point4)

Mais voila la commande ne quitte pas aprés le dernier point saisi,meme dans autocad en faisait entrée,clic droit,en tappant quitter,exit....enfin bref le seul moyen a priori de quitter la commande serais de faire "echap".

 

La question est donc comme le titre l'indique,comment quitter proporement la commande point en lisp?

Merci.

 

Posté(e)

Bonjour,

 

la commande _point place un point à la fois, donc je pense qu'il faut lancer autant de (command "_point" ...) qu'il y a de point à placer.

 

(command "_point" point1 point2 point3 point4)

 

à remplacer par

 

(command "_point" point1)
(command "_point" point2)
(command "_point" point3)
(command "_point" point4)

 

ou bien, s'il y a beaucoup de points à traiter, on pourrait imaginer mettre tous ces point dans une liste (avec la fonction cons) au moment où tu les calcules. Après, on peut utiliser la fonction foreach pour dérouler toute la liste, par exemple :

 

(foreach PT MALISTEPT
 (command "_point" PT)
)

 

où MALISTEPT est une liste qui contient les valeurs de point1, point2, pointn.

 

Amicalement

Zebulon_

 

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Posté(e)

Zebulon_,

 

Je pensais aussi que la commande _point placer un seul point au coup.

Seulement voila,quand je passe par autocad,que je clique sur le bouton point dans la barre dessin,systematiquement il me donne la possibilité de placer X point et pour quitter seule possibilité de faire echap.

Je doute que ça ai quelquechose a voir mais au lancement de la commande voila ce qu'il m'indique:

 

Commande: _point

Modes point courants: PDMODE=3 PDSIZE=0.00

 

Quand je tappe (command "_point" point1)

Il me donne également la possibilité de faire X point comme dans autocad,mais pas systématiquement!

Comme si une variable géré le truc et que quelquechose allé la modifier.....étrange :casstet: ,d'autant plus que sous lisp et autocad c'est la meme commande qui est activé donc incompréhensible pour moi la différence!

Enfin,la j'ai finalement redémarré l'ordinateur suite a un caprice de l'éditeur visual Lisp de chze autocad,et la commande fonctionne correctement pour le moment....j'attends avec impatience le moment ou ça ne fonctionnera plus a nouveau,parce que ce n'est pas la premiere fois que j'ai le probleme...

Enfin quoi qu'il en soit merci de ton aide zebulon_

Posté(e)

C'est louche :casstet:

 

Mias ce que tu me décris ressemble beaucoup à la commande multiple

 

Répète la commande suivante jusqu'à annulation.

 

Saisie de commande : multiple

 

Entrez le nom de la commande à répéter:

 

La commande que vous entrez est répétée tant que vous n'appuyez pas sur ECHAP. Comme la commande MULTIPLE répète uniquement le nom de la commande, vous devrez spécifier les paramètres à chaque fois.

 

MULTIPLE ne répète pas les commandes affichant des boîtes de dialogue.

 

Remarque Vous ne pouvez pas utiliser la commande MULTIPLE en tant qu'argument de la fonction de commande AutoLISP®.

 

 

où une commande est répétée jusqu'à ce que tu appuyes sur echap.

 

Si ça peut te mettre sur la voie ?

 

Amicalement

Zebulon_

 

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Posté(e)

Salut bazoul,

 

La commande interne POINT dessine un seul point, essaye d'entrer POINT ou PT à la ligne de commande, tu ne pourras dessiner qu'un point.

À l'icône (bouton) POINT d'AutoCAD est associée une macro qui rend la commande répétitve :

*^C^C_point (c'est l'astérisque qui défini la répétitivité)

 

En LISP, quand tu utilises la fonction command, tu lui passes comme premier argument le nom d'une commande.

Ce peut être une commande interne originelle ou une commande redéfinie à l'aide de la commande NONDEF (_UNDEFINE) et d'un LISP (ou autre application) .

Par exemple, pour faire une commande POINT qui soit répétitve, on commence par supprimer la commande interne (à la ligne de commande ou en LISP) :

 

 (command "_undefine" "_point")

 

La commande POINT ou _POINT n'est plus reconnue :

 

Commande: point

Commande inconnue "POINT". Appuyez sur F1 pour obtenir de l'aide.

 

Mais elle reste toujours accessible en ajoutant un point devant le nom de commande (.point ou _.point) :

 

 

Commande: _.point

 

Modes point courants: PDMODE=3 PDSIZE=-3.0000

Spécifiez un point:

Commande:

 

On peut donner une nouvelle définition à la commande point pour qu'elle soit répétitive en invoquant dans le LISP la commande point originelle (précédée d'un point) :

 

(defun c:point (/ pt)
 (while (setq
   pt (getpoint
	"\nSpécifiez un point (Entrée, Espace ou clic droit pour sortir): "
      )
 )
   (command "_.point" pt)
 )
 (princ)
) 

 

Commande: point

 

Spécifiez un point (Entrée, Espace ou clic droit pour sortir):

Spécifiez un point (Entrée, Espace ou clic droit pour sortir):

Spécifiez un point (Entrée, Espace ou clic droit pour sortir):

 

Attention, la nouvelle commande ainsi définie ferait tourner en boucle sans fin (faire Echap) la macro du bouton point.

 

On peut bien sûr restaurer la commande originelle avec REDEF (_REDEFINE) en LISP ou à la ligne de commande :

 

Commande: redef

Entrez le nom de la commande: point

 

Commande: point

 

Modes point courants: PDMODE=3 PDSIZE=-3.0000

Spécifiez un point:

Commande: 'VLIDE

Commande:

 

[Edité le 7/8/2007 par (gile)]

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

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é