求:grread使用下的正交开关函数!
如题:不要扑捉,无用,只要正交。。。。
获得正交变量开关,通过基点与拖移点的角度关系返回正交点。
比如拖移点在0~45度或者,那么返回拖移的x坐标和基点的y坐标组合的点,即x正方向,
如果拖移点在45-135度,那么返回基点的x坐标和拖移的y坐标组合点,即Y正方式。
依次类推。。。。。 (defun c:tt (/ ang gr p1 p2 prpt)
(if (setq p1 (getpoint "\basepoint: "))
(while (and (setq gr (grread t 15 0)) (/= (car gr) 3))
(redraw)
(cond
((= (car gr) 5)
(setq prpt (cadr gr))
(setq ang (angle p1 prpt))
(if (= (getvar 'ORTHOMODE) 1)
(cond
((or (and (> ang (* pi 0.25)) (< ang (* pi 0.75)))
(and (> ang (* pi 1.25)) (< ang (* pi 1.75)))
)
(setq p2 (list (car p1) (cadr prpt)))
)
(t
(setq p2 (list (car prpt) (cadr p1)))
)
)
(setq p2 prpt)
)
(grdraw p1 p2 3)
)
((equal gr '(2 15))
(if (= (getvar 'ORTHOMODE) 1)
(setvar 'ORTHOMODE 0)
(setvar 'ORTHOMODE 1)
)
)
)
)
)
)
顶起来,没人解决啊。。。。。。,
页:
[1]