多段线顶点的区分
本帖最后由 jeike456 于 2010-12-10 11:10 编辑请教大家,下图中多段线圆处的顶点怎么和其他顶点分开来,
;;;enlwp为多段线图元名 enarc 为园
;;;测试 (tt (car (entsel "\n选择多段线"))(car (entsel "\n选择园")))
(defun tt (enlwp encircle / pp n p1 p2)
(setq p (cdr (assoc 10 (entget encircle ))))
(setq pp (vlax-curve-getclosestpointto enlwp (trans p 1 0))
n (fix (vlax-curve-getparamatpoint enlwp pp))
)
(if (vlax-curve-isClosed enlwp)
(setq nn (fix (1- (vlax-curve-getendParam enlwp))))
(setq nn (fix (vlax-curve-getendParam enlwp)))
)
(setq p1 (vlax-curve-getPointAtParam enlwp n))
(if (vlax-curve-isClosed enlwp)
(progn
(if (< n nn)
(setq p2 (vlax-curve-getPointAtParam enlwp (1+ n)))
(setq p2 (vlax-curve-getPointAtParam enlwp 0))
)
(if (< (distance p p1) (distance p p2))
p1
p2
)
)
(progn
(if (< n nn)
(setq p2 (vlax-curve-getPointAtParam enlwp (1+ n)))
(setq p2 (vlax-curve-getPointAtParam enlwp (1- n)))
)
(if (< (distance p p1) (distance p p2))
p1
p2
)
)
)
)
页:
[1]