利索能及
我要发布
收藏
专利号: 2023116614708
申请人: 南京信息工程大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-08-12
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于环绕数的布尔运算方法,其特征在于,包括如下步骤:步骤1、分别获取目标工件的两个三角形模型A、B的STL数据;

步骤2、将两个三角形模型A、B的STL数据转换为以网格节点为根节点的链表;

步骤3、基于环绕数法搜索两个三角形模型A、B间的相交线段;

具体为:顺序遍历三角网格节点A模型的三角网格节点a,直至节点a位于B模型的内部,通过计算A模型表面节点a与模型B表面的所有三角形计算立体角之和sum,将该值与边界范围比较,来判断节点a与模型B的空间关系,若sum在边界范围以外,则节点a在模型B外部,若sum在边界范围内,则节点a在模型B的内部,若该点在模型B内部,并且当节点a存在某一个相邻节点b,b节点位于模型B的外部时,则节点a,b两点构成相交节点对;采用相邻节点标记的方法,在已知节点对a,b的基础上,遍历a的相邻节点c,当c不为b且c位于模型B的外部,且c也存在某个相邻节点d,该节点d位于模型B的内部,则c,d节点就是目标节点,将c,d节点作为下一对相交节点对的递归计算输入,直到模型A中所有的相交节点对计算完成,通过所有的相交节点对的外部节点集合是否两两相邻,构成一个环形,来判断模型A中所有相交节点对是否计算完成;

步骤4、利用环绕数法查找相交线段的三角面片;

具体为:遍历B模型三角面片,判断当前的三角面是否与相交节点对相交,相交节点对为a,b三角形顶点x,y,z,计算向量xy和xa的叉积,再计算向量xy与xb的叉积,如果两个叉积的符号相同,则相交节点对与该三角面不相交,若符号相反,则可能相交,再计算相交线段与三角面片所在平面的交点,并基于二维平面环绕数方法计算该交点与三角形面片的环绕数w,若w在边界范围内部,则该三角面与相交节点对相交,若w在边界范围外部,则该三角面与相交节点对不相交步骤5、通过相交线段与对应三角面片求解交点集合;

步骤6、求解交点集合的内部节点及相交面;

具体为:将相交节点作为边界点,依据相交节点对集合的相邻顺序,一次连接相交节点,构成交点环链,计算模型B的三角形顶点与交点的距离,取最短距离顶点作为交点的对应点,将对应点的坐标伸缩至交点,计算所有交点集合的对应点集合,并且依据交点集合中所有交点之间的连接顺序,依次连接所有的对应点,构成对应点环链,以对应点集合的任意点作为初始节点,以对应点环链为边界,在对应点环链内部通过拓扑顺序进行广度优先遍历,标记所有节点,标记的所有节点构成了对应点环链的内部节点;

步骤7、根据布尔运算类型对相交面进行增删计算;

步骤8、重新构建两个三角形模型A、B的STL数据的边缘结构,更新三角形模型A、B,对目标工件进行检查。

2.根据权利要求1所述的一种基于环绕数的布尔运算方法,其特征在于,步骤2具体为:通过将模型的STL数据转换为以网格点为根节点的链表结构,构建动态网格节点vector,构建节点之间的相邻关系,每一个三角网格点作为根节点建立链表,根据三角网格的相邻关系插入链表,方法是顺序遍历三角网格节点,查找所有与该节点相邻的网格节点下标,作为该节点的相邻节点插入以该节点为表头的链表结构。

3.根据权利要求1所述的一种基于环绕数的布尔运算方法,其特征在于,步骤5具体为:计算得到所有网格面与对应的线段节点对,由于在判断节点对是否与三角形相交时计算了交点,舍去与对应三角面不相交的交点集合,剩下的交点集合即为所有的相交节点集合,计算两者的交点。

4.根据权利要求1所述的一种基于环绕数的布尔运算方法,其特征在于,步骤7具体为:根据布尔运算对相交面的节点进行筛选,若布尔计算类型为模型A与模型B求交,则按照步骤1至6再次计算位于模型A上的相交面节点,再分别删除模型A中非相交面节点,删除模型B中非相交面节点,合并剩余节点;若布尔计算类型为A与B求并,则分别删除模型A与模型B的相交面节点,合并剩余节点;若布尔计算类型为A与B求差,则删除A中的相交面节点,删除B中的非相交面节点,合并剩余节点。

5.根据权利要求1所述的一种基于环绕数的布尔运算方法,其特征在于,步骤8具体为:通过交点环链节点与对应点环链之间节点的对应关系,将对应点伸缩至交点的位置,得到了更新后的三角网格和坐标数据,并通过标记法顺序遍历,从缓存中输出所有三角网格数据至STL格式。

6.一种通信装置,包括处理器以及存储器,其中,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序,以实现如权利要求1-5中任一项所述的方法。

7.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-5中任一项所述的方法。