嗯,看起来李·麦克的3点弧在视觉上实现了我想要的效果,只需稍作修改——将p2与p3切换:
- (defun c:3PGrArc ( / p1 p2 p3 lst arc )
- (if
- (and
- (setq p1 (getpoint "\nSpecify 1st Point: "))
- (setq p2 (getpoint "\nSpecify 2nd Point: " p1))
- (setq p3 (cadr (grread t 13 0)))
- (setq lst (LM:3PArc (setq p1 (trans p1 1 0)) (trans p3 1 0) (setq p2 (trans p2 1 0))))
- (setq arc (entmakex (append '((0 . "ARC")) (mapcar 'cons '(10 50 51 40) lst))))
- (setq arc (list (cons -1 arc)))
- (princ "\nSpecify 3rd Point: ")
- )
- (while (= 5 (car (setq gr (grread t 13 0))))
- (if (setq lst (LM:3PArc p1 (trans (cadr gr) 1 0) p2))
- (entmod (append arc (mapcar 'cons '(10 50 51 40) lst)))
- )
- )
- )
- (princ)
- )
它唯一缺少的是osnap功能 |