chg 发表于 2011-11-12 14:35:04

求助:如何删除图元上的对象反应器

本帖最后由 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事件?

chg 发表于 2011-11-13 10:02:38

请版主和高手们指点一下,给个思路也行。

USER2128 发表于 2012-10-28 18:09:10

请问楼主,问题解决了没?我也想知道结果。

chg 发表于 2012-10-29 12:55:39

已经解决,代码还是以上代码不变,又可以执行了,不知道那天是哪里出了问题。不用触发:VLR-UNERASED事件依然可以将反应器重新附加上去,所以也就没有再研究。cad版本2011.

ZZXXQQ 发表于 2013-4-13 19:41:56

程序多了一个全角右括弧。
页: [1]
查看完整版本: 求助:如何删除图元上的对象反应器