找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 419|回复: 2

[编程申请]:画一多边形,裁切掉外部,怎么实现

[复制链接]
发表于 2005-4-6 07:59:49 | 显示全部楼层 |阅读模式

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

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

×
画一多边形,裁切掉外部,怎么实现
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-4-6 18:58:41 | 显示全部楼层
思路比较简单,但实现起来有点费劲:
1、沿多边形执行CP式选择得到选择集1
2、计算多边形与选择集中所有实体的所有交点,并从交点处断开他们。
3、再次沿多边形执行WP式选择得到选择集2
4、执行X式选择得到选择集3
5、对选择集3逐实体验证他是否位于选择集2中,若不是则删除。
最后留下的图形就是多边形里面的了。这个思路没问题,关键在于2上,比较繁,而且也是处理速度的瓶颈,算法一定要精炼、高效、稳定。最好能用上事务管理器。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-7 14:16:28 | 显示全部楼层
对于直线的修剪:
1.获取多边形的顶点坐标,生成临时的实体(用多段线LWPOLYLINE,便于计算交点);
2.获取所有的直线,依次计算与多边形的交点;
3.判断直线起点和终点的位置:是否在多边形内,
4.直线端点与交点按一定顺序排列,计算出要删除的段:如:起点在多边形外,则起点到下一个与起点最近的一个交点A就是要绘制的线段,A到下一个最近的交点就是要修剪的段;
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-22 12:29 , Processed in 0.516830 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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