Arcasdk Posté(e) le 19 février 2010 Posté(e) le 19 février 2010 Bonjour à tous, je cherche un moyen de trouver tous les styles de mon plan qui ont une police égale à "ARIAL". j'étais parti la dessus mais..... (setq js(tblsearch "STYLE" "arial")) ou (setq js(tblsearch "STYLE" (3 . "arial"))) ou (setq js(tblsearch "STYLE" '((3 . "arial")))) et même (setq js (ssget "_X" '((0."style")(3."arial")))) rien y fait... De toute facon je n'ai jamais su l'encadrer la fonction "tblsearch" Merci à tous. <IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG> <a href=www.formu-lan.net>www.FormuLan.net</a>
(gile) Posté(e) le 19 février 2010 Posté(e) le 19 février 2010 Salut, De toute facon je n'ai jamais su l'encadrer la fonction "tblsearch" Ça tombe bien, il faut utiliser tblnext pour parcourir la table. (while (setq ts (tblnext "style" (not ts))) (if (= (cdr (assoc 3 ts)) "ARIAL.TTF") (setq lst ts lst) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Arcasdk Posté(e) le 19 février 2010 Auteur Posté(e) le 19 février 2010 Merci (gile) J'ai terminé ma macro. Je voulais rechercher tous les styles où la police est "Arial" et la remplacer par une autre. (Parce que quand je fait un pdf avec l'outil d'autocad "dwg to pdf", il me transforme la police "arial" en petit point).Mais malheureusement la modif ne prend pas .... Aucune erreur pourtant. (defun c:arialto (/) (while (setq ts (tblnext "style" (not ts))) (if (= (cdr (assoc 3 ts)) "ARIAL.TTF") (progn (setq paire (cons 3 "Microsoft Sans Serif.TTF")) (setq ts (subst paire (assoc 3 ts) ts)) (entmod ts) ) ) ) ) <IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG> <a href=www.formu-lan.net>www.FormuLan.net</a>
(gile) Posté(e) le 19 février 2010 Posté(e) le 19 février 2010 Salut, La liste retournée par tblnext ou tblsearch n'est pas la liste dxf complète de la table. Pour avoir la liste complète (modifiable avec entmod) il faut faire (entget (tblobjname ...)) Ceci est valable pour toutes les tables (defun c:arialto (/ elst) (while (setq ts (tblnext "style" (not ts))) (if (= (cdr (assoc 3 ts)) "ARIAL.TTF") (progn (setq elst (entget (tblobjname "style" (cdr (assoc 2 ts))))) (entmod (subst '(3 . "Microsoft Sans Serif.TTF") (assoc 3 elst) elst)) ) ) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Arcasdk Posté(e) le 19 février 2010 Auteur Posté(e) le 19 février 2010 Ah parfait.... Merci beaucoup Pour ma culture personnelle, qu'est ce que ça donnerai en V-Lisp? <IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG> <a href=www.formu-lan.net>www.FormuLan.net</a>
(gile) Posté(e) le 19 février 2010 Posté(e) le 19 février 2010 (defun c:arialto () (vl-load-com) (vlax-for ts (vla-get-TextStyles (vla-get-ActiveDocument (vlax-get-acad-object)) ) (if (= (vla-get-FontFile ts) "ARIAL.TTF") (vla-put-FontFile ts "C:\\WINDOWS\\Fonts\\MICROSS.TTF") ) ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Arcasdk Posté(e) le 19 février 2010 Auteur Posté(e) le 19 février 2010 Un grand merci... ;) <IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG> <a href=www.formu-lan.net>www.FormuLan.net</a>
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