another method without need for move
(defun c:xlgrade (/ rise run pt)
(setq grade (getreal "\nInput grade [%]: "))
(command "_.Xline" "angle" (rtd (angle (list 0.0 0) (list 100.0 grade))) (SAA_CMDACTIVE nil))
(princ)
)
(defun rtd (a)(/(* a 180.0)pi))
;;;==========================================================
;;; Continue pausing until exited command mode
;;; nil = pause
;;; otherwise pass string to use
;;; credit unknown - possibly Roy Harkow
;;; usage example: (command "line" (SAA_CMDACTIVE nil))
;;;==========================================================
(defun SAA_CMDACTIVE ( passcmd / )
(if (null passcmd) (setq passcmd pause))
(while (not (= 0 (getvar "cmdactive")))
(if (= 'LIST (type passcmd))
(foreach x passcmd
(command x)
) ;_foreach
(command passcmd)
) ;_if
) ;end while
)