明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1850|回复: 6

[已解答] 怎么用反应器监视一个特定的命令

[复制链接]
发表于 2014-4-6 21:02 | 显示全部楼层 |阅读模式
如题,请教老师
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2014-4-8 09:21 | 显示全部楼层
找到一个有些复杂的方法:
(setvar "LOGFILEMODE" 1)  
设置系统变量LOGFILEMODE的值为1 维护日志文件
(getvar "LOGFILENAME")
得到系统日志文件的地址和文件名
然后从日志文件中可以得到最近执行的命令

这样可以监视CAD已经执行完的命令,不过命令刚开始执行就不行了。
继续请教高手:怎么在命令开始执行时就可以得到命令名
发表于 2014-4-8 11:07 | 显示全部楼层
使用命令反应器
  1. (vl-load-com)
  2. (or *commandReactor*
  3.   (setq        *commandReactor*
  4.          (VLR-Command-Reactor
  5.            nil
  6.            '
  7.             (
  8.              (:vlr-commandWillStart . test:command-will-start)
  9.             )
  10.          ) ;_ end of vlr-command-reactor
  11.   )
  12. )

  13. (defun test:command-will-start (reactor command-list / objlist)
  14.   (princ (strcat "\n您执行了 " (car command-list) "命令!"))
  15. )

评分

参与人数 1明经币 +1 收起 理由
Gu_xl + 1 热心助人奖

查看全部评分

发表于 2014-4-8 12:00 | 显示全部楼层
你看看这个也许对你有帮助
http://bbs.mjtd.com/thread-86804-1-1.html
发表于 2014-4-8 14:21 | 显示全部楼层
监视lisp命令:
  1. (or *lispvlr*
  2.     (setq *lispvlr* (vlr-lisp-reactor nil '((:vlr-lispWillStart . lispcallback))))
  3.     )
  4. (defun lispcallback (vlrobj data)
  5.   (princ "\n启动lisp命令是: ")
  6.   (princ (car data)) (princ)
  7.   )
 楼主| 发表于 2014-4-9 11:25 | 显示全部楼层
阿然 发表于 2014-4-8 11:07
使用命令反应器

感谢阿然  问题已解决 谢谢!!!
发表于 2014-4-9 14:28 | 显示全部楼层
xinrstar 发表于 2014-4-9 11:25
感谢阿然  问题已解决 谢谢!!!

如何将问题设置为已解决?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-19 23:01 , Processed in 0.252828 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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