试试这个。。。
- (vl-load-com)
- (defun c:Test (/ ss i sn name bd l)
- ;; Tharwat 18. Sep. 2013 ;;
- (or acdoc
- (setq acdoc (vla-get-activedocument (vlax-get-acad-object)))
- )
- (if (setq ss (ssget "_:L" '((0 . "INSERT"))))
- (repeat (setq i (sslength ss))
- (setq sn (ssname ss (setq i (1- i))))
- (if (not
- (member (setq name (cdr (assoc 2 (entget sn)))) l)
- )
- (progn
- (setq l (cons name l))
- (vlax-for x (setq bd
- (vla-item (vla-get-blocks acdoc)
- name
- )
- )
- (if
- (and (eq :vlax-false (vla-get-isxref bd))
- (eq (vla-get-objectname x) "AcDbHatch")
- )
- (vl-catch-all-apply 'vla-delete (list x))
- )
- )
- )
- )
- )
- (princ)
- )
- (if ss
- (vla-regen acdoc acAllViewports)
- )
- (princ)
- )
|