Invité Vinz13 Posté(e) le 7 juin 2011 Posté(e) le 7 juin 2011 Bonjour, Alors voilà j'ai plusieurs mtext forcés en couleur 5, et j'aimerai tous les passer en 8.Mais je me vois pas forcer texte après texte, j'ai cherché je n'ai pas réussi a faire fonctionner les lisp présent sur le forum. Si quelqu'un a un lisp simple pour forcer des textes.. Merci.
Fraid Posté(e) le 7 juin 2011 Posté(e) le 7 juin 2011 Bonjour, Si c'est occasoniel l'outil _selectrap devrais te suffire Mais si tu dois le faire tout le temps (defun ssm ( / MT) (setq MT (ssget "_X" (list (cons 0 "MTEXT")(cons 62 5)))) (command "_chprop" MT "" "_c" 8 "") (princ) ) https://github.com/Fraiddd
Invité Vinz13 Posté(e) le 7 juin 2011 Posté(e) le 7 juin 2011 Salut, merci de ta réponse.. .. cependant, ça marche pas. Je veux forcer la couleur de plusieurs textemult dans le format du texte en couleur "DuCalque" [Edité le 7/6/2011 par Vinz13]
(gile) Posté(e) le 7 juin 2011 Posté(e) le 7 juin 2011 Salut, Si la couleur a été forcée depuis l'éditeur de texte, c'est beaucoup plus difficile, ce n'est plus une propriété de l'entité mtext comme le calque, le type de ligne, etc. mais un 'formatage' du mtexte (donnée contenue dans la valeur du texte, ex : "[surligneur]{\C1;[/surligneur]ceci est un texte multilgne[surligneur]}[/surligneur]" pour un texte formaté en rouge). Si c'est le cas, fais une recherche du LISP StripMtext qui permet de supprimer les formatages dans les mtextes. PS : Même si je pense qu'il est relativement facile de faire une routine pour remplacer un formatage de mtexte par un autre, je ne le ferais pas parce que je pense que ces formatages sont une véritable plaie (AutoCAD, c'est pas Word !). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Fraid Posté(e) le 7 juin 2011 Posté(e) le 7 juin 2011 plusieurs mtext forcés en couleur 5, et j'aimerai tous les passer en 8. et forcer la couleur de plusieurs textemult dans le format du texte en couleur "DuCalque n'a rien en commun si tu ne pose pas les bonnes question il sera impossible de te repondre sinon j'ai une solution radicale (defun c:supmt (/ ss n txt e_lst str start end lst) ;;;(while (not (setq ss (ssget '((0 . "mtext")))))) (if (setq ss (ssget "_x" '((0 . "MTEXT"))))(progn (repeat (setq n (sslength ss)) (setq txt (ssname ss (setq n (1- n))) e_lst (entget txt) str (apply 'strcat (mapcar 'cdr (append (vl-remove-if-not '(lambda (x) (= (car x) 3)) e_lst) (list (assoc 1 e_lst)) ) ) ) ) (while (setq start (vl-string-search "{\\" str)) (setq str (vl-string-subst "" "{" (vl-string-subst "" "}" str start) start ) ) ) (setq start 0) (while (setq start (vl-string-search "\\" str start)) (cond ((= "\\p" (substr str (1+ start) 2)) (setq start (1+ start) end (1+ start) ) ) ((= "\\l" (substr str (1+ start) 2)) (setq end (+ (vl-string-search "l" str start) 2)) ) ((= "\\l" (substr str (1+ start) 2)) (setq end (+ (vl-string-search "l" str start) 2)) ) (t (setq end (+ (vl-string-search ";" str start) 2))) ) (setq str (vl-string-subst "" (substr str (1+ start) (- end start 1)) str ) ) ) (setq lst nil) (if (< 250 (strlen str)) (progn (while (< 249 (strlen str)) (setq lst (cons (cons 3 (substr str 1 250)) lst) str (substr str 251) ) ) (setq lst (reverse (cons (cons 1 str) lst))) ) (setq lst (cons (cons 1 str) lst)) ) (setq e_lst (append (vl-remove-if '(lambda (x) (or (= (car x) 3) (= (car x) 1))) e_lst ) lst ) ) (entmod e_lst) ) ) ) (princ) ) qui supprime [surligneur] tout[/surligneur] les formatages des MTEXT bonne chance je ne sais plus d'ou il vient, si l'auteur ce reconnait, qu'il sache que je le remercie [Edité le 7/6/2011 par Fraid] https://github.com/Fraiddd
(gile) Posté(e) le 7 juin 2011 Posté(e) le 7 juin 2011 je ne sais plus d'ou il vient De là. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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