Sure, I took everything that I beleive deals with scaling but still scales when using the wheel on my mouse. Maybe I am missing something. Here is the modified code
Coding starts here::::::
(defun GrVectorsGetPoint ( vectors / *error* _drawVectors end result key val val2 )
;; clean up the screen if
;; the user bails via esc
(defun *error* ( x )
(redraw)
(princ)
)
;; draw the vectors relative to the
;; specifiedd point using xor ink
(defun _drawVectors ( vectors point )
(foreach vector
(mapcar
'(lambda (vector)
(mapcar
'(lambda (point2)
(mapcar '+ point point2)
)
vector
)
)
vectors
)
(grdraw
(car vector)
(cadr vector)
-1
)
)
)
;; while the user cursors about dynamically redraw
;; the vectors. When the user finally picks a point
;; clear off the vectors and return the point picked.
;; I've not written this to handle wonky ucs's etc,
;; that's your job.
(while (not end)
(setq
result (grread t 1 0)
key (car result)
val (cadr result)
)
(cond
( (eq 5 key)
(cond
( (null val2)
(setq val2 val)
(_drawVectors vectors val)
)
( t
(redraw)
(_drawVectors vectors val)
(setq val2 val)
)
)
)
( (eq 3 key) (setq end t))
)
)
;; clear the screen of any crap we
;; drew that remains
(redraw)
;; return the selected point (if the
;; user picked one) to the caller
(if (eq 3 key) val)
)
;; for this exercise let's make the graphic
;; size relative to the screen height ...
(defun c:Test1 ()
(GrVectorsGetPoint
'(
((0.0156928 -0.0584586 0.0) (0.0592298 -0.0584586 0.0))
((0.0156928 -0.0728943 0.0) (0.0592298 -0.0728943 0.0))
((0.0302051 -0.0728943 0.0) (0.019628 -0.0909935 0.0))
((0.0447175 -0.0728943 0.0) (0.0341404 -0.0909935 0.0))
((0.0314743 -0.0476326 0.0) (0.0314743 -0.018049 0.0))
((0.0434483 -0.018049 0.0) (0.0434483 -0.0476326 0.0))
((0.0434483 -0.0476326 0.0) (0.0592298 -0.0476326 0.0))
((0.0592298 -0.0476326 0.0) (0.0592298 -0.0728943 0.0))
((0.0592298 -0.0728943 0.0) (0.0486527 -0.0909935 0.0))
((0.0486527 -0.0909935 0.0) (0.00511569 -0.0909935 0.0))
((0.00511569 -0.0909935 0.0) (0.0156928 -0.0728943 0.0))
((0.0156928 -0.0728943 0.0) (0.0156928 -0.0476326 0.0))
((0.0156928 -0.0476326 0.0) (0.0314743 -0.0476326 0.0))
((0.0156928 -0.0549598 0.0) (0.0592298 -0.0549598 0.0))
((0.0156928 -0.066987 0.0) (0.0592298 -0.066987 0.0))
((0.0156928 -0.0634882 0.0) (0.0592298 -0.0634882 0.0))
((0.0314743 -0.018049 0.0) (0.0434483 -0.018049 0.0))
((0.0157225 -0.0549563 0.0) (0.0592412 -0.0584523 0.0))
((0.0592412 -0.0584523 0.0) (0.0157225 -0.0584523 0.0))
((0.0157225 -0.0584523 0.0) (0.0157225 -0.0549563 0.0))
((0.0592412 -0.0584523 0.0) (0.0157225 -0.0584523 0.0))
((0.0157225 -0.0584523 0.0) (0.0157225 -0.0549563 0.0))
((0.0157225 -0.0549563 0.0) (0.0592412 -0.0584523 0.0))
((0.0157225 -0.0549563 0.0) (0.0592412 -0.0584523 0.0))
((0.0592412 -0.0584523 0.0) (0.0592412 -0.0549563 0.0))
((0.0592412 -0.0549563 0.0) (0.0157225 -0.0549563 0.0))
((0.0592412 -0.0584523 0.0) (0.0592412 -0.0549563 0.0))
((0.0592412 -0.0549563 0.0) (0.0157225 -0.0549563 0.0))
((0.0157225 -0.0549563 0.0) (0.0592412 -0.0584523 0.0))
((0.0157225 -0.0634867 0.0) (0.0592412 -0.0669826 0.0))
((0.0592412 -0.0669826 0.0) (0.0157225 -0.0669826 0.0))
((0.0157225 -0.0669826 0.0) (0.0157225 -0.0634867 0.0))
((0.0592412 -0.0669826 0.0) (0.0157225 -0.0669826 0.0))
((0.0157225 -0.0669826 0.0) (0.0157225 -0.0634867 0.0))
((0.0157225 -0.0634867 0.0) (0.0592412 -0.0669826 0.0))
((0.0157225 -0.0634867 0.0) (0.0592412 -0.0669826 0.0))
((0.0592412 -0.0669826 0.0) (0.0592412 -0.0634867 0.0))
((0.0592412 -0.0634867 0.0) (0.0157225 -0.0634867 0.0))
((0.0592412 -0.0669826 0.0) (0.0592412 -0.0634867 0.0))
((0.0592412 -0.0634867 0.0) (0.0157225 -0.0634867 0.0))
((0.0157225 -0.0634867 0.0) (0.0592412 -0.0669826 0.0))
)
)
;; no final princ so you can see the coordinate returned
)