求助:如何删除图元上的对象反应器
本帖最后由 chg 于 2011-11-12 16:46 编辑首先,将一个对象反应器附加到一个图元(MTEXT)上,和另外一个图元(LEADER)关联,然后删除这个LEADER,在下次触发这个MTEXT上的反应器时,在回调函数中删除或禁用MTEXT上的对象反应器。我的删除代码如下:
(defun li:txt-changed (text reactor parameterList)
(Setq OwnerReactorsToRemove (cons text OwnerReactorsToRemove))
(setq trl (assoc :VLR-OBJECT-REACTOR (vlr-reactors)))
(if trl
(setq trl (cdr trl))
)
(while trl
(progn
(foreach owner OwnerReactorsToRemove
(if owner
(vlr-owner-remove (car trl) owner)
)
)
(setq trl (cdr trl))
)
)
(if (vlr-pers-p reactor)
(vlr-remove (vlr-pers-release reactor))
(progn
;(vlr-data vlr)
;(vlr-data-set vlr nil)
(vlr-remove reactor)
)
)函数执行后,在下次的MTEXT编辑中,依然能触发反应器,不知为何,请高手指教。
还有一个问题,就是我删除了MTEXT后,用UNDO命令恢复,为何不能触发:VLR-UNERASED事件? 请版主和高手们指点一下,给个思路也行。 请问楼主,问题解决了没?我也想知道结果。 已经解决,代码还是以上代码不变,又可以执行了,不知道那天是哪里出了问题。不用触发:VLR-UNERASED事件依然可以将反应器重新附加上去,所以也就没有再研究。cad版本2011. 程序多了一个全角右括弧。
页:
[1]