delay命令和绘图命令可否交叉使用
(setq tm (getint "设定延时时间,单位ms:"))(if (= tm nil)
(setq tm 1000)
)
(setq p0 (getpoint "指定绘图起始点:"))
(command "line" p0 (polar p0 0 1000) "")
(command "delay" tm)
(command "line" p0 (polar p0 1.5708 1000) "")
(command "delay" tm)
(command "line" p0 (polar p0 pi 1000) "") 目的是想按设定时间绘图,起到演示的作用,但是上面的方法不行,请教正确的方法,谢谢。
非常感谢两位的解答。
我是想达到自动模拟数冲走刀的效果,比如一个矩形,需要沿矩形边沿从起始点到结束点一个一个刀具的走过去,以此模拟数冲道具的行走路线,所以按空格键继续不大现实。菜卷鱼的代码好像也不是隔一个指定时间画一条线。 本帖最后由 菜卷鱼 于 2015-1-7 16:07 编辑
(defun c:tt ()
(if (=tmold nil)(setq tmold 1000))
(mapcar 'princ (list "设定延时时间,单位ms:< " tmold " >"))
(setq tm (getint ))
(if (= tm nil)(setq tm tmold)(setq tmold tm))
(initget 1)
(setq p0 (getpoint "\n指定绘图起始点:"))
(setvar 'cmdecho 0)
(command "line" p0 (polar p0 0 1000) "")
(command "delay" tm)
(command "line" p0 (polar p0 (/ pi 2) 1000) "")
(command "delay" tm)
(command "line" p0 (polar p0 pi 1000) "")
(command "delay" tm)
(grread t 4 1)
(setvar 'cmdecho 1)
(prin1)) 本帖最后由 819534890 于 2015-1-7 15:24 编辑
个人觉得这个方法不是很好,建议用暂停,每次按一下键盘继续开始。
在每个画图命令前增加这样一句:
(command pause)
可以达到按一下键盘继续效果,这样更加方便演示。
试试效果:
(defun c:t1 () ;每个命令后暂停,按一下空白键继续下个命令
(setq p0 (getpoint "指定绘图起始点:"))
(command "line" p0 (polar p0 0 1000) "")
(command pause)
(command "line" p0 (polar p0 1.5708 1000) "")
(command pause)
(command "line" p0 (polar p0 pi 1000) "")
)
本帖最后由 菜卷鱼 于 2015-1-7 16:10 编辑
我这里显示是一步一步的啊
可以看看这个帖子
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=112003&fromuid=399892]无聊的时候玩CAD动态演示(帖子内不含高端内容,慎入) http://bbs.mjtd.com/forum.php?mod=viewthread&tid=112003&fromuid=399892
试了楼上提供的链接的代码,确实是动画显示的。为什么我用2楼代码实验总是等3秒后才一次性出现呢?和你提供的动画不一样,郁闷啊。 可能是电脑问题,用拷贝命令的话就正常了,非常感谢菜卷鱼的热心解答!
页:
[1]