可以使用创建反应器后返回的响应器对象来修改反应器。
注意:AutoLISP 中的 ActiveX 支持仅限于 Windows。
提供了以下函数来修改 reactor 对象:
-
vlr-reaction-set - 更改指定反应器事件的回调函数链接。函数语法为:
(vlr-reaction-set reactor callback-condition 'callback-function)
例如,以下命令将反应器更改为在修改对象时调用 print-area 函数:circleReactor
(vlr-reaction-set circleReactor :vlr-modified 'print-area)
PRINT-AREA
-
vlr-data-set - 更改与反应器关联的特定于应用程序的数据。例如,以下调用将替换用于标识反应器的文本字符串:circleReactor
(vlr-data-set circleReactor "Circle Area Reactor")
"Circle Area Reactor"
您可以使用 Visual LISP Inspect 功能来验证反应器是否已更改。如果在检查反应器时显示“检查”窗口,则可能需要通过右键单击窗口的对象行并单击“更新”来更新显示的值。
-
vlr-owner-add - 将数据库对象添加到指定反应堆的所有者列表中。在以下示例中,一个名为 archie 的 Arc 对象被添加到 reactor 的所有者列表中:circleReactor
(vlr-owner-add circleReactor archie)
#<VLA-OBJECT IAcadArc 03ad0bcc>
现在,如果用户修改了对象,则调用为 reactor 定义的回调函数。您可以通过检查反应器来验证这一点。更新反应器的“检查”窗口,然后右键单击开头的列表项,然后单击“检查”。“圆弧”(Arc) 和“圆”(Circle) 对象都列在“检查”(Inspect) 窗口中。archiecircleReactorcircleReactor{Owners}
-
vlr-owner-remove - 从反应堆所有者列表中删除 Owner 对象。例如,以下语句将从所有者列表中删除:archiecircleReactor
(vlr-owner-remove circleReactor archie)
#<VLA-OBJECT IAcadArc 03ad0bcc>
|