#1 Tue 27 January 2015 14:01
- ofabre81
- Juste Inscrit !
- Date d'inscription: 13 Jan 2015
- Messages: 6
[ACAD] Modifier la taille de TEXT avec code LISP
Bonjour à tous,
Je suis en train d'essayer, pour pouvoir activer la recherche des textes en 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-TextHeight 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
Hors ligne
#2 Tue 27 January 2015 15:43
Re: [ACAD] Modifier la taille de TEXT avec code LISP
Bonjour,
Vous aurez plus de succès sur CADXP par exemple.
Ce forum ci est dédié aux .. SIG !
Merci de votre compréhension,
robin, pour la modération.
PS : Suivi du sujet sur les forums Autodesk
http://forums.autodesk.com/t5/autocad-f … -p/5485490
Hors ligne
#3 Tue 27 January 2015 16:18
- ofabre81
- Juste Inscrit !
- Date d'inscription: 13 Jan 2015
- Messages: 6
Re: [ACAD] Modifier la taille de TEXT avec code LISP
Merci, je vais essayer.
Désolé.
Hors ligne