(defun c:test(/ ss nn st lay) (setvar "cmdecho" 0) (command ".undo" "be") (princ "请选择欲关闭图层中的对象 < 可框选 >:") (if (setq ss (ssget)) (progn (setq nn (sslength ss) st 0) (repeat nn (setq lay (cdr (assoc 8 (entget (ssname ss st))))) (if (or (= (strcase lay) (getvar "clayer"))(= lay (getvar "clayer"))) (command ".layer" "off" lay "y" "") (command ".layer" "off" lay "") ) (setq st (1+ st)) ) ) (princ "\n没有选中物件.") ) (command ".undo" "e") (prin1) ) |