明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5668|回复: 15

AutoCAD动态研究

  [复制链接]
发表于 2011-3-13 12:50:28 | 显示全部楼层 |阅读模式
本帖最后由 redcat 于 2011-11-17 21:39 编辑

  1. ;;;AutoCAD动态研究
  2. (defun c:test (/ gr code data)
  3.   (defun *error* (inf)
  4.     (setq inf (strcase inf t)) ;将出错信息转换为小写字符串
  5.     (cond
  6.       ((wcmatch inf "*break*,*cancel*,*exit*,*取消*,*中断*") ;|按了<Esc>键出错处理|;
  7.        (princ "\n用户按了<Esc>强制退出\n")
  8. ;;;       (mapcar 'setvar varlst var_old);还原系统变量
  9.       )
  10.       (t ;|其余错误处理|;
  11.        (princ (strcat "\n" inf))
  12. ;;;       (mapcar 'setvar varlst var_old);还原系统变量
  13.       )
  14.     ) ;_ 结束cond
  15.     (vla-EndUndoMark (vla-get-ActiveDocument (vlax-get-acad-object)))
  16.     (princ)
  17.   ) ;_ 结束defun

  18.   (while (progn
  19.    (setq gr   (grread t 15 0)
  20. code (car gr)
  21. data (cadr gr)
  22.    ) ;_ 结束setq
  23.    (cond
  24.      ((= code 2) ;键盘区域
  25.       (princ "\n您按了键盘区域:")
  26.       (princ (vl-list->string(cdr gr)))
  27.      )
  28.      ((= code 3) ;鼠标左击
  29.       (princ "\n鼠标左击点为:")
  30.       (princ data)
  31.      )
  32.      ((= code 5) ;鼠标移动
  33.       (princ "\n鼠标移动到:")
  34.       (princ data)
  35.      )
  36.      ((or(= code 11) ;(getvar  "SHORTCUTMENU")=0时,鼠标右击
  37.           (= code 25)) ;(getvar  "SHORTCUTMENU")≠0时,鼠标右击
  38.       (princ "\n您右击了鼠标:")
  39.      )
  40.      (t)
  41.    ) ;_ 结束cond
  42.    t
  43. ) ;_ 结束progn
  44.   ) ;_ 结束while
  45. ) ;_ 结束defun




点评

谢谢分享  发表于 2012-3-20 08:14
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2022-6-1 22:31:55 | 显示全部楼层
请教下这个出错处理后面没有出现这个 *error* ,但是exit ....又打印出错的提示 ,不太明白出错处理。
发表于 2017-9-27 17:35:58 | 显示全部楼层
学习一下,感谢分享!
发表于 2022-6-18 11:46:18 | 显示全部楼层
很好的东西
发表于 2011-3-13 22:01:53 | 显示全部楼层
动态是个好东西
发表于 2011-3-14 06:44:43 | 显示全部楼层
收藏下来,好好看看学习研究领会
谢谢楼主的分享
发表于 2011-3-18 16:05:02 | 显示全部楼层
:)
有点奇怪的是,为什么
我必须是 11而非25才是右击鼠标呢
     ((= code 11) ;鼠标右击
      (princ "\n您右击了鼠标:")
     )
发表于 2011-3-18 17:19:28 | 显示全部楼层
感谢分享!
下载学习了!
发表于 2011-3-21 09:18:36 | 显示全部楼层
回复 qjchen 的帖子

好象跟控制右键快捷菜单的这个系统变量有关 "SHORTCUTMENU"
 楼主| 发表于 2011-3-21 15:47:48 | 显示全部楼层
好象跟控制右键快捷菜单的这个系统变量有关 "SHORTCUTMENU"
我的机子上即使改为11
右击还是25
发表于 2011-6-15 18:27:58 | 显示全部楼层
好东西,学习
发表于 2011-6-15 20:53:54 | 显示全部楼层
好东西
发表于 2011-6-17 12:06:26 | 显示全部楼层
研究很深,学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 06:57 , Processed in 0.184608 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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