xyp1964 发表于 2016-9-23 22:14:18

这个最简单 (Command "arc" p1 p2 p3)

xiaotao 发表于 2016-9-24 23:19:54

(defun make-arc(p1 p2 p3 / cn lm:clockwise-p lst m1 m2)
        ;; Clockwise-p-Lee Mac
        ;; Returns T if p1,p2,p3 are clockwise oriented
        (defun LM:Clockwise-p ( p1 p2 p3 )
    (< (* (- (carp2) (carp1)) (- (cadr p3) (cadr p1)))
                        (* (- (cadr p2) (cadr p1)) (- (carp3) (carp1)))
    )
        )
        (setq
                p1(trans p1 1 0)
                p2(trans p2 1 0)
                p3(trans p3 1 0)
                m1 (mid p1 p2)
                m2 (mid p2 p3)
        )
        (if(setq cn
                       (inters
                               m1 (polar m1 (+ (angle p1 p2) (/ pi 2.)) 1.0)
                               m2 (polar m2 (+ (angle p2 p3) (/ pi 2.)) 1.0)
                               nil
                       )
               )
                (progn
                        (setq lst(append (list cn)
                                                               (if (LM:Clockwise-p p1 p2 p3)
                                                                       (list (angle cn p3) (angle cn p1))
                                                                       (list (angle cn p1) (angle cn p3))
                                                               )
                                                               (list (distance cn p1))
                                                       )
                        )
                        (entmake (append '((0 . "ARC")) (mapcar 'cons '(10 50 51 40) lst)))
                )               
        )
)

zst1978 发表于 2022-10-10 01:30:33

不能用啊,什么原因

sunny_8848 发表于 2022-10-10 08:57:32

一直提示 ( _ > 是什么意思
页: 1 [2]
查看完整版本: 三点画圆弧