Invité ingoenius Posté(e) le 3 avril 2007 Posté(e) le 3 avril 2007 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)) )
Bred Posté(e) le 3 avril 2007 Posté(e) le 3 avril 2007 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) le 3 avril 2007 Posté(e) le 3 avril 2007 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éé ;-(
Bred Posté(e) le 3 avril 2007 Posté(e) le 3 avril 2007 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...
(gile) Posté(e) le 3 avril 2007 Posté(e) le 3 avril 2007 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) le 3 avril 2007 Posté(e) le 3 avril 2007 excuse moi tu a raison ;-( , c'est parce que j'avai encore en memoire l'ancien script :casstet:
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