马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
可以在OBJECTDBX下使用
 - (defun XD::DOC:Deletelayers (doc layers / dbxlayers layer objlst)
- (if (not doc)
- (setq doc (vla-get-activedocument (vlax-get-acad-object)))
- )
- (setq dbxlayers (vla-get-layers doc))
- (foreach name layers
- (if (null
- (vl-catch-all-error-p
- (setq layer (vl-catch-all-apply 'vla-item (list dbxlayers name)))
- )
- )
- (progn (vl-catch-all-apply
- 'vla-put-freeze
- (list layer :vlax-false)
- )
- (vla-put-lock layer :vlax-false)
- (vla-put-layeron layer :vlax-true)
- (setq objlst (cons layer objlst))
- )
- )
- )
- (if objlst
- (progn (vlax-for block (vla-get-blocks doc)
- (vlax-for obj block
- (if (member (vla-get-layer obj) layers)
- (vl-catch-all-apply (function (lambda () (vla-delete obj))))
- )
- )
- )
- (foreach layer objlst
- (vl-catch-all-apply
- (function (lambda () (vla-delete layer)))
- )
- )
- t
- )
- )
- )
|