一种基于三维结构模型的剖面闭合单元获取方法与流程

未命名 07-22 阅读:98 评论:0


1.本发明涉及一种基于三维结构模型的剖面闭合单元获取方法,属于catia船舶三维设计、船体梁强度校核、横剖面剪流计算等技术领域。


背景技术:

2.在钢质海船入级规范2018综合文本第9篇的第5章船体梁强度附录1介绍了由船体梁垂向剪力引起的作用于船舶横剖面的剪流的直接计算流程。剪流计算分为定剪流和不定剪流,当结构横剖面中存在闭合单元时,需要获取所有的闭合单元以计算不定剪流。闭合单元即剖面中最小的结构循环,如图1所示。闭合单元以轮廓的各个线单元来描述,而线单元以两个节点来描述。例如,闭合单元3由11、12、13、14四个线单元构成,线单元10由9、10两个节点构成,三种元素的组成关系如图2所示。
3.为校核船体梁结构强度,各船级社开发了适用于不同设计规范的计算软件,例如bv船级社的mars软件。mars软件创建船体剖面遵循二维绘图思想,具体操作是先创建一系列的节点,通过节点的连接创建表示板对象(panel)的线单元,并且需要设置线单元之间的连接性。然后,在panel上创建节点作为骨材的定位点,设置骨材的截面规格和腹板/面板朝向,如图3所示。最后,在panel上通过板缝划分的功能创建不同厚度的列板(plate),如图4所示。创建完剖面之后即可以在校核模块(rule)直接进行剪流计算。通过以上分析可知,运用mars软件校核剪流的前提是创建结构剖面,并且对于一艘船的设计需要校核多个结构剖面,因此降低了校核的效率。此外,mars软件并未说明剖面中闭合单元的获取方法和开发逻辑。
4.顾俊,徐义刚.基于图论的剖面剪流计算基本回路搜索方法[j].中国造船,2017(12):117-122。该文中使用基于图论的方法寻找回路矩阵,对于搜索到的回路矩阵,用户需人工判断是否保留,并非所有寻找结果都是准确的。
[0005]
孟凡冲.船体剖面剪流计算中闭市搜索算法[j].船舶标准化工程师,2015(5)。文章中采用的是节点扫描算法,首先对节点按照从上到下、从左到右的顺序进行排序,通过线段的两个端点逐步查找另一个线段,直到搜索到闭合轮廓。该方法的缺点是会存在重复结果,同一线段反复查找,每次查找后判断轮廓是否闭合,效率较低。
[0006]
目前,基于达索三维体验平台(3de)的数字化设计在船舶行业深入开展,如何深化三维结构模型的运用成为各院所研究的重点。依托三维结构模型,可直接根据目标肋位通过创建交线的方式提取结构剖面。如果可以基于提取的结构剖面进行剪流计算,则无需在mars软件中创建结构剖面,扩大结构模型运用面的同时节约了不少强度校核时间。从定制化开发的角度来说,剖面的剪流计算必须解决的难点是剖面中闭合单元的获取问题。


技术实现要素:

