明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2870|回复: 3

[求助]在AutoLISP程序中能用键盘上4个方向键吗?(UP Right Down Left)

[复制链接]
发表于 2004-1-9 22:36:00 | 显示全部楼层 |阅读模式
发表于 2004-1-10 08:31:00 | 显示全部楼层
好象不行. 我還沒有看過有提取這四個鍵特性的涵數呀.
发表于 2004-1-10 09:21:00 | 显示全部楼层
转贴一个类似功能的函数
  1. ;;; ----------------------------------------------------------------------------
  2. ;;; ----------------------  = = = =  主 函 数  = = = =  ------------------------
  3. ;;; ----------------------------------------------------------------------------
  4. ;;;                            ( 通过键盘移动目标 )                             
  5. ;;; ----------------------------------------------------------------------------
  6. (DEFUN C:MoveEnts (/ cmd loop SSet KeyList n step BasePoint0 BasePoint1 BasePoint2)
  7.   (SETQ cmd (GETVAR "CMDECHO"))
  8.   (SETVAR "CMDECHO" 0)
  9.   (SETQ loop 1)
  10.   (WHILE loop
  11.     (PROMPT "\n 选择对象 : ")
  12.     (SETQ SSet (SSGET))
  13.     (COND
  14.       ((NULL SSet)(ALERT "没有选中对象!"))
  15.       (T (SETQ loop nil))
  16.     )
  17.   )
  18.   (PRINC "\n Press key:")
  19.   (PRINC "\n\t w --- UP")
  20.   (PRINC "\n\t s --- DOWN")
  21.   (PRINC "\n\t a --- LEFT")
  22.   (PRINC "\n\t d --- RIGHT")
  23.   (PRINC "\n 请按方向键 W S A D")
  24.   (TERPRI)
  25.   (SETQ KeyList '(119 115 97 100))
  26.   (SETQ n (CADR (GRREAD)))
  27.   
  28.   (WHILE (/= n 13)
  29.     (WHILE (NOT (MEMBER n KeyList))
  30.       (SETQ n (CADR (GRREAD)))
  31.     )
  32.     (SETQ step 10)
  33.     (SETQ BasePoint0  (LIST 0 0))
  34.     (SETQ BasePoint1 (LIST 0 step))
  35.     (SETQ BasePoint2 (LIST step 0))
  36.     (COND
  37.       ((EQUAL n 119)(COMMAND "MOVE" SSet "" BasePoint0 BasePoint1)(PRINC "\r< 上 >"))
  38.       ((EQUAL n 115)(COMMAND "MOVE" SSet "" BasePoint1 BasePoint0)(PRINC "\r< 下 >"))
  39.       ((EQUAL n 97) (COMMAND "MOVE" SSet "" BasePoint2 BasePoint0)(PRINC "\r< 左 >"))
  40.       ((EQUAL n 100)(COMMAND "MOVE" SSet "" BasePoint0 BasePoint2)(PRINC "\r< 右 >"))
  41.     )
  42.     (SETQ n (CADR (GRREAD)))
  43.   );WHILE

  44.   (SETVAR "CMDECHO" cmd)
  45.   (PRINC)
  46. )

  47. (PRINC "\n Type "MOVEENTS" to run this routine.")
复制代码
发表于 2014-9-22 16:36:58 | 显示全部楼层
HQ_2003 发表于 2004-1-10 09:21
转贴一个类似功能的函数

大神这个程序除了,ESC之外,如何退出呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-23 02:32 , Processed in 0.170957 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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