[发明专利]一种基于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的三角面片数量达到设定值。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201510374124.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

400-8765-105周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top