找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1546|回复: 5

[求助] [求助]:[1014]如何设定"WHILE"右键返回值?

[复制链接]
发表于 2006-10-14 09:07:41 | 显示全部楼层 |阅读模式

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

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

×
[求助]:[1014]如何设定"WHILE"右键返回值?
程序如下:

  1. (DEFUN C:TEST ()
  2. (WHILE
  3. (setq pt (getpoint "\n 选取封闭空间:"))
  4. (command "-BOUNDARY" pt "")
  5. (setq en (entlast))
  6. (IF (/= en nil)
  7. (PROGN
  8. (setq vla_en_AREA (vla-get-Area (LA-TO-VLA EN)))
  9. (setq TXT (strcat "\n Area="
  10. (rtos (/ vla_en_AREA 10000) 2 2)" (㎡)"))
  11. (princ TXT)
  12. (ENTDEL en)
  13. ) ;_ 结束progn
  14. ) ;_ 结束if
  15. )
  16. )


当在程序执行时
按下"ESC"键
返回 [函数被取消]

按下"滑鼠右"键
返回 指令:
若想要返回 (princ "程序终止")
那该怎样处理呢?

希望各位高手可以帮忙解答一下
谢谢~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-10-14 12:47:56 | 显示全部楼层
;if放到while里面
(while .....
  (if ...)
)
(princ "程序终止")
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-10-14 13:11:08 | 显示全部楼层
这样行否?

  1. (defun c:test        (/ pt en txt)
  2.         (setq pt "T")
  3.         (while pt
  4.                 (setq pt (getpoint "\n 选取封闭空间:"))
  5.                 (if        pt
  6.                         (progn
  7.                                 (command "-boundary" pt "")
  8.                                 (setq en (bpoly pt))
  9.                                 (if        en
  10.                                         (progn
  11.                                                 (command "area" "e" "l")
  12.                                                 (setq
  13.                                                         txt
  14.                                                          (strcat
  15.                                                                  "\n area="
  16.                                                                  (rtos (/ (getvar "area") 1000000) 2 (getvar "dimdec"))
  17.                                                                  " (㎡)"
  18.                                                          )
  19.                                                 )
  20.                                                 (princ txt)
  21.                                         )
  22.                                 )
  23.                         )
  24.                 )
  25.         )
  26.         (princ)
  27. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-14 14:07:37 | 显示全部楼层
谢谢楼主的解答
那如果我想使用 GrRead 命令来处理
那么滑鼠右键的 GrRead 该用哪各值呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 7233个

财富等级: 富甲天下

发表于 2006-10-14 17:12:07 | 显示全部楼层
Command: (GrRead)      ; 右键
(25 461)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-10-15 11:34:08 | 显示全部楼层
轉載 http://p4.xdcad.net/forum/showth ... 3035133#post3035133
有發表關於 GrRead 使用範例
[PHP]
(defun C:repkey ()
(print "选取物件/右键输入/K键输入")
(setq key (grread))
(anskey key)
)
     
(defun anskey ( key /)
(cond
((= (car key) 3) (print "滑鼠点到点位置"))
((= (CAR key) 2)
(SETQ bigwd (STRCASE (CHR (CADR key))))
(IF (= bigwd "K")
(PRINT "按键K输入")
(PROGN
    (PRINT "未支援此关键命令,请重新输入命令")
    (C:repkey)
)
)
)
((= (CAR key) 25) (print "滑鼠按到右键"))
(t
(print "您的输入,没有任何反应!!!")
)
)
)

[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 06:25 , Processed in 0.423426 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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