明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4090|回复: 4

第十二章 反应器和回调函数 (三) 核实反应器类型

[复制链接]
发表于 2012-12-15 22:21:50 | 显示全部楼层 |阅读模式
核实反应器类型

《AutoLISP 参考手册》列出了与各种反应器类型相关的所有事件。对每种反应器类型,这些信息包括在定义该类型反应器的函数说明之中。这些函数的名称和反应器类型相同,只是没有前面的冒号。例如,vlr-acdb-reactor创建数据库反应器,vlr-toolbar-reactor创建工具栏反应器,依此类推。

(vlr-type reactor)
遍历集合的成员对象并对每一成员对象执行语句。如果参数不是集合对象则,产生错误。和(foreach)差不多,引用的符号是局部的和临时的。

参数:
reactor 反应器对象

返回值:
表示反应器类型的符号。下表列出了 vlr-type 可能返回的类型:

反应器类型

反应器类型

说明

:VLR-AcDb-Reactor

数据库反应器。

:VLR-Command-Reactor

通知命令事件的编辑器反应器。

:VLR-DeepClone-Reactor

通知 deepclone 事件的编辑器反应器。

:VLR-DocManager-Reactor

文档管理反应器。

:VLR-DWG-Reactor

通知图形事件(如打开或关闭图形)的编辑器反应器。

:VLR-DXF-Reactor

通知 DXF 文件读写操作相关事件的编辑器反应器。

:VLR-Editor-Reactor

一般的编辑器反应器。用于向后兼容。

:VLR-Insert-Reactor

通知块插入相关事件的编辑器反应器。

:VLR-Linker-Reactor

链接反应器。

:VLR-Lisp-Reactor

通知 LISP 事件的编辑器反应器。

:VLR-Miscellaneous-Reactor

不属于其他反应器类型的编辑器反应器。

:VLR-Mouse-Reactor

通知鼠标事件(如双击)的编辑器反应器。

:VLR-Object-Reactor

对象反应器。

:VLR-SysVar-Reactor

通知系统变量变化的编辑器反应器。

:VLR-Toolbar-Reactor

通知工具栏位图变化的编辑器反应器。

:VLR-Undo-Reactor

通知放弃操作的编辑器反应器。

:VLR-Wblock-Reactor

通知和写块相关的操作的编辑器反应器。

:VLR-Window-Reactor

通知移动或缩放 AutoCAD 窗口事件的编辑器反应器。

:VLR-XREF-Reactor

通知与附着或修改外部参照相关的事件的编辑器反应器。


示例:
_$ (vlr-type circleReactor)
:VLR-Object-Reactor


获取反应器的信息有很多种方法。Visual LISP提供了AutoLISP函数来查询反应器,你也可以用基本的Visual LISP数据检查反应器的信息。

使用AutoLISP列出图纸中的所有反应器,可调用vlr-reactors函数。该函数返回反应器列表的表。每个反应器列表都是由反应器类型的标识符开始的,其后跟着的是该类型的每个反应器的指针。例如:

_$ (vlr-reactors)
((:VLR-Object-Reactor #<VLR-Object-Reactor>) (:VLR-Editor-Reactor #<VLR-Editor-Reactor>))


在该例中,vlr-reactors返回了包含两个表的表,一个是单一对象反应器标识,另一个是单一编辑器反应器标识。

要列出给定类型的所有反应器,就需要提供给vlr-reactors该反应器类型标识的参数。指定由vlr-types函数返回的哪一类型的值;至于不同的类型可在“反应器类型”节中查到。例如,以下列出了所有DWG反应器的表:

_$ (vlr-reactors :vlr-dwg-reactor)
((:VLR-DWG-Reactor #<VLR-DWG-Reactor> #<VLR-DWG-Reactor>))


在这种情况下,返回值是包含有一个表的表。这个表列出了两个DWG反应器的标识符指针。



该贴已经同步到 明经通道的微博

本帖被以下淘专辑推荐:

发表于 2012-12-17 12:35:06 | 显示全部楼层
老大辛苦了。看了看目录,后面的任务还很“艰巨”!老大加油!

点评

你真牛,总能抢到沙发!!  发表于 2012-12-17 13:52
发表于 2012-12-17 13:52:06 | 显示全部楼层
又出新知识了,赶紧来学习啊
发表于 2014-1-22 20:49:00 | 显示全部楼层
老大辛苦了。看了看目录,后面的任务还很“艰巨”!老大加油!
发表于 2014-1-22 20:49:38 | 显示全部楼层
老大辛苦了。看了看目录,后面的任务还很“艰巨”!老大加油!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-22 21:15 , Processed in 0.182828 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表