bazoul Posté(e) le 7 août 2007 Posté(e) le 7 août 2007 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.
zebulon_ Posté(e) le 7 août 2007 Posté(e) le 7 août 2007 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. AmicalementZebulon_ 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)
bazoul Posté(e) le 7 août 2007 Auteur Posté(e) le 7 août 2007 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: _pointModes 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_
zebulon_ Posté(e) le 7 août 2007 Posté(e) le 7 août 2007 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 ? AmicalementZebulon_ 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)
(gile) Posté(e) le 7 août 2007 Posté(e) le 7 août 2007 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: pointCommande 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.0000Spé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: redefEntrez le nom de la commande: point Commande: point Modes point courants: PDMODE=3 PDSIZE=-3.0000Spécifiez un point:Commande: 'VLIDECommande: [Edité le 7/8/2007 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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