vlr-object-reactor (AutoLISP/ActiveX)
构造图形对象 reactor 对象
支持的平台:仅限 Windows
签名
(vlr-object-reactor owners data callbacks)
-
业主
-
类型:列表
用于标识要监视的图形对象的 VLA 对象的 AutoLISP 列表。
-
数据
-
类型:整数、实数、字符串、列表、VLA 对象、安全数组、变体、T 或 nil
要与 reactor 对象关联的任何 AutoLISP 数据;否则,如果没有数据。nil
-
回调
-
类型:列表
以下形式的对列表:
(event-name .callback_function)
-
event-name 是以下对象事件之一:
对象事件
|
名字
|
事件
|
:vlr-取消
|
对象的修改已取消。
|
:vlr-复制
|
对象已被复制。
|
:vlr-erased
|
已设置对象的擦除标志。
|
:vlr-未擦除
|
对象的擦除标志已重置。
|
:vlr-再见
|
该对象即将从内存中删除。
|
:vlr-openedForModify
|
该对象即将被修改。
|
:VLR-修改
|
对象已被修改。如果修改被取消,则 :vlr-cancelled 和 :vlr-modifyUndone 也将被触发。
|
:vlr-subObj修改
|
对象的子实体已修改。对于折线或网格的折点的修改以及块参照拥有的属性,将触发此事件。
|
:vlr-modifyUndone
|
对象的修改已撤消。
|
:vlr-modifiedXData
|
对象的扩展实体数据已修改。
|
:vlr-未附加
|
对象已从图形数据库中分离。
|
:vlr-重新附加
|
对象已重新附加到图形数据库。
|
:vlr-objectClosed
|
对象的修改已完成。
|
-
callback_function 是一个符号,表示在事件触发时要调用的函数。每个回调函数接受三个参数:
owner -- 事件应用到的 VLA 对象的所有者。
reactor_object -- 调用回调函数的 VLR 对象。
list -- 与特定事件关联的额外数据元素的列表。此列表中特定事件的内容显示在“对象事件回调数据”表中。
对象事件回调数据
|
名字
|
列表长度
|
参数
|
:vlr-取消
:vlr-erased,
:vlr-未擦除
:vlr-再见
:vlr-openedForModify
:VLR-修改
:vlr-modifyUndone
:vlr-modifiedXData
:vlr-未附加
:vlr-重新附加
:vlr-objectClosed
|
0
|
|
:vlr-复制
|
1
|
由复制操作 () 创建的对象。ename
|
:vlr-subObj修改
|
1
|
已修改的子对象 ()ename
|
返回值
类型:VLR 对象
callback_function reactor_object论点。
言论
反应器对象将添加到图形数据库中,但不会永久化。
例子
以下代码将对象反应器附加到对象。它定义了反应器,以便在对象被修改时做出响应(),并调用函数来响应修改事件:myCircle:vlr-modifiedprint-radius
(setq circleReactor (vlr-object-reactor (list myCircle)
"Circle Reactor" '((:vlr-modified . print-radius))))
|