Ok, you mapcar foreach wildcard gurus, I have a request.
I would like to take the following code below and modify it to delete layers from a wildcard list
like the following:
(setq layer_name (list "A-DIM*,A-NOT*,A-SYM*"))
;;;original code by Fatty
(defun C:DELL (/ ent acapp acsp adoc allrs layer_name)
;;(setq layer_name (getstring t "\n* Enter Layer name to Delete : "))
;;(setq ent (entsel) layer_name (cdr (assoc 8 (entget (CAR ent)))))
(vl-load-com)
(setq acapp (vlax-get-acad-object)
adoc (vla-get-activedocument acapp)
acsp (vla-get-block (vla-get-activelayout adoc))
allrs (vla-get-layers adoc))
(vlax-for
lt (vla-get-layouts adoc)
(vlax-for
ob (vla-get-block lt)
(if (eq (vla-get-layer ob) layer_name)
(progn (if (eq (vla-get-freeze (vla-item allrs (vla-get-layer ob))) :vlax-true)
(vla-put-freeze (vla-item allrs (vla-get-layer ob)) :vlax-false))
(if (eq (vla-get-lock (vla-item allrs (vla-get-layer ob))) :vlax-true)
(vla-put-lock (vla-item allrs (vla-get-layer ob)) :vlax-false))
(if (eq (vla-get-layeron (vla-item allrs (vla-get-layer ob))) :vlax-false)
(vla-put-layeron (vla-item allrs (vla-get-layer ob)) :vlax-true))
(vla-delete ob)
(vlax-release-object ob)))))
(vla-regen adoc acallviewports)
(princ))
I'm not lazy, just lisp impaired...
Gary