1+吹扫和铺设
欢迎来到CADTutor,劳雷尔!
使用erase命令对您没有任何好处。如果要删除的图层上的布局(而非模型)或块内有实体
_Laydel将删除这些实体和层本身,而不考虑空间,唯一需要做的是确保其解锁,而不是当前层。
此代码将删除除列表中的层之外的所有层
- (defun c:demo (/ aDoc name)
- (setvar 'Clayer "0")
- (repeat 4
- (vla-purgeall
- (setq aDoc (vla-get-ActiveDocument
- (vlax-get-acad-object)))))
- (vlax-for
- itm
- (vla-get-layers aDoc)
- (if (and
- (not (wcmatch
- (setq name (vla-get-name itm))
- "*|*"))
- (not (eq name "0"))
- (not (member name
- '("thislayer1"
- "thislayer2"
- "thislayer3"))))
- (progn
- (vla-put-lock itm :vlax-false)
- (vl-cmdf "_.-laydel" "_N" name "" "_Y"))
- )
- )
- (repeat 4 (vla-purgeall aDoc))
- (princ)
- )
现在,如果您只想删除列表中的内容
更换此线路
- [b](not [/b](member name '("thislayer1" "thislayer2" "thislayer3"))[b])[/b]
用这个
|