danb Posté(e) le 14 septembre 2007 Posté(e) le 14 septembre 2007 Bonjour, Je cherche une solution pour automatiser ceci: J'ai un dessin ou il y a: *des textes (en bleu sur le dessin ci dessous)* des bloc avec un attribut 'altitude" mon souhait serait de copier la valeur du texte dans l'attribut 'altitude" puis effacer le texte et cela de façon automatique car j'ai un grand nombre de bloc a traiter. J'ai tenté avec un script mais ca ne va pas merci http://frozentime2.free.fr/cad.jpg
Bred Posté(e) le 14 septembre 2007 Posté(e) le 14 septembre 2007 Salut,Est-ce que ton texte est toujours au même différence de coordonnées par rapport au bloc altitude ?(cela permettant d'automatiser la selection texte/altitude, sinon je ne vois pas comment tu peux dire à un programme que tel texte va dans tel attribut...) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
danb Posté(e) le 14 septembre 2007 Auteur Posté(e) le 14 septembre 2007 non malheureusement le texte n'est pas toujours a la meme distance...ce serait l'ideal... mais j'aimerais au moins automatiser meme si je dois selectionner chaque "couple" a la fois...
lili2006 Posté(e) le 14 septembre 2007 Posté(e) le 14 septembre 2007 Bonjour à toutes et tous, Est-tu un utilisateur de covadis ? Parce que tu as deux fonctions qui permettent de faire ce que tu désires (menu cov 2D et menu cov 3D). Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Bred Posté(e) le 14 septembre 2007 Posté(e) le 14 septembre 2007 Re,test ça :(defun c:test (/ BLC LST TXT VAL-TXT) (setq txt nil) (while (not txt) (setq txt (car (entsel "\n Choix du Texte :"))) (if (not (or (equal (cdr (assoc 0 (entget txt))) "MTEXT") (equal (cdr (assoc 0 (entget txt))) "TEXT"))) (setq txt nil) ) ) (setq blc nil) (while (not blc) (setq blc (car (entsel "\n Choix du Bloc avec attribut 'altitude' :"))) (if (not (equal (cdr (assoc 0 (entget blc))) "INSERT")) (setq blc nil) ) ) (setq val-txt (cdr (assoc 1 (entget txt)))) (setq lst (safearray-value (vlax-variant-value (vla-getAttributes (vlax-ename->vla-object blc))))) (foreach n lst (if (equal (strcase (vla-get-TagString n)) "ALTITUDE") (progn (vla-put-TextString n val-txt) (vla-delete (vlax-ename->vla-object txt)) ) (princ "\nPas d'attribut 'altitude'") ) ) (princ) ) (hop là, j'edite : je n'avais pas suprimé le texte après traitement ....) [Edité le 14/9/2007 par Bred] Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
danb Posté(e) le 17 septembre 2007 Auteur Posté(e) le 17 septembre 2007 Bonjour, mille mercis Brend, ca marche impec.... :) Pour lili: je n'utilise pas Covadis Qu'est ce exactement ??? :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