Aller au contenu

Modification d\'un style de texte sur un attribut


DANBEGIN

Messages recommandés

Bonjour à tous

 

Je suis à la recherche d'une routine ou d'une fonction qui me permet de changer le style de texte sur tous mes symboles de mon dessin.

Seuls les attributs de l'etiquette précisée devront être modifiés.

Exemple:

Passer toutes les valeurs des attributs dont l'etiquette est NOM en style ARIAL.

 

D'avance Merci

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Une petite routine vite faite qui agit sur les références sélectionnées (le style de texte "Arial" doit exister dans le dessin).

 

(defun c:test1 (/ n ss ent att elst)
 (princ "\nSélectionnez les blocs (ou valider pour tous).")
 (setq n -1)
 (if (or (setq ss (ssget '((0 . "INSERT") (66 . 1))))
  (setq ss (ssget "_X" '((0 . "INSERT") (66 . 1))))
     )
   (while (setq ent (ssname ss (setq n (1+ n))))
     (setq att (entnext ent))
     (while (and att
	  (= "ATTRIB" (cdr (assoc 0 (setq elst (entget att)))))
     )
(if (= (cdr (assoc 2 elst)) "NOM")
  (progn
    (entmod (subst (cons 7 "Arial") (assoc 7 elst) elst))
    (entupd ent)
  )
)
(setq att (entnext att))
     )
   )
 )
 (princ)
)

 

Ou une autre qui modifie les définitions de blocs

 

(defun c:test2 ()
 (vl-load-com)
 (vlax-for blk	(vla-get-Blocks
	  (vla-get-ActiveDocument (vlax-get-acad-object))
	)
   (if	(and (= (vla-get-IsLayout blk) :vlax-false)
     (= (vla-get-IsXref blk) :vlax-false)
)
     (progn
(setq sync nil)
(vlax-for obj blk
  (if
    (and (= (vla-get-ObjectName obj) "AcDbAttributeDefinition")
	 (= (vla-get-TagString obj) "NOM")
    )
     (progn
       (vla-put-StyleName obj "Arial")
       (setq sync T)
     )
  )
)
(if sync
  (vl-cmdf "_.attsync" "_name" (vla-get-Name blk))
)
     )
   )
 )
 (princ)
)

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

Lien vers le commentaire
Partager sur d’autres sites

Si, si

 

Entrez une option [Valeur/POsition/Hauteur/Angle/[surligneur]Style[/surligneur]/CAlque/COuleur/suivaNt]

 

Sinon, avec l'un des deux lisps donné pas (gile) (dont un en pur autolisp :P )

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

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é