plackowski 发表于 2022-7-5 20:24:10

在用户i上设置时间延迟

我对使用autolisp创建Snake感兴趣,但据我所知,要通过grread命令,需要用户输入。如果在一段时间内没有收到输入,我是否可以中断grread命令?

Hippe013 发表于 2022-7-5 21:11:54

我相信我对您的理解是正确的,您已经安装了grread跟踪。如果用户不移动鼠标,代码将保留在grread上。
 
我还没有找到一个办法来克服这一点。

Lee Mac 发表于 2022-7-5 21:27:39

过去,您可以通过在grread表达式中包含一个表达式来重新生成图形,从而为grread函数提供连续输入,但不建议这样做。
 
以下是一个示例:
(defun c:tg2 ( / o p )
   (setq p (getvar 'viewctr))
   (setq o
       (vla-addcircle (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)))
         (vlax-3D-point (cons (+ (car p) (/ (getvar 'viewsize) 5.0)) (cdr p)))
         (/ (getvar 'viewsize) 20.0)
       )
   )
   (setq p (vlax-3D-point p))
   (while (= 5 (car (grread t 14 1)))
       (vla-rotate o p 0.0175)
       (command "_.regen")
   )
   (princ)
)
(vl-load-com) (princ)
页: [1]
查看完整版本: 在用户i上设置时间延迟