代码改变世界

AutoLISP切圆动画

2011-03-29 22:07  精诚所至 金石为开  阅读(435)  评论(0编辑  收藏  举报

AutoLISP切圆动画,在已知圆外绘制一外切圆,并逆时针运动,代码如下。

(defun c:test()
  (setvar "cmdecho" 0)
  (setq en (car (entsel "\n选取一圆心:")))
  (setq cen2 (getpoint "\n切点圆:"))
  (princ "\n按选键盘任意键可转动切圆,[ENTER]结束……")
  (setq endata (entget en))
  (setq cen1 (cdr (assoc 10 endata)))
  (setq rr1 (cdr (assoc 40 endata)))
  (setq dd (distance cen1 cen2))
  (setq rr2 (abs (- dd rr1)))
  (command "circle" cen2 rr2)
  (setq en2 (entlast))
  (setq k 1)
  (while (/= k 13)
    (command "rotate" en2 "" cen1 10)
    (setq k (cadr (grread)))
    )
  (prin1)
  )

代码完。

CAD是可以做动画的。