;; (在不画辅助线的前提下)求曲线和两点之间的连线的交点 ;; 以下思路似乎有点眉目了,但只能求出部分交点 ;; 关键是 vlax-curve-getClosestPointToProjection 函数,有点弄不清他的“脾气”。 ;; ;; 请高手帮我完善!! (defun lt:curve&2point-getInters (en p1 p2) (list (vlax-curve-getClosestPointToProjection en p1 (polar '(0 0 0) (angle p1 p2) 1)) (vlax-curve-getClosestPointToProjection en p2 (polar '(0 0 0) (angle p2 p1) 1)) ) ) (defun c:tt (/ e p1 p2 lst) (setq e (car(entsel "\n曲线: ")) p1 (getpoint "\n点1: ") p2 (getpoint p1 "\n点2: ") lst (lt:curve&2point-getInters e p1 p2) ) (apply 'command (cons "_.line" lst)) (command "") ) |