citykunan 发表于 2003-9-4 16:04:00

晚辈借花献佛,再来一个。
将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)
)
)
)

meflying 发表于 2003-9-4 17:35:00

反应器应在程序开头,更不应该做到循环里去,一个反应器做好了是不会消失的,直到你关闭图形或认为释放。

龙龙仔 发表于 2003-9-5 13:23:00

;;我想在迴圈中不斷定義函數不太好,所以改了一下!
;;但转久了,程序左右转就会失效
(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)

xazhji 发表于 2003-9-8 11:59:00

其实,我原来的思路不是这么简单,好像不只是旋转,想让整个图形在跳舞,比如:向右跳几下,再向左跳几下,向上跳几下,再向下跳几下,猛然间几次放大、缩小等等,就好像CAD是个大舞台,图形是个演员一样。其实,这些并不难,只是效果的问题。

xazhji 发表于 2003-9-23 16:58:00

冷落了这么久啊!
增加一个吧=>    《屏幕上的雨滴》

citykunan 发表于 2003-9-24 10:53:00

很不错,我也很喜欢CAD动画,能不能公布源代码?

xazhji 发表于 2003-9-27 17:20:00

《国庆礼花》 动画

〖使用方法〗 下载这个附件,然后,把它拖进你的cad绘图环境中。你在命令行栏出现
“***成功调入《欢渡国庆》HDGQ 运行, Esc 退出!***By xazhji ” 一行字。
命令行内敲入   HDGQ    即可运行!Esc键退出。
.。o O o 。.。o O o 。.。o O o 。.。o O o 。.。o O o 。.


peety 发表于 2003-9-28 15:00:00

我怎么看不懂啊!

citykunan 发表于 2003-9-29 09:19:00

xazhji先生,能不能公布一下源代码互相学习以下?
谢谢。

fjzhhysea 发表于 2003-9-29 11:16:00

各位高手好,你们的编译的小动画程序,我都运行了,有一个缺点,我觉得各位在运行完了后按esc退出的时间,把新添的动画元件,象直线和圆都要删除了,这样会更好,不过也很有意思。那个秘书长先生你发布的那个疯狂图形那个文件,我直接选择了一个23M的一个三维图形运行,幸亏是笨四的机器,还看出点效果,哈哈,真的很有效果
页: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14
查看完整版本: 让我们共同走进CAD的动画世界!新增-->时钟