DenisHen Posté(e) le 18 octobre 2006 Posté(e) le 18 octobre 2006 Bonjour à tous... Dans une routine, j'ai : (setq jspoly (ssadd)) (command "_.pline" (while (not (zerop (getvar "cmdactive"))) (command pause) ) ;_ Fin de while ) ;_ Fin de command (setq jspoly (ssadd (entlast) jspoly)) (.......) (.......) (getVertices jspoly) (.......) (.......) Et dans une autre (qui n'est pas de moi, j'ai :(defun getVertices (ename / plineGet vertex vertexGet ) (setq return nil) (cond ((or (/= (type ename) 'ENAME) (not (setq plineGet (entget ename)))) (setq return nil)) ((= "POLYLINE" (cdr (assoc 0 plineGet))) (setq vertex (entnext ename)) (while (= "VERTEX" (cdr (assoc 0 (setq vertexGet (entget vertex))))) (setq return (cons (cdr (assoc 10 vertexGet)) return)) (setq vertex (entnext vertex)) ) ;_ Fin de while (setq return (reverse return)) ) ((= "LWPOLYLINE" (cdr (assoc 0 plineGet))) (setq return (mapcar 'cdr (vl-remove-if '(lambda (x) (/= (car x) 10)) plineGet))) ) (t (setq return nil)) ) ;_ Fin de cond ;return ) ;_ Fin de defun Et maintenant ... ... ... Ma question : Est'il possible de passer un argument "jspoly" de cette façon ? Là, je nage, et en plus, je suis creuvé... Je m'en vais me coucher ! ! Au revoir et bonne nuit à tous, Denis... (qui baaaAAAaaayyyye... zzZZZzzzzZZZzzzZZZ) Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
(gile) Posté(e) le 18 octobre 2006 Posté(e) le 18 octobre 2006 Je t'ai déjà répondu ici ! Tu les lis, réponses qu'on te fait ? :casstet: (setq ent (entlast)) -> ? (type ent) -> ? (setq ss (ssadd)) -> ? (type ss) -> ? (ssadd ent ss) -> ? (ssname ss 0) -> ? [Edité le 18/10/2006 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 18 octobre 2006 Auteur Posté(e) le 18 octobre 2006 Je suis désolé, mais je n'ai pas compris, je me reprend : dans ma première routine, mon jeu de sélection "jspoly" ne comporte qu'une polyligne et est correcte pour l'utilisation de "(getVertices jspoly)" (qui ne veut qu'une polyligne) Mais arrivé dans la fonction "getVertices", ename est vide... Si non, mon jeux de sélection est bon, puisque dans la première routine, je fais un décalage de "jspoly" et ça fonctionne ... Soit, j'ai mal exposé mon problème, soit je n'ai pas compris ta réponse... Tu les lis, réponses qu'on te fait ? :( Je n'en donne peut-être pas toujours l'impression mais, oui, je lis toujours vos réponses, et avec le plus grand intérêt... Si non, je n'arriverais à rien... C'est ma faculté à comprendre le Lisp qui n'est pas toujours là ;) Merci encore, je vais quand même voir si je peut comprendre, Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
(gile) Posté(e) le 18 octobre 2006 Posté(e) le 18 octobre 2006 Certaines commandes de modification (decaler, deplacer, rotation ...) acceptent, comme argument, un jeu de sélection (PICKSET) ou un nom d'entité (ENAME), donc en LISP, avec la fonction (command ...) on peut passer un PICKSET ou un ENAME comme argument. Les fonctions LISP (prédéfinies ou définies avec defun ou lambda) sont plus rigoureuse et leurs arguments ne peuvent être que d'un seul type.L'argument pour getVertices doit être du type ENAME. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 18 octobre 2006 Auteur Posté(e) le 18 octobre 2006 Alors je dois passer par le nom de l'entité et non par un jeu de sélection ? comme ça : (setq ename (ssname jspoly 0)) (getVertices ename) Bon, ici ça marche, je dois avoir bon... Merci (gile) pour toutes ces précisions, Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
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