乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 43|回复: 2

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

[复制链接]

52

主题

380

帖子

11

银币

中流砥柱

Rank: 25

铜币
588
发表于 2020-10-11 09:02:00 | 显示全部楼层 |阅读模式
Kean 有一篇文章关于在使用jig时,按下shift或ctrl键。
还有一篇文章讲使用创建多段线,Jig中使用关键字。
飞狐版主有收集:
现在的问题是:
如何实现在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)
)
回复

使用道具 举报

29

主题

743

帖子

11

银币

中流砥柱

Rank: 25

铜币
858
发表于 2020-10-12 10:34:00 | 显示全部楼层
试试能不能hook捕获键盘消息。
回复

使用道具 举报

21

主题

149

帖子

11

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
231
发表于 2020-12-18 23:20:00 | 显示全部楼层
我是用的键盘钩子
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 01:36 , Processed in 0.267551 second(s), 69 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表