[0007]
为实现基于三维结构模型的剪流计算自主软件开发,提高船体梁结构强度校核的效率,本发明提出了一种基于三维结构模型的剖面闭合单元获取方法。
[0008]
为解决以上技术问题,本发明的技术方案是这样实现的:
[0009]
一种基于三维结构模型的剖面闭合单元获取方法,包括:
[0010]
1)通过选择的肋位平面和三维结构模型进行相交获取剖面;
[0011]
2)通过剖面中的线单元获取节点并将位置相同的节点做去重处理,从而保证节点和节点编号一一对应;
[0012]
3)提取plate线对象上依附的骨材定位点,运用骨材的定位点切分对应的plate线单元;
[0013]
4)通过距离判断节点和线单元的依附关系,将线单元用两个节点来表达;
[0014]
5)通过向量法沿固定方向获取剖面中的闭合单元,将闭合单元用一系列的线单元来表达。
[0015]
步骤1)中,通过选择的肋位平面和三维结构模型进行相交获取剖面的具体步骤为:
[0016]
步骤s1.1:选择横剖面对应的所有三维结构模型节点,并将节点加载至可编辑状态,仅获取模型中的外板、甲板、纵骨以及其他纵向构件;
[0017]
步骤s1.2:根据需要计算剪流的剖面位置选择目标肋位平面;
[0018]
步骤s1.3:创建目标肋位平面和结构构件的交线,先提取骨材的腹板面,然后创建腹板面和肋位平面的交线,所有的交线存储在数组lste中;
[0019]
步骤2)中,通过剖面中的线单元获取节点并将位置相同的节点做去重处理节点去重处理的具体步骤为:
[0020]
步骤s2.1:从横剖面所有线对象中获取起始点存储在数组lstp中;
[0021]
步骤s2.2:先从lstp中提取一个节点pi,依次计算与数组中后续节点pj的距离,如果距离等于0,则从数组中将pj移除;然后,从数组中提取下一个节点p
i+1
,经过同样的步骤,循环到数组最后一个节点时表示去重处理结束。
[0022]
步骤3)中,运用骨材的定位点切分对应的plate线单元的具体步骤为:
[0023]
步骤s3.1:从lste中提取一个线对象en,作为待切割的线对象,计算线对象的起始点ps和pe;
[0024]
步骤s3.2:依次从lstp中提取点对象pn,计算pn和en的距离,如果距离等于0并且pn和ps、pe的距离均不等于0,则说明pn为线对象上所依附的骨材定位点;
[0025]
步骤s3.3:将所有的骨材定位点存储在数组lstlp中,并且计算定位点和线对象起点ps之间的距离,然后,按照距离的远近对lstlp数组进行排序,排序后数组中的依次点为p
12
、p
14
、p
16
、p
18
、p
20
、p
22
、p
24

