明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4029|回复: 13

[讨论] 请问如何获得闭合多段线的选择集呢?

  [复制链接]
发表于 2011-6-21 19:42:55 | 显示全部楼层 |阅读模式
本帖最后由 iancool 于 2011-6-21 19:43 编辑

我查了下dxf代码帮助文件,里面说组码70后面的值表示多段线是否闭合:
多段线标志(按位编码);默认值为 0:
1 = 关闭;128 = Plinegen

但是我试验后发现,对一些首尾端点重合的多段线,其在dxf中的组码仍是(70  . 128)。
但是,这种情况下多段线明显是闭合的。请问,如何获得这部分首尾端点重合的多段线的选择集?
发表于 2011-6-21 20:28:51 | 显示全部楼层
只有在画pline线的最后一步摁下“C”才算是闭合的,其余的不算的。
直接用ssget似乎没办法,但是可以选择完后建一条判断(= (cdr (assoc 70 enlist)) 1),不等于1的就踢出选择集呗。
 楼主| 发表于 2011-6-21 20:34:35 | 显示全部楼层
回复 chengx2000 的帖子

但我要的是几何意义上的“闭合”的全部多段线,而不单纯指CAD里的这种闭合多段线。
发表于 2011-6-21 21:45:13 | 显示全部楼层
不错,学习了!
发表于 2011-6-21 22:05:54 | 显示全部楼层
那可以判断起点与终点的是否有间隙,间隙值接自已需要设置
 楼主| 发表于 2011-6-22 12:07:10 | 显示全部楼层
回复 祥子 的帖子

请问怎么得到起点和终点的间隙?能否帮忙写一下程序?
发表于 2011-6-22 13:06:41 | 显示全部楼层
判断PLINE几何概念封闭
(defun TEST (PLINE)
(equal (vlax-curve-getStartPoint PLINE)
(vlax-curve-getEndPoint PLINE) 1E-6)
)
;;;((TEST (car(entsel)))
发表于 2011-6-22 14:15:01 | 显示全部楼层
caoyin 发表于 2011-6-22 13:06
判断PLINE几何概念封闭
(defun TEST (PLINE)
(equal (vlax-curve-getStartPoint PLINE)

请问版主,如果不加1E-6这个参数,可以吗?

我以前用这个方法来判断是否闭合都不加参数的。

另外,用(vlax-curve-isclosed plename)来判断,是否结果一样?
 楼主| 发表于 2011-6-22 16:39:28 | 显示全部楼层
非常感谢版主
发表于 2011-6-22 23:57:45 | 显示全部楼层
本帖最后由 caoyin 于 2011-6-23 00:04 编辑

回复 caoyin 的帖子

1.如果不加1E-6这个参数,在大部分情况是可以的,多段线的生成方式是多样的,无法囊括所有状况
2.vlax-curve-isclosed是判读实际是否闭合,而楼主要的是几何视觉概念的闭合

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-7-23 11:58 , Processed in 0.194614 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表