Aller au contenu

tblsearch dans les STYLE


Messages recommandés

Posté(e)

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>

Posté(e)

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

Posté(e)

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>

Posté(e)

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

Posté(e)

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>

Posté(e)
(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

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é