明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1245|回复: 2

[JIG] 如何使用DrawJig时,按任意键后自动触发,不用再加“空格或回车”

[复制链接]
发表于 2020-10-11 09:02:28 | 显示全部楼层 |阅读模式
本帖最后由 carrot1983 于 2020-10-11 09:07 编辑

Kean 有一篇文章关于在使用jig时,按下shift或ctrl键。
还有一篇文章讲使用创建多段线,Jig中使用关键字。
飞狐版主有收集:

http://bbs.mjtd.com/forum.php?mo ... 6typeid%3D31&page=1


现在的问题是:

如何实现在DrawJig时,按任意键后,就自动触发,不用再加“空格或回车”。

像Lisp中的grread函数一样。按键后随即触发。


(defun C:TEST (/ DATA GRR GRRPT KEY LOOP OBJECTS PT SS)
  ;; by carrot1983 2020.10.11
  (setq SS (ssget))
  (setq PT (getpoint "\n指定点:"))
  (setq OBJECTS (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex SS)))))
  (setq LOOP t)
  (while LOOP
    (setq GRR (grread t 15 2))
    (setq KEY (car GRR))
    (setq DATA (cadr GRR))
    (cond ((= KEY 5)
     (setq GRRPT DATA)
     (foreach O OBJECTS
       (vla-move O (vlax-3d-point PT) (vlax-3d-point GRRPT))
     )
    ) ;_移动
    ((or (= KEY 3) (= DATA 13))
     (setq LOOP NIL)
    ) ;_3左击 13回车 表示确认
    ((member KEY '(12 25))
     (redraw)
     (setq LOOP NIL)
    ) ;_右键退出
    ;;按任意键
    ((= KEY 2)
     (print (strcat "按键:" (chr DATA)))
    )
    )
    (setq PT GRRPT) ;_新基点
  )
  (redraw)
)


发表于 2020-10-12 10:34:50 | 显示全部楼层
试试能不能hook捕获键盘消息。
发表于 2020-12-18 23:20:19 | 显示全部楼层
我是用的键盘钩子
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 04:55 , Processed in 0.162423 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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