[0026]
步骤s3.4:根据相邻的两个点切割线对象,保留两个点之间的部分,另外一部分作为下一次的待切割对象,第一次切割采用p
11
和p
12
两个点,获取的线对象为e
20
,剩下虚线的部分为待切割对象;第二次切割采用p
12
和p
14
两个点,获取的线对象为e
21
,剩下虚线的部分为待切割对象;依次类推,lstlp中的点循环完毕输入的plate线对象被切分为e20、e21、e22、e23、e24、e25、e26、e27;
[0027]
步骤s3.5:通过以上步骤获取的新的线对象添加到数组lste中,并从lste中移除掉原有的被切割的线对象。
[0028]
步骤4)中,运用节点表达线单元的具体步骤为:
[0029]
步骤s4.1:从lste中提取一个线对象en,计算线对象的起始点ps和pe;
[0030]
步骤s4.2:从lstp中依次提取节点,计算节点和ps的距离;
[0031]
步骤s4.3:从lstp中依次提取节点,计算节点和pe的距离;
[0032]
步骤s4.4:将线对象对应的节点信息进行记录,便于后续运用;
[0033]
步骤s4.5:从lste中遍历下一个线对象,同样的方法查询对应的节点,直到数组的最后一个对象。
[0034]
步骤s4.2中,如果距离等于0,则用该节点表达线单元的起点。
[0035]
步骤s4.3中,如果距离等于0,则用该节点表达线单元的终点。
[0036]
步骤s4.5中,如果某节点仅为一个线对象的端点,说明该线对象无法构成闭合单元,从lste中删除。
[0037]
步骤5)中,通过向量法沿固定方向获取剖面中的闭合单元,将闭合单元用一系列的线单元来表达的具体步骤为:
[0038]
步骤s5.1:从lste中提取一个线对象en,线对象的起始点分别为ps和pe,以pe作为搜索起点,ps作为搜索终点,线对象的向量v1为(ps,pe);
[0039]
步骤s5.2:查找和pe距离等于0的线对象,如果没有距离等于0的线对象,则说明根据输入的线对象无法查询到闭合轮廓,循环至lste中下一个线对象,如果距离等于0说明pe为线对象的一个端点,然后获取线对象的另外一个端点pn,则该线对象的向量v2为(pe,pn),如果和pe距离等于0的线向量只有一个,则以pn为搜索起点重复此步骤;如果和pe距离等于0的线对象有多个,则用同样的方法获取线对象的向量v3、v4...。计算向量v1和v2、v3、v4...之间的夹角,取夹角最小值对应的线对象作为目标线对象;
[0040]
步骤s5.3:在查询到目标线对象的情况下,判断线对象的端点pn是否即为搜索终点ps;如果pn即为ps则说明查询过程中的所有目标线对象组合成闭合轮廓;如果pn不为ps,则以pn作为搜索起点重复步骤s5.2和s5.3。
[0041]
步骤5)中,向量法搜索闭合单元,搜索方向设定为顺时针。
[0042]
本发明的有益效果是:
[0043]
1)本发明提出了运用肋位平面和结构构件相交快速获取结构剖面线的方法。
[0044]
2)本发明提出的递归切割方法可快速基于所依附的骨材定位点切割plate线对象。
[0045]
3)本发明在搜索之前先将无法构成闭合单元的线对象删除,提高了闭合单元的搜索效率。
[0046]
4)本发明提出的基于向量计算的顺时针搜索方法可快速准确地查询到剖面所有的闭合单元,为后续剪流计算提供了条件。
附图说明
[0047]
图1为闭合单元;
[0048]
图2为闭合单元、线单元和节点的对应关系;
[0049]
图3为mars软件骨材布置示意图;
[0050]
图4为mars软件不同厚度列板示意图;
[0051]
图5为骨材定位点切割plate线对象;
[0052]
图6为线对象切割过程;
[0053]
图7为节点表达线对象;
[0054]
图8为闭合单元搜索过程。
具体实施方式
[0055]
下面结合附图与实施例对本发明作进一步说明。
[0056]
本发明提出一种基于三维结构模型的剖面闭合单元获取方法,包括:
[0057]
(1)通过选择的肋位平面和三维结构模型进行相交获取剖面;
[0058]
(2)通过剖面中的线单元获取节点并将位置相同的节点做去重处理,从而保证节点和节点编号一一对应;
[0059]
(3)提取plate线对象上依附的骨材定位点(骨材迹线和肋位平面的交点),运用骨材的定位点切分对应的plate线单元;
[0060]
(4)通过距离判断节点和线单元的依附关系,将线单元用两个节点来表达;
[0061]
(5)通过向量法沿固定方向获取剖面中的闭合单元,将闭合单元用一系列的线单元来表达。
[0062]
如图5至图8所示,本发明实施例提出的一种基于三维结构模型的剖面闭合单元获取方法,包括以下步骤:
[0063]
步骤s1:从三维结构模型中获取横剖面。
[0064]
步骤s1.1:选择横剖面对应的所有三维结构模型节点,并将节点加载至可编辑状态。由于剪流计算不考虑横向构件,因此仅获取模型中的外板、甲板、纵骨以及其他纵向构件。
[0065]
步骤s1.2:根据需要计算剪流的剖面位置选择目标肋位平面。
[0066]
步骤s1.3:创建目标肋位平面和结构构件的交线。由于在剪流计算时可对骨材做简化处理,因此先提取骨材的腹板面,然后创建腹板面和肋位平面的交线。所有的交线存储在数组(listofedge,简写为lste)中。
[0067]
步骤s2:节点去重处理。
[0068]
步骤s2.1:从横剖面所有线对象中获取起始点存储在数组(listofpoint,简写为lstp)中。
[0069]
步骤s2.2:先从lstp中提取一个节点pi,依次计算与数组中后续节点pj的距离,如果距离等于0,则从数组中将pj移除。然后,从数组中提取下一个节点p
i+1
,经过同样的步骤。循环到数组最后一个节点时表示去重处理结束。
[0070]
步骤s3:骨材定位点切割plate线对象,如图5所示。
[0071]
步骤s3.1:从lste中提取一个线对象en,作为待切割的线对象。计算线对象的起始点ps和pe(对应图5中的p
11
和p1)。
[0072]
步骤s3.2:依次从lstp中提取点对象pn,计算pn和en的距离,如果距离等于0并且pn和ps、pe的距离均不等于0,则说明pn为线对象上所依附的骨材定位点。
[0073]
步骤s3.3:将所有的骨材定位点存储在数组(listoflocationpoint,简写为lstlp)中,并且计算定位点和线对象起点ps之间的距离。然后,按照距离的远近对lstlp数组进行排序。排序后数组中的依次点为p
12
、p
14
、p
16
、p
18
、p
20
、p
22
、p
24

