删除图元上的所有对象反应器
;下面的函数删除图元上附加的反应器(defun DelRecAll( OutEnt )
(setq vlrobjects (car(vlr-reactors :VLR-Object-Reactor)))
(foreach vlr
(cdr vlrobjects)
(vlr-owner-remove vlr (vlax-ename->vla-object OutEnt) )
)
)
outent是外部图元名
请问这个函数错在哪儿?求正解。
帮助中的内容;;;--------------------------------------------------------------;
;;; 函数:CleanReactors ;
;;;--------------------------------------------------------------;
;;; 说明:用于清除反应器的;
;;; 通用的实用程序函数。它可以在调试时使用,
;;; 也能在关闭图形以前清除任何 ;
;;; 打开的反应器。 ;
;;;--------------------------------------------------------------;
(defun CleanReactors ()
(mapcar 'vlr-remove-all
'(:VLR-AcDb-reactor
:VLR-Editor-reactor
:VLR-Linker-reactor
:VLR-Object-reactor
)
)
)
我还在等哦。帮帮忙啦。 今天来看看,还是没有回复。mark 这样试试:
(DelRecAll (car(entsel)))
ZZXXQQ 发表于 2014-8-19 08:00 static/image/common/back.gif
这样试试:
(DelRecAll (car(entsel)))
首先感谢您的回复。
你引用了我的那个函数delrecall
意思是您确认这个函数没有问题吗? ZZXXQQ 发表于 2014-8-19 19:50 static/image/common/back.gif
帮助中的内容
感谢回复。
我想做的不是这个。
我想删除某些图元上的反应器。
您这样做把所有的反应器都删除了。 (defun DelReactorAll (enObj)
(foreach a (vlr-reactors :VLR-Object-Reactor) ;_ 所有对象反应器
(foreach b (cdr a) ;_ 各类反应器对象
(vl-some (function
(lambda (c)
(if (equal c enobj)
(vlr-remove b)
)
)
)
(vlr-owners b) ;_ 反应器拥有者对象
)
)
)
)
;;测试
(DelReactorAll (vlax-ename->vla-object (car(entsel "\n选择对象:")))) Gu_xl 发表于 2014-8-22 10:29 static/image/common/back.gif
感谢回复。经验证确实可以。
页:
[1]