邹锋 发表于 2013-1-10 23:51:32

如查统计只有两个点的封闭多段线内的圆,

由一条直线,一个圆弧组成或者由两条圆弧组成的封闭多义线内有N个圆,如何统计,,之前遇到都是多段线有多个点,用WP 窗选可以,但这次出错了





yxp 发表于 2013-1-11 04:52:08

本帖最后由 yxp 于 2013-1-14 02:42 编辑

我也不会,关注中...

sen.sam 发表于 2013-1-13 16:21:50

本帖最后由 sen.sam 于 2013-1-13 16:26 编辑

论坛上的一段代码,对整个多段线进行分段。对于复杂的多段线,想要精确点速度快点就判断出多段线上的圆弧,只对圆弧进行分段,直线段不分段。不过对于你所提的比较特定的情况应该是够用的。
(defun sele_in (line_ent / end i lineobj num plst start)
(vl-load-com)
(setq   lineObj (vlax-ename->vla-object line_ent)
start (vlax-curve-getStartParam lineObj)
end (vlax-curve-getEndParam lineObj)
i 0
)
(while (< i (setq num 100))
    (setq plst (append
   plst
   (list (vlax-curve-getPointAtParam lineObj (* i (/
                   (- end
                      start
                   ) num
                )
               )
         )
   )
         )
    i (1+ i)
    )
)

(ssget "WP" plst '((-4 . "<OR")(0 . "CIRCLE")(0 . "LWPOLYLINE")(-4 . "OR>")))

)

cable2004 发表于 2013-1-13 18:14:12

本帖最后由 cable2004 于 2013-1-13 18:42 编辑



我用的是面域法!
页: [1]
查看完整版本: 如查统计只有两个点的封闭多段线内的圆,