l56
Membres-
Compteur de contenus
201 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par l56
-
Je ne comprends pas. Imagine un morceaux de code du genre: (command "_line" "0,0" "1,1" pause "") Bon, passons sur la qualité du code, je pourrais faire un getpoint avant et remplacer ma pause ..... Quand l'utilisateur du code en sera à "pause", il devra donc cliquer un dernier point et la commande ligne se terminera. Mais il pourra aussi appuyer sur la touche ECHAP, et c'est bien cela que je souhaite éviter pour que l'utilisateur n'est pas d'autre choix que de cliquer un point (ou valider.) donc avant cette ligne de code, j'aimerai déactiver la touche ECHAP. Est-ce possible ?
-
oui, dans un lisp. Mais si tu passes par *error", cela veut dire que la touche ECHAP à été enfoncé or moi je voudrais que la touche ECHAP sois ignoré, comme si elle n'avait jamais été touché, que l'utilisateur ne puisse pas interrompre le lisp
-
Je pensais à quelque chose de plus radical: l'appuis sur la touche ECHAP serait sans conséquence, comme ci elle n'existait pas. Un petit programme qui agirait plutot sur Windows que dans AutoCAD.
-
Bonjour, Est-il possible de rendre inactive la touche ECHAP à un endroit précis d'un programme lisp et de la rendre à nouveau active à un autre moment merci
-
merci, je vais voir ce que je peux faire avec ça. a+
-
Je ne souhaite pas la masquer. On peut intervenir sur l'ecran avec une bdD ouverte en faisant par exemple (setvar "tilemode" 1), ça marche tres bien. Mais comment faire un zoom ?
-
Bonjour, Tout est dans le titre ... Ne pouvant pas utilisé (command "_zoom"... , y a t-il un autre moyen ? merci a+
-
Plutôt la date de création. mais si on peut modifier les deux, je veux bien savoir comment. :-) merci
-
Bonjour, Avec la command lisp OPEN, je peux créer un fichier, mais j'aimerai lui donner une autre date que la date de création. Est-ce possible ? Merci
-
Effectivement, sujet très interressant. Merci (Gile)
-
Merci Zebulon_, ça marche tres bien. Bonne soirée L56
-
Bonjour, Comment connaitre le nombre de Jeux de sélection ouvert ? Peut-on en ouvrir plus de 128 ? Merci à ceux qui savent. l56
-
Les commandes grp et dgrp , c'est le top ! Merci encore bye
-
Merci (gile), je vais y jeter un oeil ...
-
Bonjour, Si je nomme un groupe; "GROUP1" et que je souhaite le supprimer, je fais: (setq grpdict (cdr (car (dictsearch (namedobjdict) "ACAD_GROUP")))) (dictremove grpdict "GROUP1") et ça marche. Mais si je veux supprimer un groupe Sansnom (ex: "*A2"), cela ne marche pas. Existe-t-il une solution en VLISP ? le probleme est le meme pour renommer. Merci
-
Bon. Je vais vous expliquer mon astuce à 2 balles ! Dans un jeux de sélection (JS1), vous avez 10 entités. La suite des évenements fait que sur ces 10 entités, 3 sont éffacées par l'utilisateur. Le probleme c'est que (sslength JS1) renvoi toujours 10. Donc une boucle du type (repeat (sslength JS1) .... ne fonctionne plus comme je voudrai. Donc, avant de lancer cette boucle, je faisais: (command "_select" JS1 "") et apres (ssget "_p") dans la suite du programme cela permet de "purger" du jeux les entités effacées Je sais, il y a nettement plus noble, mais ça marchai ! Depuis que j'utilise les reacteurs, les commandes d'AutoCAD sont à bannir. Je dois donc remplacer (command "_select" JS1 "") par un routine qui purge les entités effacées (ça, ça va, je sais faire) mais je dois aussi rendre ce jeux de sélection accessible par (ssget "_p"). et (sssetfirst nil jsl) (sssetfirst nil nil) ne fonctionne pas. Si une solution rapide existe, tres bien, sinon je prendrai le temps de re-coder correctement tout ça. Merci
-
Je sais , c'est un peu tordu. Imagines que tu as des entités dans un jeu de sélection (js1) et que le jeux de sélection précèdent n'est pas js1. (car c'est un "vieux" jeux de sélection) Comment le repassé en précédent SANS utilisé de commande. Cette solution me permettrait de ne pas retoucher à ce qui est déjà codé. Mais c'est vrai, le mieux serait de tout refaire correctement. C'est sûrement ce que je vais faire si je ne trouve pas cette astuce. En tout cas, merci de ta réponse à ce faux problème. a+
-
Comment peut-on, créer un jeux de selection répondant à (ssget "p") sans être créé en utilisant une commande AutoCAD mais une fonction Lisp ou Vlisp. Si quelqu'un à une idée ... Merci
-
Merci à vous ! Vous avez raison tout les deux, ce qui me gene le plus c'est que l'on ne peut pas supprimer l'action de base generée par AutoCAD. Je vous explique mon pb: Double clic sur MTEXTE et _.mtedit se lance, mais si ce texte appartient à un GROUP, alors c'est _.properties. Avec le bon reacteur je peux corriger cela mais j'aimerai supprimer la fenetre _.properties seulement si elle s'est lancée apres mon double-clic. Car elle était peut etre la avant et dans ce cas, je ne dois pas l'enlever. Comment savoir si _.properties est actif ? PS pour (Gile): verifie le message privé que tu m'as envoyé, de toute évidence, il n'est pas pour moi. a+ [Edité le 21/1/2008 par l56]
-
Comment choisir la commande qui va automatiquement se lancer apres un double-clic ? Ex: double-clic sur une entité MTEXT et "_.mtedit" se lance. Est-il possible de lancer une autre commande ? et si oui, comment ? Merci [Edité le 19/1/2008 par l56]
-
Commande: (tblobjname "block" "*model_space") [b] < Nom d'entité: 7ef60d00>[/b] Commande: (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object))) [b] #< VLA-OBJECT IAcadDocument 0d4e8f84>[/b] Commande: (setq space (if (= (getvar "CVPORT") 1) ((_> (vla-get-PaperSpace *acdoc*) ((_> (vla-get-ModelSpace *acdoc*) ((_> ) (_> ) [b] #< VLA-OBJECT IAcadModelSpace 0d56b554>[/b] Commande: (setq dict (vla-getExtensionDictionary space)) [b] #< VLA-OBJECT I [surligneur] AcadDictionary [/surligneur]0d56a0d4>[/b] Commande: (setq sort (vla-addObject dict "ACAD_SORTENTS" "AcDbSortentsTable")) [b] ; erreur: Erreur Automation. Aucune description n'a été entrée[/b]. Je t'ai surligné la différence de résultat entre ton code sur ta machine et sur la miene. Test fait sur AutoCAD 2004 et 2006. Merci encore a+
-
Je ne l'ai pas oublié. La variable SPACE est défini. Commande: !space # < VLA-OBJECT IAcadModelSpace 0d56a304> ensuite j' exécute: (if (vl-catch-all-error-p (setq sort (vl-catch-all-apply 'vla-getObject (list (vla-getExtensionDictionary space ) "ACAD_SORTENTS" ) ) ) ) (setq sort (vla-addObject (vla-getExtensionDictionary space ) "ACAD_SORTENTS" "AcDbSortentsTable" ) ) ) Mais il renvoi: ; erreur: Erreur Automation. Aucune description n'a été entrée. Qu'est-ce qu'une description ?
-
Bonsoir, Quelqu'un peut il me dire si l'option dessous de la commande draworder demande un jeux de sélection ou une seule entité. En 2004 c'est une seule entite En 2006 c'est un jeu de sélection Mais je n'ai pas 2005 pour tester. Merci.
-
Merci, je viens de tester mais le code suivant me retourne une erreur. Et je ne connais pas grand chose au vlisp. (setq sort (vl-catch-all-apply 'vla-getObject (list (vla-getExtensionDictionary space ) "ACAD_SORTENTS" ) ) ==> #%catch-all-apply-error% Donc : (setq sort (vla-addObject (vla-getExtensionDictionary space ) "ACAD_SORTENTS" "AcDbSortentsTable" ) ==> #%catch-all-apply-error% Je crois qu'il n'arrive pas à créer le dictionnaire Je pense que la variable space est corectement défini, il rerourne : #VLA-OBJECT IAcadModelSpace 01106b94 [Edité le 2/1/2008 par l56]
-
Bonjour et Bonne année 2008 ! Est-il possible de modifier l'ordre d'affichage SANS provoquer de régénération ? Avec la commande "_.draworder", je pense que c'est impossible. Existe-t-til une solution VLISP ? a+
