找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 964|回复: 13

[求助] 几个多段线形成了几个封闭区域,如何为封闭区域绘制多段线

[复制链接]

已领礼包: 22个

财富等级: 恭喜发财

发表于 2017-8-4 07:58:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
几个多段线形成了几个封闭区域,如何为封闭区域绘制多段线例如下图就是,形成了5个封闭区域。就绘制5个闭合多段线。

222.jpg


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-8-4 08:45:02 | 显示全部楼层
按交点都打断,然后找封闭区域。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 22个

财富等级: 恭喜发财

 楼主| 发表于 2017-8-4 13:49:02 | 显示全部楼层

直接找封闭区域不行么,为什么要打断交点?
另外就是封闭区域不会找
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-8-4 13:58:36 | 显示全部楼层

打断了,都是端点,相对比较好找些。找所有的区域要有算法的,不是挺简单的。我给你的只是思路。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 22个

财富等级: 恭喜发财

 楼主| 发表于 2017-8-4 14:47:47 | 显示全部楼层

objectarx 2011版本有个traceboundary就是这个函数,不过我用的是autocad2008,应该是调用不了这个。
另外请教一下,C#打断交点的函数是什么?
你写过这样的算法么?
我是这样想的,所有的交点全部打断,那么多段线就全部变成直线,获取所有直线的端点,然后从一个出发,
每走过一个点就判断这个点能否和最初的点连接,如果能就形成一个区域记录下来,最后把所有区域做比较,
去掉重复。

感觉要递归来做,是挺麻烦的,大哥,你怎么弄得

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2017-8-4 15:44:37 | 显示全部楼层
交点断开构造 Region,然后 Region 提取边界,你说的 traceboundary 和 Hatch 中拾取点填充一样,这些区域你怎么去找这些点?!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 22个

财富等级: 恭喜发财

 楼主| 发表于 2017-8-4 17:14:08 | 显示全部楼层
我上面说的方法不用找拾取点,从边界点开始直接找边,构成各个区域。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-8-4 17:18:22 | 显示全部楼层

自己写算法,你能都找出来吗?

你手工在ACAD里面,用LINE连续的画些线,最后封闭,然后用REGION命令,选上上面的线。 看看是不是生成生成闭合的区域很快很方便。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 22个

财富等级: 恭喜发财

 楼主| 发表于 2017-8-4 17:28:57 | 显示全部楼层

算法我还没写,应该可以实现吧,只是麻烦一些。

后面你说的是autocad的region操作吧,跟我们这个算法有关么?

我倒是感觉如果要能调用bo也还凑合,不过bo也要拾取点。

问下,交点打断是啥命令,如果是多段线折线地方也会被打断么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-8-4 17:43:11 | 显示全部楼层

你按我说的用手做一遍,用LINE画,然后生成REGION

你这个问题最核心的算法就是怎么生成封闭的区域。你要自己写,这个拓扑算法不太容易的。REGION现成的。

有了REGION,剩下就是把REGION转换成曲线了。这都很容易的。

ARX有getSplitCurves可以很方便的在交点打断多段线。

当然,你要自己写拓扑算法,如果写好了,分享给大家。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 22个

财富等级: 恭喜发财

 楼主| 发表于 2017-8-5 09:31:15 | 显示全部楼层

比如多个直线组成的区域,你用region命令还是要把所有的边线选中把。如果已经知道边线,那么可以直接构建多段线区域了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 10个

财富等级: 恭喜发财

发表于 2019-3-6 14:53:44 | 显示全部楼层
我用三角剖分的方法写了一个批量获取闭合区域的算法。已经实现,但是线多的时候效率不高。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2019-3-6 18:55:08 | 显示全部楼层
剑. 发表于 2019-3-6 14:53
我用三角剖分的方法写了一个批量获取闭合区域的算法。已经实现,但是线多的时候效率不高。

能否贴下代码呢?谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 10个

财富等级: 恭喜发财

发表于 2019-3-7 10:30:31 | 显示全部楼层
Lisphk 发表于 2019-3-6 18:55
能否贴下代码呢?谢谢

我这几天在整理,看能否优化一下算法,之后共享。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-3-28 20:20 , Processed in 0.463129 second(s), 56 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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