(defun tulun1(/cp) (setq cp(getpoint " \nBase point: ")) (command " ucs" " w" " o" cp " pline") (tulun 0) ) (defun tulun(a/d fi m n f g ki p q ka x r l s) (setq e 0.4) k -0.12 t 0.001745329) (if(>a (*2 pi)) progn( (setq d (+ (* e (- 1 cos(* 2 a))) (/ (* k (- 1 cos(* 4 a))) 2))) fi (/ d 40) m (+ 4 (* 65 sin(fi))) n (- 25 (* 65 cos(fi))) f (+ (* 8 m) sqrt(- (* 64 m m) (* 4 (+ (* m m) (* n n)) (- 16 (* n n)))))) g (* 2 (+ (* m m) (* n n))) ki atan (/ (- (* g g) (* f f)) f) p (* (* 65 (+ sin(fi) sin(ki)) (* cos(fi) cos(ki))) (- (* 0.01 sin(* 2 a)) (* 0.0024 sin(* 4 a)))) q (- (+ (* 65 sin(fi) sin(fi)) (* 65 cos(ki) cos(ki)) (* 4 sin(ki))) (* 25 cos(ki))) ka (/ p q) x (/ (* 115.8706175 ka) (+ 1 ka)) r sqrt(+ (expt (+ (* 115.8706175 sin(+ ki 0.436627159)) 4)) 2)(expt (* x cos(+ ki 0.436627159)) 2)) l (/ (+ (* x cos(+ ki (/ 0.4366272159 r))))) s atan(/ l sqrt(- 1 (* l l))) (command(list (* r cos(s)) (* r sin(s)))) (tulun(+ a t)) );progn );if );defun