尘缘一生 发表于 2015-12-20 08:40:03

求:grread使用下的正交开关函数!

如题:

不要扑捉,无用,只要正交。。。。

edata 发表于 2015-12-20 10:19:30

获得正交变量开关,通过基点与拖移点的角度关系返回正交点。
比如拖移点在0~45度或者,那么返回拖移的x坐标和基点的y坐标组合的点,即x正方向,
如果拖移点在45-135度,那么返回基点的x坐标和拖移的y坐标组合点,即Y正方式。
依次类推。。。。。

edata 发表于 2015-12-20 10:50:38

(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)
       )
        )
      )
    )
)
)

尘缘一生 发表于 2015-12-31 10:08:46

顶起来,没人解决啊。。。。。。,
页: [1]
查看完整版本: 求:grread使用下的正交开关函数!