找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2111|回复: 3

[讨论]:关于反应器的unknownCommand,很难!请高手解决!

[复制链接]
发表于 2005-8-21 13:36:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
关于反应器的unknownCommand,想了很长时间!请高手解决!

在正确命令开始时(commandWillStart),被反应器捕获,(setvar "clayer" "1")没问题。

在错误命令(如在命令行输入("xxxxxxx")开始时(unknownCommand),被反应器捕获,(setvar "clayer" "0"),出现错误: AutoCAD 变量设置被拒绝: "clayer" "0",用了程序运行时中断(sendkeys "{ESC}"),也没用!

哪位高手可以解决!先谢谢了。




  1.   [FONT=courier new]
  2. (vl-load-com)
  3. (if (not ea:ansyscmd)
  4.   (setq        ea:ansyscmd
  5.          (vlr-editor-reactor
  6.            nil
  7.            '(
  8.              (:vlr-commandWillStart . WSCmd)
  9.              (:vlr-unknownCommand . UKCmd)
  10.              
  11.             )
  12.          )
  13.   )
  14. )
  15. (defun WSCmd (var1 var2 / );命令回调
  16.          (setvar "clayer" "1");没有"1"层则应先创建。此处没错误。
  17. )                       
  18. (defun UKCmd (var1 var2 / )
  19.          (princ "111111111111111")
  20.          (vl-cmdf)(sendkeys "{ESC}")
  21.          (setvar "clayer" "0");错误: AutoCAD 变量设置被拒绝: "clayer" "0"
  22.      (princ "222222222222222")
  23. )

  24. ;;Written By AIdraft
  25. (defun SendKeys (keys / ws)
  26.   (setq ws (vlax-create-object "WScript.Shell"))
  27.   (vlax-invoke-method ws 'sendkeys keys)
  28.   (vlax-release-object ws)
  29.   (princ)
  30. )
  31.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-8-21 18:36:30 | 显示全部楼层
反映器不能用 command ,应该也包括 vl-cmdf
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-8-21 20:29:14 | 显示全部楼层

  1. (vl-load-com)
  2. (if (not ea:ansyscmd)
  3.   (setq        ea:ansyscmd
  4.          (vlr-editor-reactor
  5.            nil
  6.            '(
  7.              (:vlr-commandWillStart . WSCmd)
  8.              (:vlr-unknownCommand . UKCmd)
  9.              (:vlr-commandended . WSCmdend)
  10.              (:vlr-commandcancelled . WSCmdend)
  11.             )
  12.          )
  13.   )
  14. )
  15. (defun WSCmd (var1 var2 / doc) ;_命令回调
  16.   (if (not (tblsearch "layer" "1"))
  17.     (progn
  18.       (vla-add
  19.         (vla-get-layers
  20.           (setq doc (vla-get-activedocument (vlax-get-acad-object)))
  21.         )
  22.         "1"
  23.       )
  24.       (vla-SetVariable doc "clayer" "1")
  25.     )
  26.     (vla-SetVariable
  27.       (vla-get-activedocument (vlax-get-acad-object))
  28.       "clayer"
  29.       "1"
  30.     )
  31.   ) ;_没有"1"层则应先创建。此处没错误。
  32. )
  33. (defun UKCmd (var1 var2 / doc)
  34.   ;; (princ "\n111111111111111")  
  35.   (vla-sendcommand
  36.     (setq doc (vla-get-activedocument (vlax-get-acad-object)))
  37.     (chr
  38.       3
  39.     )
  40.   )
  41.   (vla-SetVariable doc "clayer" "0")
  42.   ;;(princ "\n222222222222222")
  43. )
  44. (defun WSCmdend        (var1 var2 /)
  45.   (vla-SetVariable
  46.     (vla-get-activedocument (vlax-get-acad-object))
  47.     "clayer"
  48.     "0"
  49.   )
  50. )
  51. ;|;Written By AIdraft
  52. (defun SendKeys        (keys / ws)
  53.   (setq ws (vlax-create-object "WScript.Shell"))
  54.   (vlax-invoke-method ws 'sendkeys keys)
  55.   (vlax-release-object ws)
  56.   (princ)
  57. )|;
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-24 10:21:45 | 显示全部楼层
反映器不能用 command ,应该也包括 vl-cmdf


在一次偶然调试程序时,在回调函数中先关掉反应器,再使用(vl-cmdf )、(sentkey "{ESC}")、command命令,最后开户反应器,command居然能运行,就是一直死循环!由于没有保存,过了几天后一直没调试出来。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-28 12:57 , Processed in 0.332039 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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