
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Lien permanent
- Imprimer
- Signaler
Bonjour à tous,
Je suis en train d'essayer, pour pouvoir activer la recherche des textes dans un pdf, de modifier mes polices autocad en arial avec un facteur de largeur de 1.
J'ai déjà trouvé le code qui me permet de faire ça mais je voudrais l'adapter pour que lorsque je modifie le facteur de largeur je modifie également la hauteur du texte (en la multipliant par le facteur de largeur original avant de passer celui ci à 1).
le code que j'ai, et qui fonctionne, est le suivant :
Code:
; Première partie du code pour modifier les zone de texte
(setq blocks (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object))))
(vlax-for item blocks
(if (/= "*" (substr (vla-get-Name item) 1 1))
(vlax-for item1 (vla-item blocks (vla-get-Name item))
(if (= "AcDbText" (vla-get-objectname item1))
(vla-put-ScaleFactor item1 1.0)
)
)
)
)
(mapcar '(lambda(x) (vla-put-ScaleFactor (vlax-ename->vla-object x) 1.0))
(vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget "_X" '((0 . "TEXT")))))))
(vl-cmdf "regen")
; Deuxième partie du code pour modifier les textes dans des blocs
(foreach ent (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget "X" '((0 . "INSERT")(66 . 1))))))
(while (and (setq ent (entnext ent))
(/= (cdr (assoc 0 (entget ent))) "SEQEND"))
(if (= "AcDbAttribute" (vla-get-objectname (setq obj (vlax-ename->vla-object ent))))
(vla-put-ScaleFactor obj 1.0)
)
)
)
J'ai tenté de récupérer la hauteur du texte avec le code suivant intégré mais je n'y arrive pas :
Code:
(setf hauteur (vla-get-Height item1))
(setf factor (vla-get-ScaleFactor item1))
(setf NewHauteur hauteur)
(* NewHauteur factor)
(vla-put-Height item1 NewHauteur)
Merci d'avance pour votre aide.
Bonne journée.
Olivier
Résolu ! Accéder à la solution.