Hi Gary,
Look at the getangle and getorient functions: as the getdist function, they allow to input the angle on the keyboard (according to current units) or with the cursor, and they return the angle in radians.
I'd rather write it like this
(defun c:DP (/ pt ofs ang ll lr ur ul)
(if (setq pt (getpoint "\nPick point for center of rectangle *"))
(progn
(or (setq ofs (getdist pt "\nEnter offet value [offset 50]: "))
(setq ofs 50.0)
)
(or (setq ang (getorient pt "\Enter angle [0 degrees]: "))
(setq ang 0.0)
)
(setq ll (polar pt (- ang (* pi 0.75)) (sqrt (* (* ofs ofs) 2)))
lr (polar pt (- ang (/ pi 4)) (sqrt (* (* ofs ofs) 2)))
ur (polar pt (+ ang (/ pi 4)) (sqrt (* (* ofs ofs) 2)))
ul (polar pt (+ ang (* pi 0.75)) (sqrt (* (* ofs ofs) 2)))
)
(makePline (list ll lr ur ul) 1 "LayerName")
)
)
(princ)
)