jeike456 发表于 2010-12-10 11:09:38

多段线顶点的区分

本帖最后由 jeike456 于 2010-12-10 11:10 编辑

请教大家,下图中多段线圆处的顶点怎么和其他顶点分开来,

Gu_xl 发表于 2010-12-10 12:54:09


;;;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]
查看完整版本: 多段线顶点的区分