找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2087|回复: 7

[研讨] 试试API里面的一键回车

[复制链接]

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-5-8 17:09:14 | 显示全部楼层 |阅读模式

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

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

×
新拿到了API,增加了关键字的一键回车,这个可太好了,写了段代码测试下,还不错,本来想用+ - 做关键字动态缩放圆的,不过发现关键字不支持+ - ,希望老大给加上

一键回车.gif

上面的动画可以看到,输入关键字的时候,命令行提示是不变的。下面的代码也是点监视器函数xdrx_pointmonitor动态拖动的一个应用。

  1. (defun c:tt ()
  2.   (defun _callback (dynpt)
  3.     (xdrx_setpropertyvalue e "center" dynpt)
  4.     dynpt
  5.   )
  6.   (xdrx_pointmonitor "_callback")
  7.   (setq e (xdrx_circle_make '(0 0 0) 200.0))
  8.   (while (progn
  9.            (xdrx_initget "A B")
  10.            (initget "A B")
  11.            (setq p (getpoint "\rPICK POINT[半径增大(A)/减小(B)]<退出>:"))
  12.          )
  13.       (cond
  14.          ((= p "A")
  15.             (xdrx_setpropertyvalue e "radius" (+ 30 (xdrx_getpropertyvalue e "radius")))
  16.          )
  17.          ((= p "B")
  18.             (xdrx_setpropertyvalue e "radius" (- (xdrx_getpropertyvalue e "radius") 40))
  19.          )
  20.          ((= (type p) 'LIST)
  21.             (xdrx_entity_copy e)
  22.          )
  23.       )
  24.   )
  25.   (xdrx_entity_delete e)
  26.   (xdrx_pointmonitor)
  27.   (princ)
  28. )


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

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2016-5-8 17:15:32 | 显示全部楼层
(xdrx_initget "A B")  这个就是API新加的一键回车函数,要配合LISP的INITGET函数一起使用
(initget "A B")
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8613个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 48个

财富等级: 招财进宝

发表于 2017-5-2 12:38:28 来自手机 | 显示全部楼层
带关键字的xdrx_ssget,能否也实现: 一键回车。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2017-5-2 12:45:39 | 显示全部楼层

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

使用道具 举报

已领礼包: 48个

财富等级: 招财进宝

发表于 2017-5-2 13:07:07 | 显示全部楼层

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 第1种情况
;;带关键字的ssget
(xdrx_initssget "\n请选择文字" "S" "" "" "")
(setq ss (xdrx_ssget ":L" '((0 . "text,mtext"))))
效果:输入S,需要敲击“空格或者回车键”,返回:"S"
希望能得到 “第2种情况”的体验

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 第2种情况
;;一键回车
(xdrx_initget "1 2 3 4")
(setq x
       (getkword
         (strcat "\n 单线体(1) /宋体(2)/仿宋(3)/改Standard为Txt,Hztxt(4) <"
                 "1"
                 ">:"
         )
       )
)
效果:输入1,(不需敲击“空格或者回车键”),直接返回:"1"

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2017-5-2 13:23:05 | 显示全部楼层

1、(xdrx_initget ....)设置后,(xdrx_initssget ... )里面也要设置

2、(xdrx_initget ....) 设置后,只要有键盘输入的地方就有效

3、(xdrx_initssget ... ) 设置了关键字后,xdrx_ssget才响应关键字,要注意区分。

4、还有要注意的是,SSGET保留的关键字不要做(xdrx_initssget ... )里面的关键字。比如 A,R,C,W,F,L等等。

5、设置了(xdrx_initget ....),比如(xdrx_initget "A R C W F L"), 不设(xdrx_initssget ... ) ,对SSGET的标准的关键字也是响应一键回车的,设置了(xdrx_initget ....),所有键盘输入的地方,都响应。


下面是例子

  1. (defun c:tt ()
  2.   (defun callback (keyword)
  3.     (cond
  4.       ((= keyword "K")
  5.        (princ "\n输入了关键字K.")
  6.       )
  7.       ((= keyword "H") (princ "\n输入了关键字H."))
  8.     )
  9.     (princ)
  10.   )
  11.   (xdrx_begin)
  12.   (xdrx_initget "H K")
  13.   (xdrx_initssget
  14.     "\n选取要处理的多段线<退出>:"
  15.     "H K"
  16.     ""
  17.     "callback"
  18.   )
  19.   (if (setq ss (xdrx_ssget '((0 . "*POLYLINE"))))
  20.     (xdrx_prompt "\n共选取了" (sslength ss) "个多段线.")
  21.   )
  22.   (xdrx_end)
  23.   (princ)
  24. )


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

使用道具 举报

已领礼包: 48个

财富等级: 招财进宝

发表于 2017-5-2 18:43:32 来自手机 | 显示全部楼层
这下豁然开朗,版主讲得太好了。多谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 19:36 , Processed in 0.209575 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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