(defun C:LAYOFF (/ cmde tmod llst la lnam lfrz loff) (setq cmde (getvar "cmdecho") tmod (getvar "tilemode") llst "" la (tblnext "layer" T)) (setvar "cmdecho" 0) (while la (setq lnam (cdr (assoc 2 la)) lfrz (= (logand (cdr (assoc 70 la)) 1) 1) loff (minusp (cdr (assoc 62 la)))) (if (or lfrz loff) (progn (if (setq ss (ssget "x" (list (cons 8 lnam)))) (command "_.-layer" "_u" lnam "" "_.erase" ss "")) (setq llst (strcat lnam "," llst) la (entget (tblobjname "layer" lnam)) la (subst '(70 . 0)(assoc 70 la) la)) (entmod la))) (setq la (tblnext "layer"))) (if (> llst "") (command "_.tilemode" 0 "_.vplayer" "_t" llst "_a" "")) (repeat 3 (command "_.purge" "_a" "*" "_n")) (setvar "cmdecho" cmde) (setvar "tilemode" tmod) (princ) ) (alert (strcat "LAYOFF.LSP - (c) 1998 Tee Square Graphics\n\n" "Removes all objects in Frozen and turned Off\n" "layers in current space; then purges drawing\n" "of all unreferenced layers and objects.\n\n" " Type LAYOFF to begin.")) (princ)