katamoto 发表于 2015-1-6 20:14:40

又来提问了,如何判别多段线是否闭合?

如题,
用ssget获取了多段线,(ssname ss i)获取了图元en

这个时候如何判断这个en多段线是否闭合呢?

yshf 发表于 2015-1-6 20:23:13

如果en的起点与止点相等或者其dxf组码70的值为1。

katamoto 发表于 2015-1-6 20:24:27

好的,我试试看,

鱼与熊掌 发表于 2015-1-6 20:38:44

70 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1993063 发表于 2015-1-7 07:57:21

本帖最后由 1993063 于 2015-1-6 14:01 编辑

(vla-get-closed (vlax-ename->vla-object (car (entsel))))

llsheng_73 发表于 2015-1-30 12:31:35

如果需要把起点和止点相同也认为是闭合
可以用(equal(vlax-curve-getstartpoint e)(vlax-curve-getendpoint e))来判断,这样会把假闭合(比如用五个点画一个正方形)也判定为真

自贡黄明儒 发表于 2015-1-30 14:00:58

本帖最后由 自贡黄明儒 于 2015-1-30 14:03 编辑

;;164.1 [功能] 曲线是否封闭
http://bbs.mjtd.com/thread-108149-1-1.html

llsheng_73 发表于 2015-1-30 17:23:48

本帖最后由 llsheng_73 于 2015-1-30 17:29 编辑

自贡黄明儒 发表于 2015-1-30 14:00 http://bbs.mjtd.com/static/image/common/back.gif
;;164.1 [功能] 曲线是否封闭
http://bbs.mjtd.com/thread-108149-1-1.html

曲线只要封闭,它的起点坐标和止点坐标就会相同,个人认为不需要(vlax-curve-iscolsed e)
后边一个条件足够了(equal(vlax-curve-getstartpoint e)(vlax-curve-getendpoint e)1e-5)已经够了
对于圆、椭圆这类本身封闭的图元,虽然无法理解它的起止点,但它们同样存在并且相等
页: [1]
查看完整版本: 又来提问了,如何判别多段线是否闭合?