明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6602|回复: 24

[讨论] 怎样使CAD命令重复执行???

  [复制链接]
发表于 2010-12-2 18:50 | 显示全部楼层 |阅读模式
个人认为:
      不管什么样的程序,CAD命令那是用的最多!
可是在执行命令的的同时,又要繁琐的按回车键,
很多什么都会很乱,很烦.........



请求:
      希望有知道,怎样可以重复执行CAD命令的朋友,能够留个言,指点帮助下,谢谢!!!
发表于 2010-12-2 21:22 | 显示全部楼层
在^C^C前加*
发表于 2010-12-2 21:39 | 显示全部楼层
在 op 里面 右键设置成重复上一次命令
发表于 2010-12-2 21:41 | 显示全部楼层
用菜单语法编辑,命令名之前加*
 楼主| 发表于 2010-12-3 08:08 | 显示全部楼层
这个LISP  做不到吗?
发表于 2010-12-3 16:29 | 显示全部楼层
本帖最后由 LONGFIN 于 2010-12-3 16:31 编辑

;;用LISP其实很简单,以LINE命令为例
(defun c:L1 ()
(vl-catch-all-apply
'(lambda ()
    (while T
      (if (zerop (getvar 'CMDACTIVE))
       (command "_.line")
       (command "\\")
      )
    )
  )
)
(princ)
)
 楼主| 发表于 2010-12-3 18:48 | 显示全部楼层
回复 LONGFIN 的帖子

呵呵 你这个也太强了
我的意思,你大概还不明白
我是想在没按空格时,命令在执行完后又会自动跳回来,
   可是在按空格以后会自动退出该命令!
不知道版主明白我的意思不?
发表于 2010-12-3 20:46 | 显示全部楼层
楼主的想法很丰富,仔细想了想还是有问题,也就是说你要程序如何按照你的意思执行!!
以LINE命令为例:
命令在执行完后又会自动跳回来
那么我要问,LINE命令执行完的标准是什么,无非还是enter(或space),而按照你的意思是按space则要退出该命令。。。
发表于 2010-12-3 21:46 | 显示全部楼层
(setq *g-var* nil)
(defun userselect (/ string1 string2 num n showstr char TextList)
  (setq string1 "\n指定下一步动作:[动作1(A)/动作2(B)/动作3(C)]动作1(A):"
        string2 "\n指定下一步动作:[动作1(A)/动作2(B)/动作3(C)]动作2(B):"
  )
  (setq num 0)
  (while (< num 4)
    (if *g-var*
      (setq n *g-var*)
      (setq n 1)
    )
    (cond
      ((= n 1) (setq showstr string1))
      ((= n 2) (setq showstr string2))
    )
    (setq char (getstring showstr)
          TextList (list (cons "A" 1)
                         (cons "a" 1)
                         (cons "" n)
                         (cons "B" 2)
                         (cons "b" 2)
                         (cons "C" 4)
                         (cons "c" 4)
                   )
    )
    (if (assoc char TextList)
      (setq num (cdr (assoc char TextList)))
      (setq num 3)
    )
    (if (< num 3)
      (setq *g-var* num)
      (if (> num 3)
        (setq *g-var* 1)
      )
    )
    (cond
      ((= num 1) func1)
      ((= num 2) func2)
      ((= num 3) (princ "\n输入无效,重新输入。"))
      ((= num 4) (princ))
    )
  )
)
不知道符不符合版主的意思
发表于 2010-12-3 22:45 | 显示全部楼层
利用 命令反应器  当检测到命令正常结束时  用Vlax的方法 向 命令行再此发送命令 进行自动重新执行           但是 必须要用ESC来结束程序


不过真这样操作的话 估计会发疯……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-21 10:13 , Processed in 0.263556 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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