(defun C:ROLL ()
(setq RUN (UDIST NIL "\n Run" RUN))
(setq OFFSET (UDIST NIL "Offset" OFFSET))
(setq RISE (UDIST NIL " Rise" RISE))
(setq `C` (sqrt (+ (expt RUN 2) (expt OFFSET 2))))
(setq TRAVEL (sqrt (+ (expt RISE 2) (expt `C` 2))))
(princ (strcat "Travel <" (rtos TRAVEL) ">\n\n"))
(list RUN ROLL RISE TRAVEL)
)
(defun UDIST (SW MSG ANS / SW MSG ANS)
(if (not ANS)
(setq ANS 0)
)
(setq OANS ANS)
(setq MSG (strcat MSG " <" (rtos ANS) ">: "))
(if SW
(setq ANS (getdist SW MSG))
(setq ANS (getdist MSG))
) ;if
(if (not ANS)
(setq ANS OANS)
)
ANS
)