jms Posté(e) le 19 mars 2023 Partager Posté(e) le 19 mars 2023 Salut, Quelqu'un connaît-il/elle un moyen pour remplacer du texte dans un dwg sans ouvrir la fenêtre de saisie ? Je voudrais juste pouvoir inscrire cette commande dans un petit script, mais je cale sur cette commande qui ne semble pas pouvoir être exécutée entièrement au clavier... 😞 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fraid Posté(e) le 20 mars 2023 Partager Posté(e) le 20 mars 2023 Bonjour, Je ne suis pas sur que cela soit possible en script, mais je ne suis pas spécialiste. En lisp, pas de soucis, si tu cherche mieux sur le site, ou ailleurs y en a plein. Sinon, tes textes sont sous quel forme, TEXT, MTEXT, ATTRIBUT....? Citer https://github.com/Fraiddd Lien vers le commentaire Partager sur d’autres sites More sharing options...
jms Posté(e) le 22 mars 2023 Auteur Partager Posté(e) le 22 mars 2023 Dans le cas qui me préoccupait, ce sont des attributs de blocs. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fraid Posté(e) le 22 mars 2023 Partager Posté(e) le 22 mars 2023 Bonjour, un petit lisp pour les attributs. Si tu veux l'utiliser en script, remplace (getstring "Old text?") par le texte à remplacer entre guillemets ex: "Bois" et (getstring "New text?") par le texte de remplacement ex: "Béton" et dans ton script subat (defun substattrib ( old new acdc / tat) (vlax-for obj (vla-get-modelspace acdc) (if (= (vla-get-ObjectName obj) "AcDbBlockReference") (foreach att (vlax-invoke obj 'GetAttributes) (if (vl-string-search old (setq tat (vla-get-textstring att))) (vlax-put att 'TextString (vl-string-subst new old tat)) ) ) ) ) ) (defun c:subat nil (vl-load-com) (substattrib (getstring "Old text?") (getstring "New text?") (vla-get-activedocument (vlax-get-acad-object)) ) (princ) ) Fonctionne uniquement dans l'espace objet. Citer https://github.com/Fraiddd Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés