DuanJinHui 发表于 2022-7-5 18:39:24

朋友们好,需要帮助!

朋友们好。
 
(setq pt1 (cadr (entsel "\nPick the obj:")))
上面的代码可以得到点坐标,是没有拾取任何东西都会返回“nil”
 
我想,如果没有pick,那么仍然返回pick点坐标,比如函数(getpoint)。
 
有什么好主意吗?

ReMark 发表于 2022-7-5 18:46:04

更具描述性的线程标题也会有所帮助。

DuanJinHui 发表于 2022-7-5 18:51:37

 
谢谢你的评论,但我不知道该怎么形容。我很抱歉。

Tharwat 发表于 2022-7-5 18:56:19

也许是这个
 

(if (not (setq pt1 (cadr (entsel "\nPick the obj:"))))
(setq pt1 (cadr (grread t 15 0)))
)

satishrajdev 发表于 2022-7-5 19:00:35

 
那么为什么不使用GETPOINT函数呢。

DuanJinHui 发表于 2022-7-5 19:02:21

 
非常感谢你,塔瓦。非常好!

Tharwat 发表于 2022-7-5 19:07:14

非常欢迎你。

DuanJinHui 发表于 2022-7-5 19:12:57

 
嗨,塔瓦特先生。
(setq pt1(cadr(entsel“\n点击对象:”),
上面的代码有一个小缺陷。
坐标精度受缩放限制
 
如。
一条水平线,x坐标为“0.0”,我在这条线上使用(setq pt1(cadr(entsel“\n点击对象:”))拾取:
 
结果:(18.8774-0.00995981 0.0)
 
缩小。。。
再次测试,结果为:(20.8111 0.0871873 0.0)
 
有办法解决吗?

Lee Mac 发表于 2022-7-5 19:17:34

使用getpoint/nentselp的组合

DuanJinHui 发表于 2022-7-5 19:22:21

 
谢谢李,
你的意思是这样:

(if        (and (setq p (getpoint "\nSelect: "))
(setq e (cadr(nentselp p)))
)
e
p
)

 
但我觉得这样做没有什么不同
仅(setq p(getpoint“\n选择:”))
页: [1] 2
查看完整版本: 朋友们好,需要帮助!