yalta Posté(e) le 24 octobre 2005 Posté(e) le 24 octobre 2005 Bonjour, Comment changer globalement le style de texte d'un même attribut issu d'un bloc inséré X fois ?? :P :casstet: Par la même occasion, quelle est la variable qui gère le style de texte des attributs ? Sylvain
capde06 Posté(e) le 24 octobre 2005 Posté(e) le 24 octobre 2005 ca nest peut etre pas tres academique mais moi je fait comme ca command "editref" je fait mes modifsapres command "battman" je choisis le bloc en question et je synchronise et tous les blocs sont ajour Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
capde06 Posté(e) le 24 octobre 2005 Posté(e) le 24 octobre 2005 "BATTMAN" OU "GESTATTB"2 noms pour la même commande va comprendremais battman cest + facile a retenir Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
bonuscad Posté(e) le 24 octobre 2005 Posté(e) le 24 octobre 2005 Ou si tu le désire, tu peux essayer ceci: Tu pourras choisir un style de texte existant ou en créer un nouveau et ceci sera appliqué a tout les blocs de même "nom". (defun c:chg_style_att ( / js ent dxf_ent nam_blk flag_att lst_sty def_style new_sty all_path n end_pos id_path fonts_path file_shx s_e dxf_e) (princ "\nChoix du bloc avec attribut: ") (setq js (ssget "_+.:E:S" '((0 . "INSERT")))) (cond (js (setq ent (ssname js 0) dxf_ent (entget ent) nam_blk (cdr (assoc 2 dxf_ent)) flag_att (cdr (assoc 66 dxf_ent)) ) (cond ((and flag_att (not (zerop flag_att))) (setq lst_sty (list (strcase (cdr (assoc 2 (tblnext "STYLE" T)))))) (while (setq def_style (tblnext "STYLE")) (setq lst_sty (append (list (strcase (cdr (assoc 2 def_style)))) lst_sty)) ) (initget "Existant Nouveau _Existing New") (if (eq (getkword "\nStyle [Existant/Nouveau]?: ") "New") (progn (while (member (setq new_sty (strcase (getstring "\nNom du style à créer?: "))) lst_sty) (princ "Nom du style existe déjà") ) (setq all_path (getenv "ACAD") n 0) (while (setq end_pos (vl-string-position (ascii ";") all_path)) (setq id_path (substr all_path 1 end_pos)) (if (wcmatch (strcase id_path) "*FONTS*") (setq fonts_path (strcat id_path "\\")) ) (setq all_path (substr all_path (+ 2 end_pos))) ) (setq file_shx (getfiled "Selectionnez un fichier de police" fonts_path "shx" 8)) (if (not file_shx) (setq file_shx "txt.shx") ) (entmake (append '( (0 . "STYLE") (5 . "40") (100 . "AcDbSymbolTableRecord") (100 . "AcDbTextStyleTableRecord") (70 . 0) (40 . 0.0) (41 . 1.0) (50 . 0.0) (71 . 0) (42 . 2.5) (4 . "") ) (list (cons 3 file_shx)) (list (cons 2 new_sty)) ) ) ) (progn (foreach n lst_sty (princ n) (princ " / ") ) (while (not (member (setq new_sty (strcase (getstring "\nNom du style?: "))) lst_sty)) (princ "Nom du style incorrect") ) ) ) (setq js (ssget "_X" (list '(0 . "INSERT") (cons 2 nam_blk))) n 0) (repeat (sslength js) (setq s_e (cdar (setq ent (entget (ssname js n))))) (while (/= (cdr (assoc 0 (entget (setq s_e (entnext s_e))))) "SEQEND") (setq dxf_e (entget s_e)) (if (eq (cdr (assoc 0 dxf_e)) "ATTRIB") (progn (setq dxf_e (entmod (subst (cons 7 new_sty) (assoc 7 dxf_e) dxf_e))) ) ) (entupd (cdar ent)) ) (setq n (1+ n)) ) ) (T (princ "\nCe bloc ne possède pas d'attribut") ) ) ) (T (princ "\nSélection vide ou ce n'est pas une insertion de bloc")) ) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
ludo07 Posté(e) le 24 octobre 2005 Posté(e) le 24 octobre 2005 Bonjour yalta, une autre solution que j'utilisais avec autocad 2000 consiste à utiliser la commande ATTREDEF qui permet de redefinir les attributs d'un bloc (forme, echelle, position...) a+
yalta Posté(e) le 25 octobre 2005 Auteur Posté(e) le 25 octobre 2005 Bonjour, ...merci à vous. ;) ;) ;) Sylvain
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