Aller au contenu

modfi echelle texte dans les blocs


Messages recommandés

Invité ingoenius
Posté(e)

Je revient avec ce vieux post, qui etait partit sur une discussion de vin, et donc j'ai plus ou de reponse

 

a partir de vos aide on est arrivé a ca

voir code plus bas

 

 

donc je peut agrandir o diminuer la taille du texte du bloc selectionnee, je voudrait pouvoir le faire pour un ensemble de blocs differents selectionnees en meme temps comment il faut modifier le lisp??

 

merci

 

 

(defun c:TTB ()
(setq entb (vlax-ename->vla-object (car (entsel))))
(setq scala (getreal "Facteur?:"))

(if entb
(if(=(vla-get-ObjectName entb)"AcDbBlockReference")
(vlax-for bloc (vla-get-blocks(vla-get-activedocument (vlax-get-acad-object)))
(if(=(vla-get-Name bloc)(vla-get-Name entb))
(progn
(vlax-for i bloc
(if(=(vla-get-ObjectName i)"AcDbText")
(vla-put-height i (* (vla-get-height i) scala)))))))))
(vla-regen (vla-get-activedocument (vlax-get-acad-object)) acAllViewports)

(vla-item (vla-get-blocks(vla-get-activedocument (vlax-get-acad-object))) (vla-get-name entb))
)

Posté(e)

Salut,

Essaye ça (pas testé)

 

(defun c:TTB ()
(setq scala (getreal "Facteur?:"))
(setq sel (ssget '((0 . "INSERT"))))
 (repeat (setq n (sslength sel))
  (setq entb (vlax-ename->vla-object (ssname sel (setq n (1- n)))))
(if entb
(if(=(vla-get-ObjectName entb)"AcDbBlockReference")
(vlax-for bloc (vla-get-blocks(vla-get-activedocument (vlax-get-acad-object)))
(if(=(vla-get-Name bloc)(vla-get-Name entb))
(progn
(vlax-for i bloc
(if(=(vla-get-ObjectName i)"AcDbText")
(vla-put-height i (* (vla-get-height i) scala)))))))))
(vla-regen (vla-get-activedocument (vlax-get-acad-object)) acAllViewports)

(vla-item (vla-get-blocks(vla-get-activedocument (vlax-get-acad-object))) (vla-get-name entb))
   )
 (princ (strcat "\n "(rtos (sslength sel)) " Blocs traités."))
)

 

[Edité le 3/4/2007 par Bred]

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Invité ingoenius
Posté(e)

non c'est pas ca, celui ci a repeté l'agrandissement des bloc sur le meme bloc pour le nombre de fois correspondant au bloc lui meme

, mais il a pas agis sur le deuxieme bloc selectionéé

;-(

Posté(e)

J'ai testé, chez moi ça fonctionne .... :casstet:

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

Salut,

 

(defun c:TTB (/ entb scala name)
 (vl-load-com)
 (if
   (and
     (setq entb (car (entsel)))
     (setq entb (vlax-ename->vla-object entb))
     (setq scala (getreal "Facteur?:"))
     (= (vla-get-ObjectName entb) "AcDbBlockReference")
   )
    (progn
      (if (vlax-property-available-p entb 'EffectiveName)
 (setq name (vla-get-EffectiveName entb))
 (setq name (vla-get-Name entb))
      )
      (vlax-for bloc
	      (vla-get-blocks
		(vla-get-activedocument (vlax-get-acad-object))
	      )
 (if (= name (vla-get-Name bloc))
   (vlax-for i bloc
     (print (vla-get-ObjectName i))
     (if (= (vla-get-ObjectName i) "AcDbText")
	(vla-put-height i (* (vla-get-height i) scala))
     )
   )
 )
      )
      (vla-regen (vla-get-activedocument (vlax-get-acad-object))
	  acAllViewports
      )
    )
 )
 (princ)
) 

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

Invité ingoenius
Posté(e)

excuse moi tu a raison ;-(

, c'est parce que j'avai encore en memoire l'ancien script :casstet:

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é