你说得对。。。现在它工作了。。。
- (defun c:sb (/ e name n out ss x rjp-getblockname)
- (vl-load-com)
- (prompt "\n Pick BLOCK to acquire its instances in the drawing...")
- (defun rjp-getblockname (obj)
- (if (vlax-property-available-p obj 'effectivename)
- (vla-get-effectivename obj)
- (vla-get-name obj)
- )
- )
- (if (setq x (ssget '((0 . "INSERT")))
- x (ssname x 0)
- name (rjp-getblockname (vlax-ename->vla-object x))
- ss (ssget "_X" '((0 . "INSERT")))
- n -1
- out (ssadd)
- )
- (while (setq e (ssname ss (setq n (1+ n))))
- (if (= (rjp-getblockname (vlax-ename->vla-object e)) name)
- (ssadd e out)
- )
- )
- )
- (sssetfirst nil out)
- (princ)
- )
现在我记得我有一些其他的程序有同样的问题。。。现在我知道如何修复它了。。。
谢谢 |