一种基于非结构化样条的晶格结构建模方法
文献发布时间:2024-04-18 19:58:30
技术领域
本发明属于计算机辅助设计领域,特别涉及一种基于非结构化样条的晶格结构建模方法。
背景技术
在现有的CAD系统中,NURBS通常用于表示曲面,但几何建模时对NURBS面片进行裁剪和拼接操作会带来界面缝隙和重叠等缺陷。T样条为自由形状建模提供了另一种选择,通过将T型节点插入控制网格,使模型局部细化和面片拼接更为灵活。进一步扩展到包含奇异点的非结构化控制网格,得到平滑的非结构化T样条。在非结构化控制网格上构建平滑样条有三种策略:第一种是在任意拓扑结构上递归使用细分算法生成曲面;第二种是在面片界面间强制施加连续性条件,构造一个全局连续的多片曲面;第三种是基于D-patch方法在奇异点附近实现连续。基于以上策略,可以实现包含复杂拓扑和几何形状的曲面晶格结构。
晶格结构可以视为一种细胞结构,由一系列被称作晶胞的重复结构组成,具有轻质的特点和优异的机械性能,已被广泛研究并应用于航空航天、汽车和生物工程等多个领域。现有技术中对晶格结构有不同的分类方法:从晶胞分布来看,可分为三类:无序(随机)、周期(均匀)和准周期;根据晶胞形态,可将其分为桁架晶格、板晶格和壳晶格。与桁架晶格和板晶格相比,壳晶格的一个显著优势是避免了较高的应力集中现象,因为壳晶格包含光滑曲面,在传统CAD/CAE系统中的参数化设计和分析较为困难。最常用的方法是三周期极小曲面(TPMS),它由隐式函数定义,存在周期性且无自交,获得了极大关注和广泛应用。但TPMS也存在不可忽视的弱点,比如,其隐式表达与传统CAD软件不兼容,进行仿真计算时的网格划分比参数曲面复杂得多。
因此,从等几何分析角度来看,开发一种基于非结构化样条的晶格结构建模方法,能极大促进晶格结构在工程实际中的进一步应用。
发明内容
针对现有技术中的不足,本发明提出了一种基于非结构化样条的晶格结构建模方法,该方法使用非结构化T样条表示晶胞,采用D-patch方法实现控制顶点附近的连续,实现晶格结构的参数化设计。
本发明的技术方案具体如下:
一种基于非结构化样条的晶格结构建模方法,包括以下步骤:
步骤1、定义晶胞拓扑结构;
在单位立方体域内定义非结构化样条晶胞,晶胞由一个中心立方体和底面与中心立方体6个面共面的6个平行六面体构成;晶胞的控制网格共有80个控制顶点,分别为位于中心立方体的8个顶点,各平行六面体顶面的4个顶点以及各平行六面体的每条侧边上的2个点,其中,各平行六面体顶面的4个顶点分别位于单位立方体域的6个面上,且构成正方形,各平行六面体的每条侧边上的2个点将侧边三等分;控制网格中的节点距长度设为1;
步骤2、定义形状控制参数;
针对晶胞拓扑结构,设定形状控制参数L={l
步骤3、设计晶胞融合规则;
(1)对于相邻的两个晶胞,删除一个晶胞相邻面上的4个控制顶点,将两个晶胞相容耦合,在两个晶胞的耦合边界处产生一条C
(2)分别删除两个晶胞中与耦合边界最近的一层4个控制顶点;
步骤4、将晶胞映射到三维空间域并进行融合,完成曲线、曲面或实体的建模。
优选的,所述步骤4中对于曲线的建模过程如下:
通过插入多个分段点,将曲线划分为多段,在每个分段点上建立局部坐标系;使用Frenet-Serret标架确定每个晶胞的空间域,将各晶胞映射到空间域后,对相邻的晶胞进行融合,实现三维曲线建模。
优选的,所述步骤4中对于曲面的建模过程如下:
根据预设的晶胞数目,在曲面上插入节点构建物理网格,沿节点处法矢及晶胞在法矢方向上的厚度构建六面体,再对晶胞进行映射,融合相邻的晶胞,实现三维曲面建模。
优选的,所述步骤4中对于实体的建模过程如下:
针对给定的三变量NURBS实体,将晶胞与Bézier单元进行一一对应,通过节点插入算法或Bézier抽取算法增加Bézier单元数量,将晶胞映射到各Bézier单元,融合相邻的晶胞,实现三维实体建模。
优选的,所述步骤3包括:
设晶胞e1和晶胞e2为x轴方向相邻的晶胞,两者的原始形状控制参数分别为:
晶胞e1和晶胞e2融合后,两者的形状控制参数分别为:
相比于现有技术,本发明的有益效果在于:
(1)本发明的晶格结构建模方法基于样条技术实现了晶格结构的精确建模。
(2)采用本发明的晶格结构建模方法所构建的晶格结构几何模型可以直接用于等几何仿真。
(3)本发明的晶格结构建模方法有利于促进CAD/CAE的一体化,推动复杂晶格微结构智能设计和分析技术的发展。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,通过参考附图可以更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。
图1是一种基于非结构化样条的晶格结构建模方法的流程图。
图2是晶胞的拓扑结构图。
图3是单位立方体域及其中的80个控制顶点示意图。
图4是三个晶胞的融合的示意图。
图5是分段数为6的三维曲线晶格结构示意图。
图6是实施例2中构造六面体示意图。
图7是6×6单元的曲面的晶格结构示意图。
图8是几种实体的晶格结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
本发明提出的一种基于非结构化样条的晶格结构建模方法,设计了一种双三次非结构化T样条曲面作为晶胞,如图1所示,所述晶胞位于单位立方体域[0,1]
如图2-3所示,针对晶胞拓扑结构,设定形状控制参数L={l
以x轴正方向上控制网格设计为例,给定形状控制参数l
第一层为中心立方体x轴正方向上侧面的4个控制顶点:
第二层为平行六面体的侧边上的第一层4个控制顶点:
第三层为平行六面体的侧边上的第二层4个控制顶点:
第四层为平行六面体的顶面上的4个控制顶点:
采用相同的方法,可以计算得到其他五个方向上的64个控制顶点,从而得到控制网格上所有控制顶点的坐标值,实现晶胞的形状表达。
将单位立方体域(即基准域)内的晶胞通过映射计算,可以得到在曲线、曲面或实体的每个参数单元上的表达形式,建模过程中需要将这些相邻的晶胞合并成一个整体。相邻的两个晶胞融合需满足以下规则:
(1)对于相邻的两个晶胞,删除一个晶胞相邻面上的4个控制顶点,将两个晶胞相容耦合,在两个晶胞的耦合边界处产生一条C
(2)分别删除两个晶胞中与耦合边界最近的一层4个控制顶点;
设晶胞e1和晶胞e2为x轴方向相邻的晶胞,两者的原始形状控制参数分别为:
晶胞e1和晶胞e2融合后,两者的形状控制参数分别为:
图4示出了三个晶胞的融合的示意图。
基于上述基础,可以完成曲线、全面和实体的建模。
实施例1
基于曲线进行晶格结构设计时,需要对空间曲线插入分段点,在每个分段点上建立局部坐标系,再使用Frenet-Serret标架作为辅助工具确定每个晶胞所处的空间域,再将晶胞映射到空间域后融合,实现从三维曲线构建晶格结构。
考虑曲线用一般参数方程或样条函数表示,为了沿曲线建立晶格结构,需要建立局部坐标系定义晶胞方向。常用Frenet-Serret标架描述沿三维曲线的移动,基于三个单位向量构成一组正交基,包括切矢T,法矢N,副法矢B。首先假设一条参数曲线表达式为r(t)={x(t),y(t),z(t)},t是参数,对应三维曲线上不同的分段点,则三个单位向量分别按下式计算为
将晶格曲面沿曲线的生成过程概括为以下步骤:
(1)曲线分割
将三维曲线分割成n
(2)计算晶胞的8个角点
考虑曲线上第i段Ω
C
相似地,可以计算由N
(3)计算晶胞的所有控制顶点
令基准域内任意一个控制顶点为p
P
其中,t
可以看出,物理控制点是通过将基准控制点映射到Frenet-Serret向量N
(4)融合晶胞
采用前述融合规则对生成的所有晶胞融合。为了提高效率,相邻关系的检测可以只在x轴的两个方向上进行。
如图5所示,展示了曲线r(t)={2cos(2t),2sin(2t),2t},t∈[1.5π,2π],分段数为6的点阵设计结果。
实施例2
假设曲面基于NURBS定义,此时通过插入节点构建物理空间的Bézier网格,通过节点处法矢及晶胞在法矢方向上的厚度构建六面体,再分别构建晶胞并融合,实现基于曲面的晶格结构设计。
可以将晶格曲面沿曲面的生成过程概括为以下步骤:
(1)单元划分
根据给定的晶胞数目,在曲面上插入节点构建物理网格,每个物理网格都可以提取成双变量的Bézier单元以便进一步运算。假设晶格构造的曲面在整个曲面上至少满足G
(2)构建六面体
如图6所示,每个物理网格都包含四个角点S
通过以上8个点P
(3)构建晶胞
采用实施例1步骤(3)中的方法对基准控制点进行映射,得到其在本实施例步骤(2)生成的物理域中的映射点。对基准控制点
P
(4)融合晶胞
根据各晶胞的相邻关系进行融合,得到一张非结构化样条曲面。在基于曲面的晶格结构设计中,晶胞只在两个参数方向具有相邻晶胞,故可在四个方向上搜索并设置法线正负方向的默认值以完善算法。为主动引导晶胞形状,晶胞数量、晶胞在表面的法线方向高度和形状控制参数均通过人为设定。
图7展示了一张6×6单元的曲面的点阵设计结果。
实施例3
在基于实体的建模中,由给定的三变量NURBS实体中构建晶格结构。将每一个晶胞与一个NURBS或Bézier单元对应,通过节点插入算法或Bézier抽取算法来增加NURBS单元数量,参见图8。
将晶格曲面沿实体的生成过程概括为以下步骤:
(1)分配晶胞数
根据所需的晶胞总数,对实体的三个参数方向进行分配,以确定符合要求的细分条件。
(2)细化实体
根据步骤(1)中所分配的值,利用节点插入算法在三个方向上对NURBS实体进行细化,再利用Bézier抽取算法进一步转换为Bézier单元。
(3)构建晶胞
根据实施例2的步骤(3)中所述,将基准域映射到每一个Bézier单元。初始的NURBS单元也可以用来构建晶胞,但采用抽取出的Bézier单元能够保证每个单元的参数域和数学表达式的统一,故选择采用Bézier单元进行晶胞构建。为了设计不同尺寸的晶胞,可以使用各种基于位置的函数来控制每个晶胞的形状控制参数。
(4)融合晶胞
根据各晶胞的相邻关系进行融合。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本发明中,术语“第一”、“第二”、“第三”、“第四”仅用于描述目的,不能理解为指示或暗示相对重要性。术语“多个”指两个或两个以上,除非另有明确的限定。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种将非结构化数据转化为结构化数据的方法及装置
- 一种将结构化数据转化为非结构化数据的方法及系统
- 基于小型无人直升机的大面积非结构化场景三维建模方法
- 一种基于非结构化地址数据构建结构化地址库的方法