Aller au contenu

Suppression de tous les champs d\'un dessin


onossa

Messages recommandés

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

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

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

 

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

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é