请教一个grread问题
本段代码已经实现了动态随光标输出,但是当鼠标静止时无法停止动态. . .操作性差,求高手改进代码如下:
(defun bz(bz-point / view-size bz-text-height mouse-get-value new-view-size mouse-get-point now-distance) ;bz(Biao Zhu)实时标注
(vl-load-com)
(setq view-size (getvar "viewsize"))
(setq bz-text-height (/ view-size 30))
(setq before-mouse-get-value mouse-get-value)
(if (= xl-alter-flag nil) (setq xl-alter-flag 0))
(if (= count nil) (setq count 0))
(command "text" bz-point bz-text-height 0 (vl-prin1-to-string (strcat "已画长度" (itoa count))) "")
(command "point" bz-point)
(command "point" bz-point)
(while (= (car (setq mouse-get-value (grread t 1))) 5)
(if (/= view-size (setq new-view-size (getvar "viewsize")))
(progn
(setq bz-text-height (/ new-view-size 30))
(setq view-size new-view-size)
)
)
(setq mouse-get-point (cadr mouse-get-value))
(setq now-distance (fix (* (distance mouse-get-point bz-point) 2)))
(if (= begin-point-flag 0)
(progn (setq xl-alter-length (fix (* Alter-Length 0.5)))
(setq xl-alter-flag 1)
)
(setq xl-alter-length Alter-Length)
)
(setq now-distance (+ now-distance xl-alter-length))
(if (> now-distance (/ bz-text-height 30))
(progn
(entdel (entlast))
(entdel (entlast))
(command "line" bz-point mouse-get-point "")
(command "text" mouse-get-point bz-text-height 0 (vl-prin1-to-string (strcat "点选长度" (itoa now-distance))) "")
)
)
)
(setq count (+ count now-distance))
(setq length-point mouse-get-point)
(setq d2d-mouse-get-point mouse-get-point)
(entdel (entlast))
(entdel (entlast))
(entdel (entlast))
)
记录本步的鼠标位置,和上一步的作差,如果大于某值才进行某种操作。 都看不懂呢?????好长的代码 while循环内加上一句:
(command "Zoom" "1x")
即可!
页:
[1]