明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5477|回复: 22

[讨论] 按键切换程式

[复制链接]
发表于 2013-8-29 14:33:46 | 显示全部楼层 |阅读模式
修改下面这个程式在运行时按X键就一直画水平线,当需要画竖线时按V键就可以一直画竖线,可以反复切换,应该怎么写

(defun c:tv ()
  (setvar "cmdecho" 0)
  (PROMPT "\n按键 X-水平  V-竖直:")
  (setq key (cadr (grread)))
  (setq  i key)
  (while key
    (cond ((or (= key 120) (= key 88))    (command "xline" "h" pause ""))
   ((or (= key 118) (= key 86))    (command "xline" "v" pause ""))
   (t (command "xline" "h" pause "")))
  )
)
发表于 2013-8-29 22:30:13 | 显示全部楼层
最近才编的
  1. (defun c:hv (/ aa)
  2. (princ "\n***构造线加强***")
  3. (while (= aa nil)
  4.     (princ "\n水平(左键)/垂直(右键)/角度(空格)")
  5.     (setq aa (grread))
  6.     (cond
  7.       ((= (car aa) 3)  (c:hh)(setq aa nil))
  8.       ((= (car aa) 25) (c:vv)(setq aa nil))
  9.       ((= (cadr aa) 32) (c:xla)(setq aa nil))
  10.       ((or (= (cadr aa) 88)(= (cadr aa) 120))(setq aa 1))
  11. )
  12. )
  13. )


  14. (defun c:hh ()
  15.   (command "xline" "h")
  16.   (while (not (zerop (getvar "CMDACTIVE")))
  17.     (princ "\n指定通过点: ")
  18.     (command pause)
  19.   )  
  20. (princ)
  21. )

  22. (defun c:vv ()
  23.   (command "xline" "v")
  24.   (while (not (zerop (getvar "CMDACTIVE")))
  25.     (princ "\n指定通过点: ")
  26.     (command pause)
  27.   )
  28. (princ)
  29. )


  30. (defun c:xla ()
  31.   (command "xline" "a")
  32.   (princ "\n输入构造线的角度:  ")
  33.   (command pause)
  34.   (while (not (zerop (getvar "CMDACTIVE")))
  35.     (princ "\n指定通过点: ")
  36.     (command pause)
  37.   )
  38. (princ)
  39. )

评分

参与人数 2明经币 +2 收起 理由
669423907 + 1 很给力!宝哥出手了,实在难得啊!
ucuc2003 + 1

查看全部评分

发表于 2013-8-29 22:50:56 | 显示全部楼层
xiaobao02 发表于 2013-8-29 22:30
最近才编的

hv右键选项不能用,是怎么回事?

点评

把(car (grread))粘贴到命令行按右键看看返回值是多少,把((= (car aa) 25) (c:vv)(setq aa nil)) 这句中的25改成那个返回的值  发表于 2013-8-30 09:25
发表于 2013-8-29 23:08:23 | 显示全部楼层
本帖最后由 ucuc2003 于 2013-9-2 18:25 编辑
xiaobao02 发表于 2013-9-2 17:30
最近才编的

高手!!!套用程序可以定制很多有趣的东西,哈哈,收藏了!
发表于 2013-8-30 01:10:09 | 显示全部楼层
非常经典哈,谢谢分享,不错
发表于 2013-8-30 08:07:14 | 显示全部楼层
谢谢分享               
发表于 2013-8-30 11:16:18 | 显示全部楼层
很好的程序啊。
发表于 2013-8-30 16:16:06 | 显示全部楼层
程序怎么退出呢?按ESC吗?

点评

程序定义的是 X  发表于 2013-8-30 17:18
发表于 2013-8-30 16:50:16 | 显示全部楼层
嗯,esc退出!
发表于 2013-8-30 21:26:17 | 显示全部楼层
长风(尚品) 发表于 2013-8-29 22:50
hv右键选项不能用,是怎么回事?

我的返回值是12 替换后还是不行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-20 11:41 , Processed in 0.187944 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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