[0074]
步骤s3.4:根据相邻的两个点切割线对象,保留两个点之间的部分,另外一部分作为下一次的待切割对象,如图6所示。第一次切割采用p
11
和p
12
两个点,获取的线对象为e
20
,剩下绿色的部分为待切割对象;第二次切割采用p
12
和p
14
两个点,获取的线对象为e
21
,剩下虚线的部分为待切割对象;依次类推,lstlp中的点循环完毕输入的plate线对象被切分为e20、e21、e22、e23、e24、e25、e26、e27。
[0075]
步骤s3.5:通过以上步骤获取的新的线对象添加到数组lste中,并从lste中移除掉原有的被切割的线对象。
[0076]
步骤s4:运用节点表达线单元,如图7所示。
[0077]
步骤s4.1:从lste中提取一个线对象en,计算线对象的起始点ps和pe。
[0078]
步骤s4.2:从lstp中依次提取节点,计算节点和ps的距离,如果距离等于0,则用该节点表达线单元的起点。
[0079]
步骤s4.3:从lstp中依次提取节点,计算节点和pe的距离,如果距离等于0,则用该节点表达线单元的终点。例如,线对象e3可用节点p4、p5来表达。
[0080]
步骤s4.4:将线对象对应的节点信息进行记录,便于后续运用。
[0081]
步骤s4.5:从lste中遍历下一个线对象,同样的方法查询对应的节点,直到数组的最后一个对象。
[0082]
步骤s4.6:如果某节点仅为一个线对象的端点,说明该线对象无法构成闭合单元,从lste中删除。
[0083]
步骤s5:向量法搜索闭合单元,搜索方向设定为顺时针。
[0084]
步骤s5.1:从lste中提取一个线对象en,线对象的起始点分别为ps和pe,以pe作为搜索起点,ps作为搜索终点,线对象的向量v1为(ps,pe)。
[0085]
步骤s5.2:查找和pe距离等于0的线对象。如果没有距离等于0的线对象,则说明根据输入的线对象无法查询到闭合轮廓,循环至lste中下一个线对象。如果距离等于0说明pe为线对象的一个端点,然后获取线对象的另外一个端点pn,则该线对象的向量v2为(pe,pn)。如果和pe距离等于0的线向量只有一个,则以pn为搜索起点重复此步骤;如果和pe距离等于0的线对象有多个,则用同样的方法获取线对象的向量v3、v4...。计算向量v1和v2、v3、v4...之间的夹角,由于设定的搜索方向为顺时针,因此取夹角最小值对应的线对象作为目标线对象。
[0086]
步骤s5.3:在查询到目标线对象的情况下,判断线对象的端点pn是否即为搜索终点ps。如果pn即为ps则说明查询过程中的所有目标线对象组合成闭合轮廓。如果pn不为ps,则以pn作为搜索起点重复步骤s5.2和s5.3。
[0087]
运用此方法可搜索到3个闭合单元,以图8所示的c1闭合单元搜索为例:
[0088]
1)e
10
为起始线对象,搜索起点为p7,搜索终点为p1。和p7距离等于0的线对象有e
26
和e6,根据向量夹角和顺时针搜索原则,根据p7获得的目标线对象为e6。
[0089]
2)e6的另一个端点为p4,以p4作为搜索起点,获取的目标线对象为e4。
[0090]
3)e4的另一个端点为p3,以p3作为搜索起点,获取的目标线对象为e2。
[0091]
4)e2的另一个端点为p2,以p2作为搜索起点,获取的目标线对象为e1。
[0092]
5)e1的另一个端点为p1,p1即为搜索终点。
[0093]
6)根据搜索过程,e
10
、e6、e4、e2、e1组成了闭合单元c1。

