DenisHen Posté(e) le 27 avril 2016 Posté(e) le 27 avril 2016 Bonjour à la communauté. Voilà, j'ai un petit problème que je n'arrive pas à résoudre. En fait, je ne sais pas par où commencer. J'aimerai changer le style de texte (ex:MONOTXT) et de hauteur (ex:0.4) de plusieurs entités par un autre style qui existe déjà dans mon dwg (ex:Arial) avec une autre hauteur de (ex:0.6). Si quelqu'un a une astuce, un conseil ou une idée, je suis preneur... 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)
nosset Posté(e) le 27 avril 2016 Posté(e) le 27 avril 2016 Si tu sais programmer en LISP pas de soucis.Un filtre SSGET "X" sur le style MONOTXT pour la selectionUn ENTMOD avec des SUBST pour la modification. Si tu ne sais pas programmer alors "SELECTRAP" là tu filtre sur le type d'entité que tu veux (ex texte) propriété "STYLE" et égale à "MONO..."Ca te sélectionne toutes les entités correspondante et tu peux modifier les propriétés. Autodesk Expert Elite Member
DenisHen Posté(e) le 27 avril 2016 Auteur Posté(e) le 27 avril 2016 Merci nosset de ton aide. On ne peut pas dire que je "sais" programmer en lisp, mais j'arrive à faire certain truc. Pour le ssget, pas de problème, mais c'est pour le entmod que je vais ramer... Enfin, je vais fouiller dans l'aide pour voir s'il y a des truc qui m'aideraient... Merci encore. 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 27 avril 2016 Auteur Posté(e) le 27 avril 2016 J'ai commencé à écrire ça :;;;**************************************************************** ;;;Changement du style de texte des textes et MTextes en ARIAL***** (if (setq Select (ssget "_X" (list (cons 0 "TEXT,MTEXT"))) ) ;_ Fin de setq (while Select (entmod (subst (cons 7 "ARIAL") (assoc 62 a) a))) ) ;_ Fin de if Mais je n'ose même pas le lancer... :huh: 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 27 avril 2016 Posté(e) le 27 avril 2016 Salut Pour le filtre(ssget "_X" (list (cons 0 "TEXT,MTEXT") (cons 7 "MONOTXT")))La boucle sur un jeu de sélection, tu sais faire.Pour changer le style de texte en Arial(entmod (subst (cons 7 "Arial") (assoc 7 ent) ent)) @+ 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
didier Posté(e) le 27 avril 2016 Posté(e) le 27 avril 2016 Coucou Pour t'éviter le copier-coller et que ça rentre bien dans ta tête regarde cette image : Amicalement PS: le temps que je mette mon message en forme je me suis fait griller (trois fois zut..) 1 Éternel débutant... Mon site perso : Programmer dans AutoCAD
DenisHen Posté(e) le 27 avril 2016 Auteur Posté(e) le 27 avril 2016 Patrick_35 : merci, je vais pouvoir avancer... didier : merci, retaper un code est un meilleur apprentissage qu'un copier/coller, c'est vrai... Et ZUT ! ! Un gros dossier vient de tomber sur mon bureau... Je vais devoir mettre ce code en souffrance quelque temps... Merci encore à 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)
DenisHen Posté(e) le 28 avril 2016 Auteur Posté(e) le 28 avril 2016 Salut. J'ai bossé ça hier soir chez moi, et j'ai fini par trouvé, si ça intéresse quelqu'un :;;;Changement du style de texte des textes et MTextes en ARIAL***** (setq Select (ssget "_X" (list (cons 0 "TEXT,MTEXT") (cons 7 "MONOTXT")))) (setq n 0) (while (setq Ent (ssname Select n)) (setq elst (entget ent) n (+ 1 n) elst (subst (cons 7 "Arial") (assoc 7 elst) elst) ) ;_ Fin de setq (entmod elst) ) ;_ Fin de while Encore merci à vous, mais j'ai voulu pousser le vice à changer la hauteur du texte, mais là, rien ne fonctionne. Peut-on faire un entmod sur deux subst en même temps ? Car dans le code qui suit, seule la hauteur change :(setq Select (ssget "_X" (list (cons 0 "TEXT,MTEXT") (cons 7 "MONOTXT")))) (setq n 0) (while (setq Ent (ssname Select n)) (setq elst (entget ent) n (+ 1 n) elstSt (subst (cons 7 "Arial") (assoc 7 elst) elst) ) ;_ Fin de setq (entmod elstSt) (setq elstHt (subst (cons 40 0.6) (assoc 40 elst) elst)) (entmod elstHt) ) ;_ Fin de whileDenis... 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 28 avril 2016 Auteur Posté(e) le 28 avril 2016 Ben en fait, c'était tout bête... :;;;Changement du style de texte, hauteur et compression***** (setq Select (ssget "_X" (list (cons 0 "TEXT,MTEXT") (cons 7 "MONOTXT")))) (setq n 0) (while (setq Ent (ssname Select n)) (setq elst (entget ent) n (+ 1 n) elst (subst (cons 7 "Arial") (assoc 7 elst) elst) ;Style de texte elst (subst (cons 40 0.6) (assoc 40 elst) elst) ;Hauteur du texte elst (subst (cons 41 1) (assoc 41 elst) elst) ;Compression du texte ) ;_ Fin de setq (entmod elst) ) ;_ Fin de whileEncore merci à tous... Denis... 1 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)
Steven Posté(e) le 28 avril 2016 Posté(e) le 28 avril 2016 Salut DenisH, Comment fais-tu pour utiliser ta routine? Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
nosset Posté(e) le 28 avril 2016 Posté(e) le 28 avril 2016 C'est un peu "ROOTS" car y a pas de defun ! si tu fais copier coller sur la ligne de commande ca doit marcher. Sinon tu met ca dans un DEFUN Autodesk Expert Elite Member
DenisHen Posté(e) le 28 avril 2016 Auteur Posté(e) le 28 avril 2016 Au temps pour moi, voici le code à coller dans un LiSP :;;;Changement du style de texte, hauteur et compression***** (defun c:RemplStylTxt ( / n Ent elst Select) (setq Select (ssget "_X" (list (cons 0 "TEXT,MTEXT") (cons 7 "MONOTXT")))) (setq n 0) (while (setq Ent (ssname Select n)) (setq elst (entget ent) n (+ 1 n) elst (subst (cons 7 "Arial") (assoc 7 elst) elst) ;nouveau style de texte = ARIAL elst (subst (cons 40 0.6) (assoc 40 elst) elst) ;nouvelle hauteur du texte = 0.6 elst (subst (cons 41 1) (assoc 41 elst) elst) ;nouvelle compression du texte = 1 ) ;_ Fin de setq (entmod elst) ) ;_ Fin de while ) "(cons 7 "MONOTXT")" est le nom de l'ancien style de texte inclu dans le sélection. On peut le changer ou simplement l'enlever pour agir sur tous les textes... Il n'y a plus qu'à taper "RemplStylTxt " en ligne de commande après avoir charger le LiSP. Voilà qui est mieux... J'avais omis le defun car ce code fait parti d'un autre beaucoup plus long... 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)
Steven Posté(e) le 28 avril 2016 Posté(e) le 28 avril 2016 Merci, Je vais l'essayer ;) Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
DenisHen Posté(e) le 28 avril 2016 Auteur Posté(e) le 28 avril 2016 Aucun problème... Pour une fois q'un de mes codes peu servir, ça fait plaisir... 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)
Chris24 Posté(e) le 3 mars 2019 Posté(e) le 3 mars 2019 Merci, pour ton code,J'ai pu résoudre mon problème, j'ai poster y a pas si longtemps pour trouver une routine comme la tienne.Encore Merci.Chris24@+
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