本发明涉及一种基于三维结构模型的剖面闭合单元获取方法,属于catia船舶三维设计、船体梁强度校核、横剖面剪流计算等。
背景技术:
1、在钢质海船入级规范2018综合文本第9篇的第5章船体梁强度附录1介绍了由船体梁垂向剪力引起的作用于船舶横剖面的剪流的直接计算流程。剪流计算分为定剪流和不定剪流,当结构横剖面中存在闭合单元时,需要获取所有的闭合单元以计算不定剪流。闭合单元即剖面中最小的结构循环,如图1所示。闭合单元以轮廓的各个线单元来描述,而线单元以两个节点来描述。例如,闭合单元3由11、12、13、14四个线单元构成,线单元10由9、10两个节点构成,三种元素的组成关系如图2所示。
2、为校核船体梁结构强度,各船级社开发了适用于不同设计规范的计算软件,例如bv船级社的mars软件。mars软件创建船体剖面遵循二维绘图思想,具体操作是先创建一系列的节点,通过节点的连接创建表示板对象(panel)的线单元,并且需要设置线单元之间的连接性。然后,在panel上创建节点作为骨材的定位点,设置骨材的截面规格和腹板/面板朝向,如图3所示。最后,在panel上通过板缝划分的功能创建不同厚度的列板(plate),如图4所示。创建完剖面之后即可以在校核模块(rule)直接进行剪流计算。通过以上分析可知,运用mars软件校核剪流的前提是创建结构剖面,并且对于一艘船的设计需要校核多个结构剖面,因此降低了校核的效率。此外,mars软件并未说明剖面中闭合单元的获取方法和开发逻辑。
3、顾俊,徐义刚.基于图论的剖面剪流计算基本回路搜索方法[j].中国造船,2017(12):117-122。该文中使用基于图论的方法寻找回路矩阵,对于搜索到的回路矩阵,用户需人工判断是否保留,并非所有寻找结果都是准确的。
4、孟凡冲.船体剖面剪流计算中闭市搜索算法[j].船舶标准化工程师,2015(5)。文章中采用的是节点扫描算法,首先对节点按照从上到下、从左到右的顺序进行排序,通过线段的两个端点逐步查找另一个线段,直到搜索到闭合轮廓。该方法的缺点是会存在重复结果,同一线段反复查找,每次查找后判断轮廓是否闭合,效率较低。
5、目前,基于达索三维体验平台(3de)的数字化设计在船舶行业深入开展,如何深化三维结构模型的运用成为各院所研究的重点。依托三维结构模型,可直接根据目标肋位通过创建交线的方式提取结构剖面。如果可以基于提取的结构剖面进行剪流计算,则无需在mars软件中创建结构剖面,扩大结构模型运用面的同时节约了不少强度校核时间。从定制化开发的角度来说,剖面的剪流计算必须解决的难点是剖面中闭合单元的获取问题。
技术实现思路
1、为实现基于三维结构模型的剪流计算自主软件开发,提高船体梁结构强度校核的效率,本发明提出了一种基于三维结构模型的剖面闭合单元获取方法。
2、为解决以上技术问题,本发明的技术方案是这样实现的:
3、一种基于三维结构模型的剖面闭合单元获取方法,包括:
4、1)通过选择的肋位平面和三维结构模型进行相交获取剖面;
5、2)通过剖面中的线单元获取节点并将位置相同的节点做去重处理,从而保证节点和节点编号一一对应;
6、3)提取plate线对象上依附的骨材定位点,运用骨材的定位点切分对应的plate线单元;
7、4)通过距离判断节点和线单元的依附关系,将线单元用两个节点来表达;
8、5)通过向量法沿固定方向获取剖面中的闭合单元,将闭合单元用一系列的线单元来表达。
9、步骤1)中,通过选择的肋位平面和三维结构模型进行相交获取剖面的具体步骤为:
10、步骤s1.1:选择横剖面对应的所有三维结构模型节点,并将节点加载至可编辑状态,仅获取模型中的外板、甲板、纵骨以及其他纵向构件;
11、步骤s1.2:根据需要计算剪流的剖面位置选择目标肋位平面;
12、步骤s1.3:创建目标肋位平面和结构构件的交线,先提取骨材的腹板面,然后创建腹板面和肋位平面的交线,所有的交线存储在数组lste中;
13、步骤2)中,通过剖面中的线单元获取节点并将位置相同的节点做去重处理节点去重处理的具体步骤为:
14、步骤s2.1:从横剖面所有线对象中获取起始点存储在数组lstp中;
15、步骤s2.2:先从lstp中提取一个节点pi,依次计算与数组中后续节点pj的距离,如果距离等于0,则从数组中将pj移除;然后,从数组中提取下一个节点pi+1,经过同样的步骤,循环到数组最后一个节点时表示去重处理结束。
16、步骤3)中,运用骨材的定位点切分对应的plate线单元的具体步骤为:
17、步骤s3.1:从lste中提取一个线对象en,作为待切割的线对象,计算线对象的起始点ps和pe;
18、步骤s3.2:依次从lstp中提取点对象pn,计算pn和en的距离,如果距离等于0并且pn和ps、pe的距离均不等于0,则说明pn为线对象上所依附的骨材定位点;
19、步骤s3.3:将所有的骨材定位点存储在数组lstlp中,并且计算定位点和线对象起点ps之间的距离,然后,按照距离的远近对lstlp数组进行排序,排序后数组中的依次点为p12、p14、p16、p18、p20、p22、p24;
20、步骤s3.4:根据相邻的两个点切割线对象,保留两个点之间的部分,另外一部分作为下一次的待切割对象,第一次切割采用p11和p12两个点,获取的线对象为e20,剩下虚线的部分为待切割对象;第二次切割采用p12和p14两个点,获取的线对象为e21,剩下虚线的部分为待切割对象;依次类推,lstlp中的点循环完毕输入的plate线对象被切分为e20、e21、e22、e23、e24、e25、e26、e27;
21、步骤s3.5:通过以上步骤获取的新的线对象添加到数组lste中,并从lste中移除掉原有的被切割的线对象。
22、步骤4)中,运用节点表达线单元的具体步骤为:
23、步骤s4.1:从lste中提取一个线对象en,计算线对象的起始点ps和pe;
24、步骤s4.2:从lstp中依次提取节点,计算节点和ps的距离;
25、步骤s4.3:从lstp中依次提取节点,计算节点和pe的距离;
26、步骤s4.4:将线对象对应的节点信息进行记录,便于后续运用;
27、步骤s4.5:从lste中遍历下一个线对象,同样的方法查询对应的节点,直到数组的最后一个对象。
28、步骤s4.2中,如果距离等于0,则用该节点表达线单元的起点。
29、步骤s4.3中,如果距离等于0,则用该节点表达线单元的终点。
30、步骤s4.5中,如果某节点仅为一个线对象的端点,说明该线对象无法构成闭合单元,从lste中删除。
31、步骤5)中,通过向量法沿固定方向获取剖面中的闭合单元,将闭合单元用一系列的线单元来表达的具体步骤为:
32、步骤s5.1:从lste中提取一个线对象en,线对象的起始点分别为ps和pe,以pe作为搜索起点,ps作为搜索终点,线对象的向量v1为(ps,pe);
33、步骤s5.2:查找和pe距离等于0的线对象,如果没有距离等于0的线对象,则说明根据输入的线对象无法查询到闭合轮廓,循环至lste中下一个线对象,如果距离等于0说明pe为线对象的一个端点,然后获取线对象的另外一个端点pn,则该线对象的向量v2为(pe,pn),如果和pe距离等于0的线向量只有一个,则以pn为搜索起点重复此步骤;如果和pe距离等于0的线对象有多个,则用同样的方法获取线对象的向量v3、v4...。计算向量v1和v2、v3、v4...之间的夹角,取夹角最小值对应的线对象作为目标线对象;
34、步骤s5.3:在查询到目标线对象的情况下,判断线对象的端点pn是否即为搜索终点ps;如果pn即为ps则说明查询过程中的所有目标线对象组合成闭合轮廓;如果pn不为ps,则以pn作为搜索起点重复步骤s5.2和s5.3。
35、步骤5)中,向量法搜索闭合单元,搜索方向设定为顺时针。
36、本发明的有益效果是:
37、1)本发明提出了运用肋位平面和结构构件相交快速获取结构剖面线的方法。
38、2)本发明提出的递归切割方法可快速基于所依附的骨材定位点切割plate线对象。
39、3)本发明在搜索之前先将无法构成闭合单元的线对象删除,提高了闭合单元的搜索效率。
40、4)本发明提出的基于向量计算的顺时针搜索方法可快速准确地查询到剖面所有的闭合单元,为后续剪流计算提供了条件。