首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于半边半面数据结构的3D打印实体模型生成方法 

申请/专利权人:北京航空航天大学

申请日:2022-03-08

公开(公告)日:2024-06-25

公开(公告)号:CN114693869B

主分类号:G06T17/00

分类号:G06T17/00;G06F30/10;G06F30/20;G06F113/10

优先权:

专利状态码:有效-授权

法律状态:2024.06.25#授权;2022.07.19#实质审查的生效;2022.07.01#公开

摘要:本发明提出一种基于半边半面数据结构的3D打印实体模型生成方法,步骤如下:步骤一、构建基础网格数据;步骤二、构建半面链接元素;步骤三、构建半边链接元素并构建半边环;步骤四、由已完成的内容补全所有已有对象中缺失的成员属性;步骤五、对上述构建完成的实体网格按照构建规则进行拓扑结构检查,确保包含的拓扑信息与链接元素之间的对应关系正确、完整,若没有问题则完成实体网格的构建。通过以上步骤,可以完成一个基于半边半面数据结构的样条实体模型构建过程,构建完成的样条实体模型不仅可以完整表达实体模型的几何拓扑结构,同时具有可以局部细分的优良特性,可以广泛应用于如3D打印模型构建等场景。

主权项:1.一种基于半边半面数据结构的3D打印实体模型生成方法,其特征在于,步骤如下:步骤一、构建基础网格数据;构造一个实体网格对象SolidMesh,然后依次逐个创建所有的Anchor、Vertex、Edge、Face、Cube对象,并为每个对象添加相应的部分必要属性,同时将这些拓扑对象分别添加到mesh中的相应list中进行ID标识;所述的SolidMesh是指一个实体网格对象,代表模型的整体网格对象,是实体网格的英文符号;所述的Vertex是指实体网格中的拓扑元素为顶点对象,每个顶点指向一个三维空间中的笛卡尔点;所述的Edge是指实体网格中的拓扑元素为边对象,每个边的两端各有一个顶点Vertex;所述的Face是指实体网格中的拓扑元素为面对象,每个面代表一个三维空间中的二维平面区域,区域的边界由多个边Edge包围而成;所述的Cube是指实体网格中的拓扑元素为实体单元对象,每个实体单元代表三维空间中的一个区域,区域的边界由多个面Face包围而成,同时多个实体单元无缝拼接共同组成实体网格Solidmesh的空间区域;所述的Anchor是指实体网格中的几何元素为锚点对象,包含一个表示空间位置的几何坐标属性,以及表示锚点处材料性质的属性;所述的mesh是指由点线拓扑元素构成的网格框架;所述的list是指一个列表,每个list中仅存放多个相同类型的对象;所述的ID是指索引标识号码;每个拓扑对象及几何对象均需绑定一个ID,同时同类型的对象ID不能出现重复,但不同类型的对象ID能重复,即两个Vertex对象的ID号不能相同,但是一个Edge对象的ID号能与另一个Vertex对象的ID号相同;步骤二、构建半面链接元素;对每个Face对象创建两个HalfFace对象,并设定每个HalfFace对象指向的Cube、Face对象,同时把这两个HalfFace相互设定为HOppo关系;所述的HalfFace是指半面对象,是连接体面拓扑元素与边点拓扑元素的中间元素之一,是一个逻辑对象,仅存在于网格结构的逻辑结构层面,具有:①每个半面属于唯一的一个实体单元,②每个实体单元包含多个半面,③每个半面属于唯一的一个面,④面位于实体网格边界处时仅包含一个半面,其他面都包含两个半面;所述的HOppo是指两个半面之间的相对位置关系,如果两个半面指向同一个面对象则把这两个半面定义为一对相对HOppo的半面;步骤三、构建半边链接元素并构建半边环;对于每个HalfFace对象,执行以下两步操作:3.1、按照HalfFace所在Face上的边对象的周向逆时针顺序逐个创建HalfEdge对象,每个HalfEdge对象创建后指定其所属的HalfFace、Edge、Vertex,同时将此HalfEdge添加到上述Edge对象的HalfEdgelist中;3.2、按照创建顺序将HalfEdge存为list,对此list中的半边构建半边环,即指定每个半边的前置半边HPre及后置半边HNext;所述的HalfEdge是指半边对象,是一个逻辑对象,仅存在于实体网格的逻辑结构层面,且具:①每个半边都有唯一一个出发点vertex,②每个半边都属于唯一一个边对象,③每个半边都属于唯一一个半面对象,④每个半边都属于唯一一个实体单元对象,⑤属于同一个半面的多个半边根据前后半边关系逆时针首尾相连构成环状半边结构;所述的HalfEdgelist是指由多个半边对象存放在一个list中组成的半边列表;所述的HPre是指半边之间的位置关系,与HNext相对应,若A半边是B半边的前置半边HPre,则B半边是A半边的后置半边HNext;所述的HNext是指半边之间的位置关系,与HPre相对应,若C半边是D半边的后置半边HNext,则D半边是C半边的前置半边HPre;步骤四、由已完成的内容补全所有已有对象中缺失的成员属性;由已完成的内容补全其他设置:包括设定每个Cube的主半面、设定每个Vertex的主半边、设定每个半边的相邻半边关系HAdjacent以及半边转角信息HConerType、设定HalfFace对象的边界标志以及细分标志;所述的HAdjacent是指两个半边的相邻半边位置关系,若两个半面同时满足:①指向同一个边对象、②指向同一个实体单元,则将这两个半边对象相互定义为相邻关系;所述的HConerType是指半边的出发点在此半边所指向半面上的位置特征标记:若出发点为转角点即在该半面上共用该出发点的两条边之间有夹角,则标记为0,若出发点为非转角点即在该半面上共用该出发点的两条边之间在同一条直线上,则标记为1;步骤五、对上述构建完成的实体网格按照构建规则进行拓扑结构检查,确保包含的拓扑信息与链接元素之间的对应关系正确、完整,若没有问题则完成实体网格的构建;步骤一中所述的对象,是面向对象程序设计中的概念,每个对象包含多个属性或内容;solidmesh是实体网格在程序设计中创建的对象,包含多个AnchorlistVertexlistEdgelist用于对拓扑对象进行ID标识;所述的Anchorlist是指存放了多个锚点Anchor对象的列表;所述的Vertexlist是指存放了多个顶点Vertex对象的列表;所述的Edgelist是指存放了多个边Edge对象的列表;步骤一中所述的为每个对象添加相应的部分必要属性,是指在这一步骤中只能添加目标对象的部分属性,其他属性需要在后面的步骤逐步进行添加或设定,在这一步骤完成添加的对象属性包括:Anchor对象的几何信息即点的坐标Arc4DPoint、类型Type、材料属性Material;Vertex对象设定其所包含的Anchorlist同时也为Anchorlist中的锚点设定其指向的Vertex;edge对象设定其节点距Interval;Cube对象设定其所包含的Anchorlist;所述的Arc4DPoint是指代表空间坐标点的符号,用于存储空间坐标点在空间直角坐标系中的位置数据;步骤一中所述的将这些拓扑对象分别添加到mesh中的相应list中进行ID标识,具体做法是:每创建一个新的Anchor就将此锚点添加到mesh的Anchorlist中,并为其赋予ID,此ID的取值依据为当前列表最后一个Anchor的ID加1,即按照只增不减的方式为新增的对象赋予ID;即使需要删除list中的某个对象,也不更改其他对象的ID,即只需要保证同一个list中所有对象的ID具有唯一性,无须保持连续性。

全文数据:

权利要求:

百度查询: 北京航空航天大学 一种基于半边半面数据结构的3D打印实体模型生成方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。