onossa Posté(e) le 12 février 2009 Partager Posté(e) le 12 février 2009 Bonjour, je cherche un moyen de supprimer (ou plutot convertir en valeur texte "normale", tous les champs présents dans mon dessin. Ils sont tous placés dans l'espace papier, dans differents onglets, et sont sous forme, soit des attributs, soit des mtexts, voir des textes simples... J'ai lu un post où il était question de filter pour les selectionner, mais je n'en voit pas la possibilité, vu que l'intitulé "champ" ou "field" n'existent pas... Merci pour vos idées et votre aide !!! L'expérience est une lanterne qui n'éclaire que celui qui la porte... (Confucius) Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 13 février 2009 Partager Posté(e) le 13 février 2009 Salut, Quelque chose comme ça ? ;;; FIELD2TXT (gile) ;;; Transforme les champs dans les textes, mtextes et attributs en texte (defun c:Field2Txt (/ *error* ss) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object))) ) (defun *error* (msg) (vla-EndUndoMark *acdoc*) (princ)) (princ "\nSélectionnez les objets à traiter ou : ") (if (or (ssget '((0 . "INSERT,MTEXT,TEXT"))) (ssget "_X" '((0 . "INSERT,MTEXT,TEXT"))) ) (progn (vla-StartUndoMark *acdoc*) (vlax-for obj (setq ss (vla-get-ActiveSelectionSet *acdoc*)) (if (= (vla-get-ObjectName obj) "AcDbBlockReference") (if (= (vla-get-HasAttributes obj) :vlax-true) (foreach att (vlax-invoke obj 'GetAttributes) (RemoveField att) ) ) (RemoveField obj) ) ) (vla-delete ss) (vla-EndUndoMark *acdoc*) ) ) (princ) ) (defun RemoveField (obj) ((lambda (str) (or (vl-catch-all-error-p (vl-catch-all-apply 'vla-remove (list (vla-getExtensionDictionary obj) "ACAD_FIELD") ) ) ) (vla-put-TextString obj str) ) (vla-get-TextString obj) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
onossa Posté(e) le 13 février 2009 Auteur Partager Posté(e) le 13 février 2009 Bonjour (Gile), Je viens de tester ton code, et il fonctionne parfaitement:Il traite les mtext, attributs, et tous les présentations si on valide sans selectionner d'enttié. Merci beaucoup ! L'expérience est une lanterne qui n'éclaire que celui qui la porte... (Confucius) Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 13 février 2009 Partager Posté(e) le 13 février 2009 Hello Gilles Cette routine est intéressante mais je suggère une petite amélioration :TOUT le DWG (Objet + toutes les présentations + espaces papier , etc) c super !et aussi SVP une sélection AutoCAD Classique !? Merci d'avance, Le Decapode Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 13 février 2009 Partager Posté(e) le 13 février 2009 et aussi SVP une sélection AutoCAD Classique !? Mais c'est le cas : "Sélectionnez les objets à traiter ou : " Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 13 février 2009 Partager Posté(e) le 13 février 2009 Hello Gilles OUI OUI tu as parfaitement raison ! Je suis un peu fatigué / bigleux ce matin et obsédé par "Tous" :o :( Sorry, Le Decapode "déconfit" Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick_35 Posté(e) le 13 février 2009 Partager Posté(e) le 13 février 2009 Salut LecrabeJe suis un peu fatigué Je veux bien le croire car je ne voudrai pas mal interpréteret obsédé par "Tous" :o :( ;) ;) ;) Bon, bientôt le week-end. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824 Lien vers le commentaire Partager sur d’autres sites More sharing options...
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