虽然我建议您看看AutoCAD中可用的运动路径动画,因为它们可以提供更好的产品。这样的代码取决于您的系统,并且可能会延迟或加速,这取决于您正在进行的操作。
- (defun c:rotob( / e p a b c i)
- (vl-load-com)
- (setvar "cmdecho" 0)
- (setq e (vlax-ename->vla-object (car (entsel "\nSelect object: "))))
- (setq p (getpoint "\nSelect rotation point: "))
- (setq a 5 ; Number of revolutions
- b 5 ; Degrees per increment (must be a factor of 360)
- c 10 ; Delay between incremental rotation
- i 0) ; Counter
- (if (= 0 (rem (setq d (/ 360 b)) 1))
- (while (< i a)
- (repeat d
- (vla-rotate e (vlax-3d-point p) (* (/ pi 180.0) b))
- (vl-cmdf "delay" c "regen")
- )
- (setq i (1+ i))
- )
- )
- )
|