技术特征:
1.一种基于三维结构模型的剖面闭合单元获取方法,其特征在于,包括:1)通过选择的肋位平面和三维结构模型进行相交获取剖面;2)通过剖面中的线单元获取节点并将位置相同的节点做去重处理,从而保证节点和节点编号一一对应;3)提取plate线对象上依附的骨材定位点,运用骨材的定位点切分对应的plate线单元;4)通过距离判断节点和线单元的依附关系,将线单元用两个节点来表达;5)通过向量法沿固定方向获取剖面中的闭合单元,将闭合单元用一系列的线单元来表达。2.根据权利要求1所述的基于三维结构模型的剖面闭合单元获取方法,其特征在于:步骤1)中,通过选择的肋位平面和三维结构模型进行相交获取剖面的具体步骤为:步骤s1.1:选择横剖面对应的所有三维结构模型节点,并将节点加载至可编辑状态,仅获取模型中的外板、甲板、纵骨以及其他纵向构件;步骤s1.2:根据需要计算剪流的剖面位置选择目标肋位平面;步骤s1.3:创建目标肋位平面和结构构件的交线,先提取骨材的腹板面,然后创建腹板面和肋位平面的交线,所有的交线存储在数组lste中。3.根据权利要求1所述的基于三维结构模型的剖面闭合单元获取方法,其特征在于:步骤2)中,通过剖面中的线单元获取节点并将位置相同的节点做去重处理节点去重处理的具体步骤为:步骤s2.1:从横剖面所有线对象中获取起始点存储在数组lstp中。步骤s2.2:先从lstp中提取一个节点p
i
,依次计算与数组中后续节点p
j
的距离,如果距离等于0,则从数组中将p
j
移除;然后,从数组中提取下一个节点p
i+1
,经过同样的步骤,循环到数组最后一个节点时表示去重处理结束。4.根据权利要求1所述的基于三维结构模型的剖面闭合单元获取方法,其特征在于:步骤3)中,运用骨材的定位点切分对应的plate线单元的具体步骤为:步骤s3.1:从lste中提取一个线对象e
n
,作为待切割的线对象,计算线对象的起始点p
s
和p
e
;步骤s3.2:依次从lstp中提取点对象p
n
,计算p
n
和e
n
的距离,如果距离等于0并且p
n
和p
s
、p
e
的距离均不等于0,则说明p
n
为线对象上所依附的骨材定位点;步骤s3.3:将所有的骨材定位点存储在数组lstlp中,并且计算定位点和线对象起点p
s
之间的距离,然后,按照距离的远近对lstlp数组进行排序,排序后数组中的依次点为p
12
、p
14
、p
16
、p
18
、p
20
、p
22
、p
24
;步骤s3.4:根据相邻的两个点切割线对象,保留两个点之间的部分,另外一部分作为下一次的待切割对象,第一次切割采用p
11
和p
12
两个点,获取的线对象为e
20
,剩下绿色的部分为待切割对象;第二次切割采用p
12
和p
14
两个点,获取的线对象为e
21
,剩下绿色的部分为待切割对象;依次类推,lstlp中的点循环完毕输入的plate线对象被切分为e20、e21、e22、e23、e24、e25、e26、e27;步骤s3.5:通过以上步骤获取的新的线对象添加到数组lste中,并从lste中移除掉原有的被切割的线对象。
5.根据权利要求1所述的基于三维结构模型的剖面闭合单元获取方法,其特征在于:步骤4)中,运用节点表达线单元的具体步骤为:步骤s4.1:从lste中提取一个线对象e
n
,计算线对象的起始点p
s
和p
e
;步骤s4.2:从lstp中依次提取节点,计算节点和p
s
的距离;步骤s4.3:从lstp中依次提取节点,计算节点和p
e
的距离;步骤s4.4:将线对象对应的节点信息进行记录,便于后续运用;步骤s4.5:从lste中遍历下一个线对象,同样的方法查询对应的节点,直到数组的最后一个对象。6.根据权利要求5所述的基于三维结构模型的剖面闭合单元获取方法,其特征在于:步骤s4.2中,如果距离等于0,则用该节点表达线单元的起点。7.根据权利要求5所述的基于三维结构模型的剖面闭合单元获取方法,其特征在于:步骤s4.3中,如果距离等于0,则用该节点表达线单元的终点。8.根据权利要求5所述的基于三维结构模型的剖面闭合单元获取方法,其特征在于:步骤s4.5中,如果某节点仅为一个线对象的端点,说明该线对象无法构成闭合单元,从lste中删除。9.根据权利要求1所述的基于三维结构模型的剖面闭合单元获取方法,其特征在于:步骤5)中,通过向量法沿固定方向获取剖面中的闭合单元,将闭合单元用一系列的线单元来表达的具体步骤为:步骤s5.1:从lste中提取一个线对象e
n
,线对象的起始点分别为p
s
和p
e
,以p
e
作为搜索起点,p
s
作为搜索终点,线对象的向量v1为(p
s
,p
e
);步骤s5.2:查找和p
e
距离等于0的线对象,如果没有距离等于0的线对象,则说明根据输入的线对象无法查询到闭合轮廓,循环至lste中下一个线对象,如果距离等于0说明p
e
为线对象的一个端点,然后获取线对象的另外一个端点p
n
,则该线对象的向量v2为(p
e
,p
n
),如果和p
e
距离等于0的线向量只有一个,则以p
n
为搜索起点重复此步骤;如果和p
e
距离等于0的线对象有多个,则用同样的方法获取线对象的向量v3、v4...。计算向量v1和v2、v3、v4...之间的夹角,取夹角最小值对应的线对象作为目标线对象;步骤s5.3:在查询到目标线对象的情况下,判断线对象的端点p
n
是否即为搜索终点p
s
;如果p
n
即为p
s
则说明查询过程中的所有目标线对象组合成闭合轮廓;如果p
n
不为p
s
,则以p
n
作为搜索起点重复步骤s5.2和s5.3。10.根据权利要求9所述的基于三维结构模型的剖面闭合单元获取方法,其特征在于:步骤5)中,向量法搜索闭合单元,搜索方向设定为顺时针。

技术总结
本发明涉及一种基于三维结构模型的剖面闭合单元获取方法,包括:1)通过选择的肋位平面和三维结构模型进行相交获取剖面;2)通过剖面中的线单元获取节点并将位置相同的节点做去重处理,从而保证节点和节点编号一一对应;3)提取Plate线对象上依附的骨材定位点,运用骨材的定位点切分对应的Plate线单元;4)通过距离判断节点和线单元的依附关系,将线单元用两个节点来表达;5)通过向量法沿固定方向获取剖面中的闭合单元,将闭合单元用一系列的线单元来表达。本发明提出的一种基于三维结构模型的剖面闭合单元获取方法,实现基于三维结构模型的剪流计算自主软件开发,提高了船体梁结构强度校核的效率。强度校核的效率。强度校核的效率。


技术研发人员:邹梦瑶 高勋海 韩涛 周桐 杜文磊 程哲
受保护的技术使用者:中国船舶集团有限公司第七
技术研发日:2023.04.19
技术公布日:2023/7/21
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