DenisHen Posté(e) le 15 avril 2016 Posté(e) le 15 avril 2016 Bonjour à la communauté. Voilà, j'avais écris un petit bout de code comme cà :(foreach PosLst LstCalq (if (setq Select (ssget "_X" '((0 . "INSERT") (8 . (car PosLst)) ) ) ;_ Fin de ssget ) ;_ Fin de setq (command "chprop" Select "" "ca" (cdr (assoc (car PosLst) LstCalq )) "" ) ) ;_ Fin de if )Mais AutoCAD me sortait un mauvais argument sur le ssget... J'ai donc repris mon code pour en faire ceci :(foreach PosLst LstCalq (if (setq Select (ssget "_X" (list (cons 0 "INSERT") (cons 8 (car PosLst)) ) ) ;_ Fin de ssget ) ;_ Fin de setq (command "chprop" Select "" "ca" (cdr (assoc (car PosLst) LstCalq)) "") ) ;_ Fin de if )Le truc bizzare, c'est que le deuxième code fonctionne... Si quelqu'un pouvait m'aider à 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)
Patrick_35 Posté(e) le 15 avril 2016 Posté(e) le 15 avril 2016 Salut C'est à cause de la variable dans le 1er codeQuand tu utilises une liste, l'argument derrière un quote n'est pas évalué, donc erreur.Tu peux aussi l'écrire comme cela(list '(0 . "INSERT") (cons 8 (car PosLst))) Deux sujets à lirehttp://cadxp.com/topic/29334-listes-arguments-de-fonctions/http://cadxp.com/topic/28642-arguments-et-variables/ @+ 1 Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
-Olivier- Posté(e) le 15 avril 2016 Posté(e) le 15 avril 2016 Bonjour DenisH, Dans le premier, (car PosLst) n'est pas interprété, donc le ssget plante.Olivier 1
DenisHen Posté(e) le 15 avril 2016 Auteur Posté(e) le 15 avril 2016 Bonjour à vous... Ok, je comprend mieux, bien que celà me semble tout de même "curieux" que "l'argument derrière un quote n'est pas évalué" En tous cas, merci à vous. 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)
-Olivier- Posté(e) le 15 avril 2016 Posté(e) le 15 avril 2016 bien que celà me semble tout de même "curieux" que "l'argument derrière un quote n'est pas évalué La fonction quote permet justement d'empêcher l'évaluation de l'argument qui lui est fourni. Olivier
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