- (defun c: DELBLK (/ bdef blk ss tmp uss)
- (vl-load-com)
- (or *fil:del* (setq *fil:del* "All"))
- (setq bdef (getvar "INSNAME"))
- (while
- (progn
- (setq blk
- (getstring t
- (strcat "\nSpecify Block Name <" bdef ">: ")))
- (cond ((eq "" blk) (setq blk bdef) nil)
- ((not (snvalid blk))
- (princ "\n** Invalid Block Name **"))
- ((not (tblsearch "BLOCK" blk))
- (princ "\n** Block Not Found in Drawing **"))
- (t nil)))) ; Exit Loop
- (if (setq ss (ssget "_X" (list (cons 0 "INSERT")
- (cons 2 blk))))
- (progn
- (princ (strcat "\nDrawing Contains "
- (rtos (sslength ss) 2 0) " Blocks with Name: " blk))
- (initget "All Selection")
- (or (not (setq tmp
- (getkword
- (strcat "\nDelete [A]ll or [s]election? <" *fil:del* "> : "))))
- (setq *fil:del* tmp))
- (cond ((eq *fil:del* "Selection")
- (while (not uss)
- (setq uss (ssget (list (cons 0 "INSERT")
- (cons 2 blk)))))
- (setq ss uss)))
- (mapcar 'vla-delete
- (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
- )
- ))
- (vla-get-count (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object))))
- (princ))
|