DenisHen Posté(e) le 8 juillet 2020 Posté(e) le 8 juillet 2020 Bonjour au forum. Je cherche aujourd'hui à changer l'altitude d'un bloc en sélectionnant un TEXT. J'ai écrit ça, mais si je suis ici, c'est que ça ne fonctionne pas...;;; ******************************************************* ;;; Reporte le Z d'un bloc selon un texte sélectionné ;;; ******************************************************* (defun c:ZBloc-Texte (/) (princ "\nDéveloppé par Denis H. (vers:1.0)") (setq Txt_Select (car (entsel "\nSélectionnez le texte :"))) (setq Alti (cdr (assoc 1 (entget Txt_Select)))) (setq Bloc_Select (car (entsel "\nSélectionnez le bloc :"))) (setq Bloc_Select (entget Bloc_Select))) (setq Coord (cdr (assoc 10 (entget Bloc_Select)))) (princ "\nCoord=") (print Coord) (setq Pos_X (car Coord)) (setq Pos_Y (cadr Coord)) (setq Pos_Z (rtos Coord 2 2)) (setq Coord_Blk '(Pos_X Pos_Y (atoi Alti))) (princ "\nCoord_blk=") (print Coord_blk) (setq Bloc_Select (subst (cons 10 Coord_Blk) (assoc 10 Bloc_Select) Bloc_Select)) (entmod Bloc_Select) ) ;_ Fin de defun Je suis sur deux projets en même temps et l'apprentissage de MENSURA me prend pas mal de temps... 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 Eckmann Posté(e) le 8 juillet 2020 Posté(e) le 8 juillet 2020 Bonjour, si tu n'as pas que des cotes rondes au mètre, essaie de remplacer (atoi Alti) par (atof Alti) Olivier
Luna Posté(e) le 8 juillet 2020 Posté(e) le 8 juillet 2020 Quand tu dis, ça ne fonctionne pas, quel est le problème exactement ? Quelle erreur rencontres-tu et à quel niveau ?Ensuite je pense que tu peux t'épargner la déclaration de variables (telles que Pos_X et Pos_Y ^^") Bisous,Luna
didier Posté(e) le 8 juillet 2020 Posté(e) le 8 juillet 2020 Coucou Il y avait longtemps que tu n'étais pas venu taper au carreau (hihi) et qu'on avait pas lu "\nDéveloppé par Denis H. (vers:1.0)"... mais tu es toujours le bienvenuJe te propose ça sans vérification car pas d'AutoCAD sous la main Amicalement (setq blo (car (entsel "\nchoix du bloc"))) (setq tex (car (entsel"\nchoix du texte"))) (entmod (subst (cons 10 (list (car (cdr (assoc 10 (entget blo)))) (cadr (cdr (assoc 10 (entget blo)))) (atof (cdr (assoc 1 (entget tex)))))) (assoc 10 (entget blo)) (entget blo) ) ) 1 Éternel débutant... Mon site perso : Programmer dans AutoCAD
DenisHen Posté(e) le 9 juillet 2020 Auteur Posté(e) le 9 juillet 2020 Salut à tous. Oui, ça faisait un bail, mais j'ai changé de boulo et je travaille maintenant à 95% du temps sur Mensura... Merci Olivier pour le "atof", effectivement, je m'étais trompé... Merci didier, ça fonctionne parfaitement... Encore 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)
didier Posté(e) le 9 juillet 2020 Posté(e) le 9 juillet 2020 Coucou De rien...je t'envoie des pensées positives pour que tu évolues sereinement sur Mensura Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
DenisHen Posté(e) le 9 juillet 2020 Auteur Posté(e) le 9 juillet 2020 Coucou. Mille mercis didier... ;) 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)
DenisHen Posté(e) le 17 juillet 2020 Auteur Posté(e) le 17 juillet 2020 Bonjour à tous. J'ai fais "évoluer" le programme ainsi, mais ça boucle sur la sélection de l'altitude. (defun c:Alti2Blk (/ blo tex) (princ "\nDéveloppé par Denis H. (vers:1.1)") (while (not (and (setq tex (car (entsel "\nSélectionnez l'altitude :"))) (= (cdr (assoc 0 (entget tex))) "TEXT,MTEXT") ) ;_ Fin de and ) ;_ Fin de not ) ;_ Fin de while (while (not (and (setq blo (car (entsel "\nSélectionnez le bloc : "))) (= (cdr (assoc 0 (entget blo))) "INSERT") ) ;_ Fin de and ) ;_ Fin de not ) ;_ Fin de while (entmod (subst (cons 10 (list (car (cdr (assoc 10 (entget blo)))) (cadr (cdr (assoc 10 (entget blo)))) (atof (cdr (assoc 1 (entget tex)))) ) ;_ Fin de list ) ;_ Fin de cons (assoc 10 (entget blo)) (entget blo) ) ;_ Fin de subst ) ;_ Fin de entmod ) 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)
DenisHen Posté(e) le 17 juillet 2020 Auteur Posté(e) le 17 juillet 2020 j'ai trouvé, c'est le (= (cdr (assoc 0 (entget tex))) "TEXT,MTEXT") je l'ai remplacé par (= (cdr (assoc 0 (entget tex))) "TEXT") 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)
didier Posté(e) le 17 juillet 2020 Posté(e) le 17 juillet 2020 Coucou Tu as dû copier-coller ta première version de quelque part, tu as été puniJ'étais en train de te répondre mais tu as trouvé avant que je publie...Tu devrais regarder le ssget avec "_:E:S" les filtres sont efficaces Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
DenisHen Posté(e) le 17 juillet 2020 Auteur Posté(e) le 17 juillet 2020 Salut didier. Oui, j'ai continué de chercher après avoir poster. Merci pour ta suggestion. Bonne journée. 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)
Luna Posté(e) le 17 juillet 2020 Posté(e) le 17 juillet 2020 Salut, Si jamais tu veux tout de même prendre en compte les "MTEXT" en plus des "TEXT", tu peux utiliser ceci :(wcmatch (cdr (assoc 0 (entget tex))) "TEXT,MTEXT")ou bien(member (cdr (assoc 0 (entget tex))) '("TEXT" "MTEXT")) Après comme le dit didier, la solution d'un (ssget) avec l'option "_+.:E:S" permet de simuler une sélection via (entsel) sauf que tu peux filtrer ta sélection au passage. Le seul bémol, comme pour chaque (ssget) c'est l'affichage d'un message personnalisé qui est un peu galère... Bisous,Luna
didier Posté(e) le 17 juillet 2020 Posté(e) le 17 juillet 2020 Coucou Certes le SSGET ne permet pas de présenter un message pour la saisie en ligne de commandeCe que j'utilise avec cette méthode est un PROMPT juste avant le SSGET , ça fonctionneLe bémol auquel je pense je n'ai pas envie de le dire tout de suite et j'attends la question de DenisHEN car je connais l'oiseau qui questionne (hihi)Si il contourne le souci je ferai amende honorable, à suivre ... Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
DenisHen Posté(e) le 17 juillet 2020 Auteur Posté(e) le 17 juillet 2020 Salut. Je n'ai pas besoin de "MTEXT" en fait, je ne sélectionne que des "TEXT". Mais je ne vois pas la question qu'attend Maître didier... ;) 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