Aller au contenu

Mtext style forcé


Messages recommandés

Posté(e)

Bonjour à tous,

J'ai passé plus d'une heure pour modifier des Mtext. En effet, j'ai reçu un fichier avec un style de texte appelé " TITRE " avec comme font ISOCP.SHX, j'ai modifié ce style avec un font ISOCPEUR.SHX mais rien n'a été modifié, car tous les textes étaient forcés avec du technibold. J'ai dû sélectionner texte par texte et supprimer ceci --> {\Technic\b0|i0|p2;

Quelqu'un a-t'il un lisp qui pourrait le supprimer sans devoir sélectionner texte par texte.

J'espère avoir été clair

 

bien à vous

Posté(e)

Salut,

 

Tu n'as pas du faire beaucoup de recherche, le sujet a encore été abordé récemment.

Ça doit être la troisième fois que je copie/colle ce message :

 

Il existe des LISP qui suppriment les formatages dans les mtext.

J'avais fait un truc un peu radical ici pour supprimer tous les formatages.

Depuis, j'en ai fait un plus abouti mais je ne peux pas le publier ici.

Il y a aussi StripMtext qui marche pas mal et permet de choisir les formatages à supprimer.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

donné par LUDWIG il y a peu:

 

 

 
; supprime le formatage forcé des mtext





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

)



))

 

a+

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é