What am I missing?
1) Only the first line of lisp will work
2) You are trying to add a distance to coordinates.
If you just want a angle of 90 degrees, your code would be something like:
(setq p2 (getpoint))
(setq p3 (list (car p2)(+ (cadr p2) land)))
You can improve this with the use of the functions POLAR and TRANS.
(getvar "DIMSCALE") worked fine until Acad2008. Because that release also offers annotative scaling, it's better to replace this with a function that handles the scale:
(defun b=sch ()
(if (and (zerop (getvar "TILEMODE"))(zerop (getvar "VPMAXIMIZEDSTATE"))(eq (getvar "CVPORT") 1))
1.0
; else
(progn
(if (zerop (getvar "DIMANNO"))
(if (zerop (getvar "DIMSCALE")) 1.0 (getvar "DIMSCALE"))
(/ 1.0 (getvar "CANNOSCALEVALUE"))
)
)
)
)
If your dimstyle is annotative, this will use the annoscale, if it's not annotative it will still use the DIMSCALE.
If you have 2008 I wouldn't use the old leaders any more, because Mleaders are much better.