Aller au contenu

Couleur dans les Textmult


Messages recommandés

Posté(e)

Bonjour,

 

Je récupère souvent des plans fait par des autre entreprises,

et je souhaite modifier les couleurs des textmult.

 

Quand on créé un Textmult, on peut définir la couleur (et la police) de l'ensemble du textmult, mais on peut aussi à l'intérieur même modifier tout ou partie de format du texte.

 

Y'a t'il une commande, ou un lisp pour modifier d'un coup toutes les formats du texte dans l'intérieur d'un textmult, ou faire que le contenu prenne le format de l'ensemble du textmult.

 

Merci

 

 

***********************

Rien ne sert de courrir, il faut partir à point.

Posté(e)

 

Hello

 

En plus je crois que (gile) avait fait qq chose dans ce domaine, mais je ne retrouve plus !

 

Sorry, Le Decapode

 

Autodesk Expert Elite Team

Posté(e)

Bonjour,

J'ai retrouvé ceci:

 

Supprimer les propriétés qui auraient pu être forcées (couleur, fonte, caractères gras, italique ou sous-ligné)

fonctionne aussi pour les textes de plus de 250 caractères et pour les hauteurs de texte forcées.

 

(defun c:c_txt (/ ss n txt e_lst str start end lst)

(while (not (setq ss (ssget '((0 . "MTEXT"))))))

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

)

Posté(e)

...re

 

et ce lisp aussi...

 

; supprimer les propriétés qui auraient pu être forcées (couleur, fonte, caractères gras, italique ou sous-ligné)

; qu'il soit en textes ou en mtextes dans le dessin

 

 

 

(defun c:mtxt2Std (/ ss n txt e_lst str)

(setq ss (ssget "_X" '((0 . "*TEXT"))))

(repeat (setq n (sslength ss))

(setq txt (ssname ss (setq n (1- n)))

e_lst (entget txt)

str (cdr (assoc 1 e_lst))

)

(if (= "{" (substr str 1 1))

(progn

(while (and (setq start (vl-string-search "\\" str))

(setq end (vl-string-search ";" str start))

)

(setq str (vl-string-subst

""

(substr str (1+ start) (- end start -1))

str

)

)

)

(if (= "\\L" (substr str 2 2))

(setq str (vl-string-subst

""

(substr str 2 2)

str

)

)

)

(setq str (vl-string-right-trim

"}"

(vl-string-left-trim "{" str)

)

e_lst (subst (cons 7 (getvar "TEXTSTYLE"))

(assoc 7 e_lst)

(subst (cons 1 str) (assoc 1 e_lst) e_lst)

)

)

(entmod e_lst)

)

)

)

(princ)

)

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é