669423907 发表于 2018-5-29 16:22:17

请问如何判断 if 后的动作?

(defun c:qf()
(if (setq oo (entsel "\n请点选对象:))
(progn
;;;;;;;;;;;;;
;;;;;;;;;;;;
;;;;;;;;;;;
))
如何判断if之后,按了左键还是右键,并做出以下相应的提示?
(alert"按了右键")
(alert"按了左键但空选")
(alert"按了左键已选中对象")


fangmin723 发表于 2018-5-29 16:59:53

本帖最后由 fangmin723 于 2018-5-29 17:01 编辑

按下右键和选空都会返回nil,选中了对象就会返回图原名和拾取点的表-(<Entity name: 7ee835a8> (2.89423e+006 2.11156e+006 0.0))
按下右键和左键选空一样的!

Andyhon 发表于 2018-5-29 17:52:34

改派 GrRead 上工吧

669423907 发表于 2018-5-29 21:48:16

fangmin723 发表于 2018-5-29 16:59
按下右键和选空都会返回nil,选中了对象就会返回图原名和拾取点的表-( (2.89423e+006 2.11156e+006 0.0))
...

唉,没办法,没办法咯

669423907 发表于 2018-5-29 21:48:54

Andyhon 发表于 2018-5-29 17:52
改派 GrRead 上工吧

?????不懂啥是 GrRead

Andyhon 发表于 2018-5-29 22:15:07

应用例之一
http://bbs.mjtd.com/thread-176190-1-1.html

fangmin723 发表于 2018-5-30 08:22:10

669423907 发表于 2018-5-29 21:48
唉,没办法,没办法咯

你具体想干嘛,就单论if而言不建议使用grread!

669423907 发表于 2018-5-30 09:35:21

fangmin723 发表于 2018-5-30 08:22
你具体想干嘛,就单论if而言不建议使用grread!

就是想根据不同的情况运行不同的程序

669423907 发表于 2018-5-30 09:35:45

Andyhon 发表于 2018-5-29 22:15
应用例之一
http://bbs.mjtd.com/thread-176190-1-1.html

谢谢长老,我看看

张大锤 发表于 2018-5-30 10:49:03

本帖最后由 张大锤 于 2018-5-30 10:58 编辑

控制鼠标 左右键点击左键=1 点击右键=2 类似这样的帖子我发过 比较高深 我就搁置了

但是你要的效果 基本上 可以if =nil /=nil 判断出来

(defun c:qf()
(setq oo (entsel "\n選擇"))
(if (= oo nil)
(alert"0")
)
(if (/= oo nil)
(alert"1")
)
)

(alert"按了右键")
右键=空格=回车=确认
可以用:s =确认
(setq aa (SSGET ":s"'((0 . "INSERT,TEXT"))))
如果不是想用if 判断的话 只能 研究 grread 了


;只选择一次自动结束选择
;用处省了回车
(defun c:test4()
(setq ss (ssget ":S" '((0 . "line"))))
(command "erase" ss "")
)
页: [1] 2
查看完整版本: 请问如何判断 if 后的动作?