 - (defun C:BDY (/ ss i ent layname laylist)
- ;; 提示用户选择对象
- (prompt "\n请选择要设置为不打印的图层对象:")
- (setq ss (ssget)) ; 选择对象
- ;; 如果选择了对象
- (if ss
- (progn
- (setq i 0)
- (setq laylist '()) ; 初始化图层名称列表
- ;; 遍历选择集,提取图层名称
- (repeat (sslength ss)
- (setq ent (ssname ss i)) ; 获取对象
- (setq layname (cdr (assoc 8 (entget ent)))) ; 获取对象所在的图层名称
- (if (not (member layname laylist)) ; 去重
- (setq laylist (cons layname laylist)) ; 将图层名称加入列表
- )
- (setq i (1+ i))
- )
- ;; 对每个图层执行不打印操作
- (foreach layname laylist
- (command ".layer" "p" "n" layname "") ; 不打印图层
- )
- (prompt (strcat "\n已不打印 " (itoa (length laylist)) " 个图层。"))
- )
- ;; 如果没有选择对象
- (prompt "\n未选择任何对象!")
- )
- (princ)
- )
[size=16.002px]将指定的图层设置为不打印,可以选择多个图层!
|