xazhji
发表于 2004-6-15 20:24:00
不敢,我从来不动别人的东西,我很尊重别人的版权,虽然,这儿是个论坛~
用 (getvar "cdate") 将会得到日期时间啊,再试吧
ljcgq
发表于 2004-6-15 20:39:00
谢谢!!!我会尽力去完善的...哈哈..但我还是希望有捷足前来帮忙......
ljcgq
发表于 2004-6-16 11:32:00
本帖最后由 作者 于 2004-6-18 22:07:00 编辑 <br /><br /> 今天在上,完善了一步,不是从零开始,是从现在开始......打开“表.dwg "文件,然后加载运行...试试看...
;========================<BR>;闹钟<BR>;ljc 2004.6.15<BR>;========================<BR>(defun c:BB ()<BR> (command "ucs" "w")<BR> (setq os (getvar "osmode"))<BR> (setvar "osmode" 0) <BR> (setq ho (getvar "cmdecho"))<BR> (setvar "CMDECHO" 0) <BR> (command "erase" "all" "")<BR> (setq p(getpoint "请选择位置"))
(setq date (* (- (getvar "cdate") (fix (getvar "cdate")) ) 1000000))<BR> (setq hh(fix(/ date 10000))) <BR> (if (> hh 12) (setq hh (- hh 12)))<BR> (setq mmm (- (fix (/ date 100)) (* 100 (fix(/ date 10000)) ) ) ) <BR> (setq ss(- (fix date) (* 100 (fix (/ date 100))) ))<BR> (setq hs(fix(* (- date (fix date)) 100)) ) <BR> (setq sss(fix(+ ss (/ hs 100.0) 0.5)))<BR> <BR> (setq hj0(* (+ (/ hh -6.0) (/ mmm -360.0)) 180 ) )<BR> (setq mj0(* (+ (/ mmm -30.0) (/ sss -1800.0)) 180 ) )<BR> (setq sj0(* (/ sss -30.0) 180 ) )
(setq hj1(* (+ (/ hh -6.0) (/ mmm -360.0)) pi ) )<BR> (setq mj1(* (+ (/ mmm -30.0) (/ sss -1800.0)) pi ) )<BR> (setq sj1(* (/ sss -30.0) pi ) )
(COMMAND "-INSERT" "bp" p "" "" "")<BR> (COMMAND "-INSERT" "H" p "" "" hj0)<BR> (setq H (entget (entlast)))<BR> (COMMAND "-INSERT" "M" p "" "" mj0)<BR> (setq M (entget (entlast))) <BR> (COMMAND "-INSERT" "S" p "" "" sj0)<BR> (setq S (entget (entlast)))<BR> (SETQ N 1 nn 1 nnn 1)<BR> (while t<BR> (SETQ SJ (+ (* (/ n -30.0) pi ) sj1) )<BR> (setq S (subst (cons 50 SJ) (assoc 50 S) S))<BR> (SETQ mJ (+ (* (/ nnn -1800.0) pi ) mj1) )<BR> (setq m (subst (cons 50 mJ) (assoc 50 m) m))<BR> (entmod S)(entmod m)<BR> (COMMAND "DELAY" "1000")<BR> (if (= n 60) <BR> (progn<BR> (setq n 1) <BR> (SETQ hJ (+ (* (/ nn -360.0) pi ) hj1) )<BR> (setq h (subst (cons 50 hJ) (assoc 50 h) h)) <BR> (COMMAND "DELAY" "0")<BR> (entmod h) <BR> (setq nn (+ nn 1)) <BR> )<BR> (SETQ N (+ N 1))<BR> );if<BR> (setq nnn (+ nnn 1))<BR> (if (= nnn 3600) (setq nnn 1))<BR> );while<BR> <BR> (setvar "osmode" os)<BR> (setvar "cmdecho" ho) <BR>)
<BR>
xazhji
发表于 2004-6-16 19:49:00
最大的弊病在于 需要打开你的特定文件!像你的图形,不复杂啊,干嘛不在程序中加上自动绘图呢?在任何图形中加载程序,就可以看到时钟.小小建议,希望更好!
spring
发表于 2004-6-16 20:12:00
ljcgq发表于2004-6-16 11:32:00static/image/common/back.gif今天在上,完善了一步,不是从零开始,是从现在开始......打开“表.dwg \"文件,然后加载运行...试试看...
;========================;闹钟;ljc 2004....
不错,如果再加上个停靠对话框那就更好了。
(COMMAND "-INSERT" "bp" p "" "" "")<BR>这里应该是 (COMMAND "-INSERT" "Q" p "" "" "") 吧,还有图块 Q 需要重新定义<BR>
xazhji
发表于 2004-6-17 20:23:00
这个贴子挺能顶的,坚强哦~
ljcgq
发表于 2004-6-18 16:24:00
不好意思,这两天出差,没能看到你们的贴子,你们的建议震得很好,我回去再改改.....
petty
发表于 2004-6-18 18:20:00
cad 世界真是奥妙无穷,博大精生啊!
llccadd
发表于 2004-6-18 21:12:00
太奇妙了
ljcgq
发表于 2004-8-25 18:26:00
摇头扇