LUDWIG Posté(e) le 18 décembre 2007 Posté(e) le 18 décembre 2007 Bonjour à tous ! Dans mes fonctions de "nettoyage de plans", j'utilise un lisp de (gile) qui permet de supprimer les textes et attributs vides cleantxt. Je n'avais pas eu de soucis jusqu'à present, mais là, j'ai ce message : ; erreur: Le serveur ActiveX a renvoyé l'erreur: nom inconnu: "ATTRIBUTE" J'ai testé en remplaçant la ligne(if (ssget "_X" '((0 . "*TEXT,INSERT"))) par(if (ssget "_X" '((0 . "*TEXT"))) et là bien sûr plus d'erreur mais les attributs ne sont pas traités. Est-ce que (gile) ou un autre pro pourrait débugger le code (ou me dire ou ça pêche dans mon dessin). Merci d'avance ! [Edité le 18/12/2007 par LUDWIG] Autocad 2021 - Revit 2022 - Windows 10
(gile) Posté(e) le 18 décembre 2007 Posté(e) le 18 décembre 2007 Merci Ludwig pour ce retour, il y avait effectivement une erreur de syntaxe, j'en ai profité pour filtrer les xrefs (le code du message original est corrigé). ;; CLEANTXT ;; Supprime les caractères non imprimables (espaces, tabulations, retour charriot, ...) ;; situés à droite de tous les textes, mtextes et attributs du dessin. (defun c:cleantxt (/ RightCleanText) (vl-load-com) (defun RightCleanText (txt / lst) (setq lst (reverse (vl-string->list txt))) (while (and lst (or ( (and (= (car lst) 80) (= (cadr lst) 92)) ) ) (if ( (setq lst (cdr lst)) (setq lst (cddr lst)) ) ) (vl-list->string (reverse lst)) ) (if (ssget "_X" '((0 . "*TEXT,INSERT"))) (vlax-for obj (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)) ) (if (= (vla-get-ObjectName obj) "AcDbBlockReference") (if (= (vla-get-HasAttributes obj) :vlax-true) (foreach att (vlax-invoke obj 'GetAttributes) (vla-put-TextString att (RightCleanText (vla-get-TextString att)) ) ) ) (if (= "" (setq txt (RightCleanText (vla-get-TextString obj)))) (vla-delete obj) (vla-put-TextString obj txt) ) ) ) ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
LUDWIG Posté(e) le 19 décembre 2007 Auteur Posté(e) le 19 décembre 2007 merci (gile) ! Super ! Autocad 2021 - Revit 2022 - Windows 10
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