(defun C:SPIRAL (/ #DIAMETER #PITCH)
(setq #DIAMETER (getreal "\nDiameter: "))
(setq #PITCH (getreal "\nPitch: "))
(setq #COILS (getint "\nNumber of coils: "))
(setq #POINT-0 (getpoint "\nCenterpoint: "))
(setq #RESOLUTION 16)
(setq #RADIUS (* #DIAMETER 0.5))
(setq #ANGLE-DELTA (/ (* 2 pi) #RESOLUTION))
(setq #ANGLE 0.0)
(setq #SEGMENTS (* #COILS #RESOLUTION))
(setq #Z-DELTA (/ #PITCH #RESOLUTION))
(setq #Z 0.0)
(setq #LIST nil)
(repeat #SEGMENTS
(setq #POINT-1 (polar #POINT-0 #ANGLE #RADIUS))
(setq #POINT-1 (list (car #POINT-1)
(cadr #POINT-1)
(+ (caddr #POINT-1) #Z)))
(setq #LIST (cons #POINT-1 #LIST))
(setq #ANGLE (+ #ANGLE #ANGLE-DELTA))
(setq #Z (+ #Z #Z-DELTA))
)
(setq #LIST (reverse #LIST))
(command "_.spline")
(foreach #POINT #LIST (command #POINT))
(command "" "" "")
)
               (
geocities.com/wpsmoke/acadalisptrng)                   (
geocities.com/wpsmoke)