- ;;;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
- )
- )
- )
-
- )
|