将xazhji秘书长的《疯狂图形》和meflying版主的用控键合理退出的程序中和了一下,
编了一个可以实现正反转的程序。
运行程序后,单击右键可改变旋转方向,双击左键可以正常退出程序。
运行前先将图形存盘。
(defun c:fktx()
(setvar "cmdecho" 0)
(setq vcen (getvar "viewctr"))
(setq angg 0.05)
(setq m t)
(while (/= m 1)
(lhy1)
(setq angg 0.05)
(lhy2)
(setq angg 0.05)
(vlr-mouse-Reactor nil '((:VLR-beginDoubleClick . quits)))
(defun quits (calling-reactor commandInfo / )
(vl-load-com)
(setq m 1)
(princ)
)
)
)
(princ "\n成功调入《疯狂图形》!键入 fktx 运行......")(prin1)
(defun lhy1 ()
(while (= m t)
(command "rotate" "all" "" vcen angg)
(setq angg (+ angg 0.05))
(vlr-mouse-Reactor nil '((:VLR-beginRightClick . stop)))
(defun stop (calling-reactor commandInfo / )
(vl-load-com)
(setq m nil)
(princ)
)
)
)
(defun lhy2 ()
(while (= m nil)
(command "rotate" "all" "" vcen angg)
(setq angg (- angg 0.05))
(vlr-mouse-Reactor nil '((:VLR-beginRightClick . stop1)))
(defun stop1 (calling-reactor commandInfo / )
(vl-load-com)
(setq m t)
(princ)
)
)
) 反应器应在程序开头,更不应该做到循环里去,一个反应器做好了是不会消失的,直到你关闭图形或认为释放。 ;;我想在迴圈中不斷定義函數不太好,所以改了一下!
;;但转久了,程序左右转就会失效
(defun C:FKTX (/ M ANGG VCEN HOLDECHO)
(vl-load-com)
(defun LHY1 ()
(while (= M t)
(command "_.rotate" "all" "" VCEN ANGG)
(setq ANGG (+ ANGG 0.05))
)
)
(defun LHY2 ()
(while (= M NIL)
(command "_.rotate" "all" "" VCEN ANGG)
(setq ANGG (- ANGG 0.05))
)
)
(defun STOP (CALLING-REACTOR COMMANDINFO)
(setq M NIL)
)
(defun STOP1 (CALLING-REACTOR COMMANDINFO)
(setq M t)
)
(defun QUITS (CALLING-REACTOR COMMANDINFO)
(setq M 1)
)
(vlr-mouse-reactor NIL '((:vlr-begindoubleclick . QUITS)))
(setq HOLDECHO (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq VCEN (getvar "viewctr"))
(setq ANGG 0.05)
(setq M t)
(while (/= M 1)
(vlr-mouse-reactor NIL '((:vlr-beginrightclick . STOP)))
(LHY1)
(setq ANGG 0.05)
(vlr-mouse-reactor NIL '((:vlr-beginrightclick . STOP1)))
(LHY2)
(setq ANGG 0.05)
)
(vlr-remove-all :vlr-mouse-reactor)
(setvar "cmdecho" HOLDECHO)
(princ)
)
(princ "\n成功調入《瘋狂圖形》!鍵入 fktx 運行......")
(princ) 其实,我原来的思路不是这么简单,好像不只是旋转,想让整个图形在跳舞,比如:向右跳几下,再向左跳几下,向上跳几下,再向下跳几下,猛然间几次放大、缩小等等,就好像CAD是个大舞台,图形是个演员一样。其实,这些并不难,只是效果的问题。 冷落了这么久啊!
增加一个吧=> 《屏幕上的雨滴》 很不错,我也很喜欢CAD动画,能不能公布源代码?
《国庆礼花》 动画
〖使用方法〗 下载这个附件,然后,把它拖进你的cad绘图环境中。你在命令行栏出现“***成功调入《欢渡国庆》HDGQ 运行, Esc 退出!***By xazhji ” 一行字。
命令行内敲入 HDGQ 即可运行!Esc键退出。
.。o O o 。.。o O o 。.。o O o 。.。o O o 。.。o O o 。.
我怎么看不懂啊! xazhji先生,能不能公布一下源代码互相学习以下?
谢谢。 各位高手好,你们的编译的小动画程序,我都运行了,有一个缺点,我觉得各位在运行完了后按esc退出的时间,把新添的动画元件,象直线和圆都要删除了,这样会更好,不过也很有意思。那个秘书长先生你发布的那个疯狂图形那个文件,我直接选择了一个23M的一个三维图形运行,幸亏是笨四的机器,还看出点效果,哈哈,真的很有效果