(gile) Posté(e) le 13 juillet 2006 Posté(e) le 13 juillet 2006 Un petit LISP qui liste tous les blocs et xrefs du dessin courant et, pour chacun, indique s'il est : - non référencé- déchargé (xref) ou vide (bloc)- introuvable (xref) ;;; BLOCS Retourne dans la fenêtre de texte un état de tous les blocs et xrefs du dessin courant ;;; Ignore les blocs anonymes et les blocs imbriqués dans les xrefs. (defun c:blocs (/ bl xref name x_lst b_str x_str) (setq x_str "" b_str "" bl (tblnext "block" T) ) (while bl (setq name (cdr (assoc 2 bl))) (if (assoc 1 bl) ;_xref (setq xref T x_lst (cons name x_lst) ) (setq xref nil) ) (if (and (not (and (vl-string-position (ascii "|") name) ;_ bloc imbriqué dans une xref (member (substr name 1 (vl-string-position (ascii "|") name)) x_lst ) ) ) (not (= (substr name 1 1) "*")) ;_ bloc anonyme ) (progn (if xref (setq x_str (strcat x_str "\n- " name)) (setq b_str (strcat b_str "\n- " name)) ) (if (not (ssget "_X" (list '(0 . "INSERT") (assoc 2 bl) ) ) ) (if xref (setq x_str (strcat x_str " Non référencé ")) (setq b_str (strcat b_str " Non référencé ")) ) ) (if (= (cdr (assoc 0 (entget (cdr (assoc -2 bl))))) "ENDBLK") (if xref (setq x_str (strcat x_str " Déchargé ")) (setq b_str (strcat b_str " Vide ")) ) ) (if (and xref (not (findfile (cdr (assoc 1 bl)))) ) (setq x_str (strcat x_str " Introuvable ")) ) ) ) (setq bl (tblnext "block")) ) (if (/= b_str "") (princ (strcat "\n\n\tBlocs : \n" b_str)) ) (if (/= x_str "") (princ (strcat "\n\n\tRéférences externes : \n" x_str)) ) (textscr) (princ) ) [Edité le 13/7/2006 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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