mstg007 发表于 2013-10-1 09:58:55

在多布局选项卡中删除XREF

是否有lisp或类似程序允许我分离多个布局选项卡中的外部参照,或者同时删除所有布局选项卡中的外部参照,以便分离外部参照?
再三感谢!
**** Hidden Message *****

tedg 发表于 2013-10-1 11:04:26


为什么不能直接分离外部参照?如果在所有布局中都是相同的外部参照,只需要做一次(除非我弄错了?)

**编辑**
我弄错了,它不允许您一次性分离多个副本。

很抱歉错误的建议。

Rob... 发表于 2013-10-1 11:05:41

如果存在多个XREF实例,则不起作用。

ronjonp 发表于 2013-10-1 11:11:34

试试这个:
(defun c:dx (/ blk e el name ss x)
(defun _ss->list (ss / n out)
    (if        (= (type ss) 'pickset)
      (repeat (setq n (sslength ss)) (setq out (cons (ssname ss (setq n (1- n))) out)))
    )
)
(while
    (and (setq e (car (entsel "\nSelect Reference to Detach: ")))
       (setq el (entget e))
       (= (cdr (assoc 0 el)) "INSERT")
       (setq name (cdr (assoc 2 el)))
       (setq blk (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) name))
       (minusp (vlax-get blk 'isxref))
       (setq ss (_ss->list (ssget "_x" (list (cons 2 name)))))
    )
   (if (= (length ss) 1)
       (vl-catch-all-apply 'vla-detach (list blk))
       (progn
       (foreach xr (mapcar 'vlax-ename->vla-object ss) (vl-catch-all-apply 'vla-delete (list xr)))
       (vl-catch-all-apply 'vla-detach (list blk))
       )
   )
)
(princ)
)

mstg007 发表于 2013-10-1 11:31:08

太棒了。谢谢分享!

ronjonp 发表于 2013-10-1 11:41:18

很高兴能帮上忙
页: [1]
查看完整版本: 在多布局选项卡中删除XREF