找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3141|回复: 3

[求助] 如何实现支持获取坐标点、关键字、数字的用户交互?

[复制链接]

已领礼包: 112个

财富等级: 日进斗金

发表于 2018-4-16 11:10:22 | 显示全部楼层 |阅读模式

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

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

×
2018-04-16_110233.png

请问如何实现上述的用户交互?支持鼠标左键选择一个点,支持输入关键字D,也支持输入数字1000
选择点时,返回的是点
输入关键字D后,修改的为默认数值1000,可改为其它值
去接输入数字,返回的是上一次选择点,在当前鼠标方向上的输入距离的点,例如上一次的坐标为pt{x,y,z},当前鼠标中心点相对于pt点的角度为300度,输入的数字为600,则计算出pt1(polar pt 300 600)(这里的计算不正确,只是举例为上个点的相对点),返回为pt1点
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 13个

财富等级: 恭喜发财

发表于 2018-4-16 11:45:41 | 显示全部楼层
initget
加 getpoint

点评

成功了,谢谢!while这里是重点,一个是initget只生效一次,所以要和getpoint写在一起,另外initget返回nil,所以要用or 代码如下: (defun C:55 () (setq zhujv 1000) ;;(setq ds (getdist "\n输入距离或 [  详情 回复 发表于 2018-4-17 14:50

评分

参与人数 1D豆 +5 收起 理由
革天明 + 5 技术引导讨论和指点奖!

查看全部评分

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

使用道具 举报

已领礼包: 112个

财富等级: 日进斗金

 楼主| 发表于 2018-4-17 14:50:47 | 显示全部楼层

成功了,谢谢!while这里是重点,一个是initget只生效一次,所以要和getpoint写在一起,另外initget返回nil,所以要用or
代码如下:
(defun C:55 ()
  (setq zhujv 1000)
  ;;(setq ds (getdist "\n输入距离或 [参照(S)]: "))
  (while (or
           (initget "d")
           (setq
             ds
              (getpoint
                lastpoint
                (strcat "\n选择坐标点或 [输入株距(d)<" (rtos zhujv) ">]: ")
              )
           )
         )
    (cond
      ;;选择参照实体并处理
      ((= ds "d") (setq zhujv (getreal "\n请输入株距:")))
      ;;空输入退出,可在前面initget中禁止
      ((= ds nil) (princ "\n输入为空"))
      ;;(t nil)
      (t
       (progn
         (if (null lastpoint)
           (setq lastpoint ds)
           (progn (command "line" lastpoint ds "") (setq lastpoint ds))
         )

       )
      )

    )
  )
)

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

使用道具 举报

已领礼包: 375个

财富等级: 日进斗金

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 22:48 , Processed in 0.386378 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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