Aller au contenu

changer couleur de texte sur dessin entier


Messages recommandés

Invité Vinz13
Posté(e)

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.

Posté(e)

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)
)


Invité Vinz13
Posté(e)

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]

Posté(e)

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

Posté(e)

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]

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité