How to revised z value in order to same result with pit (pitch),at the end tested for one segment ----------------------------------------------<snip>---------------- 32 = (-3.21394 3.83022 275.02) 33 = (-2.5 4.33013 283.614) 34 = (-1.7101 4.69846 292.208) 35 = (-0.868241 4.92404 300.803) >>>I want as like this 35 = (-0.868241 4.92404 1.5) _$ (defun c:ch (/ seg ang cnt rad pit ele x y z point) (setq seg 36) (setq ang (/ (* 2 Pi) seg)) ; (* 2 pi) = 360 (setq cnt 0) (setq rad 5) ; (setq rad (getdist "\nENTER NEW RADIUS: ")) (setq pit 1.5) ; (setq rad (getdist "\nENTER NEW PITCH: ")) (setq ele (/ pit ang)) ;(command "3dpoly") (repeat seg (setq x (* rad (sin (* cnt ang)))) (setq y (* rad (cos (* cnt ang)))) (setq z (* cnt ele)) ; the problem here !!! (setq point (list x y z)) ;(command point) (princ "\n")(princ cnt)(princ " = ")(princ point) (setq cnt (1+ cnt)) ) ;(command "") (setq cnt nil) (princ) )
Hi,.... I've got ,and but I got problem to found length of coil (or z value),how to find it (defun c:ch (/ seg ang cnt rad pit ele x y z point) (setq seg 36) (setq ang (/ (* 2 Pi) seg)) ; (* 2 pi) = 360 (setq cnt 0) (setq rad 5) ; (getdist "\nENTER NEW RADIUS: ")) (setq pit 1.5) ; (getdist "\nENTER NEW PITCH: ")) (setq num 36) ; (getdist "\nENTER NUMBER OF COIL: ")) (command "3dpoly") (repeat (+ 1 num) (setq x (* rad (sin (* cnt ang)))) (setq y (* rad (cos (* cnt ang)))) (setq z (* cnt (/ pit seg))) (setq point (list x y z)) (command point) ;(princ "\n")(princ cnt)(princ " = ")(princ point) (setq cnt (1+ cnt)) ) (command "") (setq cnt nil) (princ) )