CAD开发

您所在的位置:网站首页 cad多线段怎么求面积 CAD开发

CAD开发

2024-07-12 00:24| 来源: 网络整理| 查看: 265

概述

    在设计过程中,用户需要从一堆相交的线中去找出所有的闭合区域,然后统计面积或者做其他标注。CAD自带的BO命令可以生产面域,但只能一个个操作,显得比较繁琐。为此,给用户开发一个框选线识别闭合区域的功能能够给设计工作带来大大的便利。 在这里插入图片描述 实际工程使用中,相交线可能是直线、圆弧、多段线、样条曲线等(组一);线与线之间可能存在肉眼难以察觉的缺口,没有完全闭合;单条曲线存在多段线或者样条曲线自相交的情况(组二);一片区域内存在多组独立的最大闭合区域(组三);同时还存在多个不同的分组(组一~组三同时处理)。

原理

    闭合区域的识别,大体上有两种思路。 思路一:将曲线扩展,转换成一定宽度的长条形面,通过面的运算去寻找内轮廓,再内轮        廓扩展得到实际内轮廓; 思路二:通过线与线之间布尔运算,得到首尾相连的曲线集合。     两种思路各有优缺点。思路一的优点是实现相对简单、算法复杂度低、效率比较高,同时可以很方便地支持一定容差,缺点是线扩展成面以及内轮廓外扩,需要将曲线近似成折线才能处理。思路二的优点是不需要作近似,缺点是算法复杂度较思路一高、识别率偏低、容差比较难处理。     本文就思路二探讨下实现原理。总实现流程如下: 在这里插入图片描述     曲线分组流程如下: 在这里插入图片描述     总流程中的大坐标处理,是指将整组曲线移动到原点附近,生成面域再把面域移动回原来的位置。之所以要进行大坐标处理,是因为一组曲线里面的点X坐标或者Y坐标大于10^8以后,小数部位截断误差太大,无法进行后续的打断处理。

    曲线分解流程如下: 在这里插入图片描述     寻找可用曲线流程如下: 在这里插入图片描述     获取最大外轮廓集流程如下: 在这里插入图片描述     轮廓分解流程: 在这里插入图片描述     寻找连线流程图如下: 在这里插入图片描述 通过以上步骤,理论上就能找出全部的闭合区域了。

以上步骤显得冗长和复杂,文字显得枯燥,各步骤示意图如下: 在这里插入图片描述

结果

    对于任何形式相交的曲线(直线、圆弧、多段线、样条曲线),都能找出闭合的区域。在保证闭合的情况下,拿实际项目图纸测试,效果如下:

识别前,红颜色的轮廓线 在这里插入图片描述 识别后,绿色的是面域。 在这里插入图片描述 由上图可见,只有两个闭合区域没有识别出来,识别率99%以上。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3