;;;=======================================;;;功能:角平分线 (vl-load-com) (defun C:TT4 (/ SS1 ENT1 SS2 ENT2 PT0 PT1 PT2 PT3) (and (setq SS1 (entsel "\n点取直线段1: ")) (setq ENT1 (entget (car SS1))) (= (cdr (assoc 0 ENT1)) "LINE") (setq SS2 (entsel "\n点取直线段2: ")) (setq ENT2 (entget (car SS2))) (= (cdr (assoc 0 ENT2)) "LINE") (setq PT0 (inters (cdr (assoc 10 ENT1)) (cdr (assoc 11 ENT1)) (cdr (assoc 10 ENT2)) (cdr (assoc 11 ENT2)) NIL ) ) ;;最近的线上的点 (setq PT1 (vlax-curve-getclosestpointto (vlax-ename->vla-object (car SS1)) (cadr SS1) ) PT2 (vlax-curve-getclosestpointto (vlax-ename->vla-object (car SS2)) (cadr SS2) ) ) (setq PT2 (polar PT0 (angle PT0 PT2) (distance PT0 PT1))) (setq PT3 (polar PT1 (angle PT1 PT2) (* 0.5 (distance PT1 PT2)))) (entmake (list (cons 0 "LINE") (cons 10 PT0) (cons 11 PT3)) ) ) ) |