2021.01.20 18:10
; vertex 들이 시계방향으로 도는지 반시계로 도는지를 계산하는 함수. (defun clockwise? (Vertaxs / CCW_LST CCW_VAL I PT0 PT1 PT2) ; (setq Vertaxs (lib_*vtxtlist (vlax-ename->vla-object (car (entsel))) 1)) (setq i 0 ccw_lst nil) (repeat (length Vertaxs) (setq pt0 (nth i Vertaxs)) (setq pt1 (cirnth (1+ i) Vertaxs)) (setq pt2 (cirnth (+ i 2) Vertaxs)) (setq ccw_val (ccw pt0 pt1 pt2)) (setq ccw_lst (append ccw_lst (list ccw_val))) (setq i (1+ i)) )
; 음수이면 반시계방향, ; 양수이면 시계방향 (if (< 0 (apply '+ ccw_lst)) -1 1))
(defun ccw (p1 p2 p3) (- (* (- (car p2) (car p1)) (- (cadr p3) (cadr p1)))
(* (- (cadr p2) (cadr p1)) (- (car p3) (car p1)))) ) |