[发明专利]一种基于STL模型布尔运算的飞机油箱内表面模型提取方法有效
申请号: | 201510374124.0 | 申请日: | 2015-06-30 |
公开(公告)号: | CN105022865B | 公开(公告)日: | 2018-04-17 |
发明(设计)人: | 洪军;郑帅;王崴;申凌宇 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F17/50 | 分类号: | G06F17/50;G06T17/30 |
代理公司: | 西安通大专利代理有限责任公司61200 | 代理人: | 徐文权 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 stl 模型 布尔 运算 飞机 油箱 表面 提取 方法 | ||
1.一种基于STL模型布尔运算的飞机油箱内表面模型提取方法,其特征在于:包括以下步骤:
在CATIA软件中将飞机油箱模型的CATIA数据文件导出为STL格式文件;建立该模型三角面片的点面索引;计算该模型中所有顶点的最大坐标和最小坐标,构建该模型的矩形最小包围盒;令该矩形最小包围盒为模型A,飞机油箱模型为模型B,使用三维模型布尔减方法得到模型C,C=A-B;判断模型C属于模型A内部的面片,通过人机交互从模型C中删除不属于模型A内部的面片;将模型C中剩余的面片的法矢反向,飞机油箱内表面模型提取完毕;
所述的三维模型布尔减方法包括以下步骤:
1)以模型A和模型B整体为基准,确定空间总范围,并以此空间总范围为基准进行含符号八叉树划分;
2)对含符号八叉树的每一个根节点进行遍历,对每个三角面片进行判断,取出其中来自模型A和模型B的三角面片;在同一个根节点内,由属于模型B的三角面片对属于模型A的三角面片进行相交测试,计算出相交点,并重构三角面片;同时由属于模型A的三角面片对属于模型B的三角面片进行相交测试,计算出相交点,并重构三角面片;
3)根据三角面片法矢判断三角形内外关系:再次对含符号八叉树的每一个根节点进行遍历,根据每个根节点中模型A内三角面片的法矢判断模型B中三角面片是否在模型A之内;
4)选择所有在模型A内且模型B之外的三角面片,且删除其它三角面片;
所述步骤2)中对含符号八叉树的根节点的遍历流程为:
循环1:对含符号八叉树的根节点进行深度优先遍历;
循环2:在循环1中,对根节点中来自模型A的三角形TA进行顺序遍历;
循环3:在循环2中,对根节点中来自模型B的三角形TB进行顺序遍历;
在循环3中,对循环2中所遍历到的三角形TA和循环3中所遍历到的三角形TB进行相交测试及三角面片重构,如TA被标记为被划分状态,则从循环2中剔除TA,并开始循环2的下一次循环,并对循环3置零;
如TB被标记为被划分状态,则从循环3中剔除TB,并开始循环2的下一次循环;
如TA及TB均被标记为被划分状态,则开始循环3的下一次循环;
如循环3已遍历完成,则将循环2前移一个单位;
如循环2已遍历完成,则将循环1前移一个单位;
如循环1已遍历完成,则遍历结束;
TA为被切割三角形,TB为切割三角形。
2.根据权利要求1所述一种基于STL模型布尔运算的飞机油箱内表面模型提取方法,其特征在于:所述的含符号八叉树划分包括以下步骤:
1.1)以模型A和模型B所组成的整体最小包围盒为初始空间,以整体最小包围盒各边中点为限划分初始空间为相等的八个子空间;
1.2)将每个子空间按照步骤1.1)的方法再次划分为相等的八个子空间,同时,每划分一次,定义空间深度加一;
1.3)划分的结束判断标志为:当空间深度达到设定值,或者划分后的某个子空间内含有来自模型A或模型B的三角面片数量达到设定值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510374124.0/1.html,转载请声明来源钻瓜专利网。