这里有一个简单的例子:
- (defun c:foo (/ o s)
- (if (tblobjname "block" "wm")
- (progn
- (if (setq s (ssget "_x" '((0 . "insert") (2 . "wm,`*U*"))))
- (foreach b (mapcar 'cadr (ssnamex s))
- (cond ((= "WM" (vla-get-effectivename (setq o (vlax-ename->vla-object b))))
- (foreach e (vlax-invoke o 'explode) (and (= 256 (vla-get-color e)) (vla-delete e)))
- )
- )
- )
- )
- (vlax-for b (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) "WM")
- (if (/= 256 (vla-get-color b))
- (vla-delete b)
- )
- )
- (command "_.attsync" "name" "wm")
- )
- )
- (princ)
- )
- (vl-load-com)
|