这是一个简单的lisp,它将所有实体复制到零层,并可以选择删除其他层。无保修。
- ; CLZ.LSP - Collapse all layers to layer 0, i.e., move all entities to layer 0
- ; and optionally delete all empty layers.
- (defun c:clz (/ en el uchk)
- (setvar "CLAYER" "0")
- ; change layer of each entity to "0"
- (setq en (entnext))
- (while en
- (setq el (entget en))
- (setq el (subst (cons 8 "0") (assoc 8 el) el))
- (entmod el)
- (setq en (entnext en))
- )
- ; delete all layers except "0" ?
- (initget 1 "Yes No")
- (setq uchk (getkword "\n Delete all empty layers? (Y)es or (N)o "))
- (if (= uchk "Yes")
- (progn
- (setvar "CMDECHO" 0)
- (command ".purge" "LA" "All")
- (setvar "CMDECHO" 1)
- )
- )
- (princ)
- )
|