[现学现用]会动的cad----会走的闹钟!
学习高手们的思路,我学着用cad作了个会动的闹钟,其实还可以再扩展为实体,或者电子显示表,因为时间的原因只能做到这个地步.....希望大家热烈参与讨论并完善.....在此现谢谢大家!!不错不错,恭喜恭喜 把源代码贴给大家,不过这个思路是从高手那里学来的.....为了讨论,也只好借花现佛....附件是lsp运行的cad图形。打开图形加载程序输入"bb"侧从零开始转起.....希望高手改进.....不要每次都总是从零开始转起....
;========================
;从零开始的闹钟
;ljc 2004.6.15
;========================
(defun c:BB ()
(command "ucs" "w")
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq ho (getvar "cmdecho"))
(setvar "CMDECHO" 0)
(command "erase" "all" "")
(COMMAND "-INSERT" "bp" (LIST 0 0 0) "" "" "")
(COMMAND "-INSERT" "H" (LIST 0 0 10) "" "" "")
(setq H (entget (entlast)))
(COMMAND "-INSERT" "M" (LIST 0 0 20) "" "" "")
(setq M (entget (entlast)))
(COMMAND "-INSERT" "S" (LIST 0 0 30) "" "" "")
(setq S (entget (entlast)))
(SETQ N 1 nn 1 nnn 1)
(while t
(SETQ SJ (* (/ n -30.0) pi ) )
(setq S (subst (cons 50 SJ) (assoc 50 S) S))
(SETQ mJ (* (/ nnn -1800.0) pi ) )
(setq m (subst (cons 50 mJ) (assoc 50 m) m))
(entmod S)(entmod m)
(COMMAND "DELAY" "1000")
(if (= n 60)
(progn
(setq n 1)
(SETQ hJ (* (/ nn -360.0) pi ) )
(setq h (subst (cons 50 hJ) (assoc 50 h) h))
(COMMAND "DELAY" "0")
(entmod h)
(setq nn (+ nn 1))
)
(SETQ N (+ N 1))
);if
(setq nnn (+ nnn 1))
(if (= nnn 3600) (setq nnn 1))
);while
(setvar "osmode" os)
(setvar "cmdecho" ho)
)
厉害啊!好佩服啊。。。。。。怎么可以这样子呢? 不错,不错
你把他的表.dwgCOPY到你的CAD安装目录下的support目录下
就OK了 ljcgq你越来越强了!
真佩服! ldb1420:你把表.dwg文件打开,然后加载程序,运行。
页:
[1]