;; gc:GetDictEntries ;; Retourne la liste des entrées du dictionnaire ;; sous forme de paires pointées (Nom . ENAME) ;; ;; Argument : dict le dictionnaire (ENAME ou liste DXF) (defun gc:GetDictEntries (dict / result) (and (= (type dict) 'ENAME) (setq dict (entget dict))) (while (setq dict (vl-member-if (function (lambda (x) (= (car x) 3))) (cdr dict))) (setq result (cons (cons (cdar dict) (cdadr dict)) result)) ) (reverse result) ) ;; Supprime tous les dictionnaire AEC* (defun removeAEC1 () (foreach dict (gc:GetDictEntries (namedobjdict)) (if (wcmatch (car dict) "*AEC*") (foreach entry (gc:GetDictEntries (cdr dict)) (entdel (cdr entry)) ) ;supprime dans le dictionnaire (entdel (cdr dict)) );fin if ) (princ) );fin defun ;; Purge les applications enregistrées (defun purgereg () (command "_purge" "_reg" "*" "_no") (princ) ) (defun c:removeAEC () (prompt "\nATTENTION ce programme va SUPPRIMER tous les objets AEC de ce dessin ") (initget "Oui Non") (setq rep (getkword "\nContinuer à supprimer ? [Oui/Non] : ")) (cond ((or (not rep) (= "Oui" rep)) (removeAEC1) (purgereg) ) );fin cond );fin defun (prompt "\nprogramme chargé, saisir: removeAEC pour lancer.")