一种支持自定义容差的三维钢筋组聚类编号方法与流程

文档序号:34712986发布日期:2023-07-07 15:03阅读:35来源:国知局
一种支持自定义容差的三维钢筋组聚类编号方法与流程

本发明涉及钢筋组聚类,具体涉及一种支持自定义容差的三维钢筋组聚类编号方法。


背景技术:

1、随着三维建筑结构设计的发展,三维配筋技术逐渐成为配筋设计的主流。在三维配筋结束后,需要将属性相同、几何相近的三维钢筋组聚类并编号,从而减少钢筋表信息冗余,方便钢筋工程施工翻样和制安下料。

2、现有聚类方法通常以基于字符串编码的钢筋组钢筋组作为聚类单元,并对几何编码技术做了相应适配。然而,基于字符串编码的钢筋组聚类编号方法无法控制聚类容差,部分本应归为同一编号的钢筋组可能因几何上极小的差别而被赋予不同的编号,比如长度为1001mm和999mm的钢筋组即便属性相同、几何接近,仍会因字符串编码不一致而被赋予不同的编号。此外,后续钢筋报表需要统计同一编号钢筋组的详细信息,被编码为字符串的信息难以为统计过程做有效支撑。


技术实现思路

1、本发明的目的就是针对现有技术的缺陷,提供一种支持自定义容差的三维钢筋组聚类编号方法。

2、本发明提供一种支持自定义容差的三维钢筋组聚类编号方法,包括:

3、s100、遍历三维设计模型中的n个三维钢筋组,获取每个三维钢筋组的工程属性;

4、s200、获取每个三维钢筋组中特征钢筋线的特征几何信息,每个三维钢筋组的特征钢筋线为该三维钢筋组中长度最小的钢筋线;

5、s300、创建n个聚类簇,利用n个三维钢筋组的信息分别初始化n个聚类簇,每个聚类簇对应一个不同的三维钢筋组,将n个聚类簇存入聚类簇列表c中,其中,c=[c1,c2……cn],cn为第n个聚类簇;

6、s400、遍历聚类簇列表c,基于预先设定的阈值,通过比较聚类簇列表c中各个聚类簇的工程属性以及各个聚类簇的特征钢筋线的特征几何信息,对所有聚类簇进行聚类,并根据聚类结果对三维钢筋组编号。

7、相比于三维钢筋组字符串编码,该方法采用的三维钢筋组的聚类簇可控性更高,尤其在步骤s400中工程属性和特征几何信息对比过程中,可自定义阈值来控制三维钢筋组的聚类,即不同的阈值形成的聚类簇列表c以及三维钢筋组编号不同,使得三维钢筋组的聚类编号更加灵活。通过设置特征钢筋线,使得不同聚类簇在进行比较时,只需要进行特征钢筋线的比较,减少了比较的难度和所需的时间。

8、进一步地,所述步骤s100包括:

9、s110、三维钢筋组的工程属性包括钢筋直径、钢筋级别、钢筋段数、是否闭环和三维钢筋组类型;

10、三维钢筋组类型的判断方法包括:按三维钢筋组中钢筋线在配筋面上的排布顺序对钢筋线遍历,并统计钢筋线长度信息;

11、钢筋线长度信息包括:每根钢筋线的长度、所有钢筋线的平均长度、每个钢筋段长度、钢筋段组的平均长度、钢筋段组中当前钢筋段与上一钢筋段的长度差、钢筋段组中钢筋段长度差的平均值d*;其中,每根钢筋线包括至少一个钢筋段,钢筋段组包括三维钢筋组中所有钢筋线在同一位置的钢筋段,钢筋段组的数量等于每根钢筋线的钢筋段的数量;

12、s120、对于任一钢筋段组,判断是否存在某一个钢筋段与上一钢筋段的长度差d,使得|d - d*|>σ,若是,则设置该钢筋段组为杂变类型;若不是,则判断|d*| > σ是否为真,若是,则设置该钢筋段组为等差类型;若不是,则设置该钢筋段组为全等类型,其中,σ为预设的长度精度容差;

13、s130、遍历每个三维钢筋组的钢筋段组类型,判断当前三维钢筋组中是否存在杂变类型的钢筋段组,若是,则将该三维钢筋组设置为杂变类型,否则,判断当前三维钢筋组中是否存在等差类型的钢筋段组,若是,则将该三维钢筋组设置为杂变类型,否则,将该三维钢筋组设置为全等类型。

14、三维钢筋组的工程属性包括钢筋直径、钢筋级别、钢筋段数、是否闭环和三维钢筋组类型,只有工程属性相同的三维钢筋组才会将其作为一个族类簇;综合考虑三维钢筋组的特点,通过引入长度精度容差σ将三维钢筋组分为全等类型、等差类型、杂变类型,三维钢筋组类型根据钢筋段组的类型进行确定,长度精度容差σ能够抵消系统精度或操作精度误差带来的干扰,使得后续三维钢筋组的聚类结果准确。

15、进一步地,所述步骤s200包括:

16、s210、确定特征钢筋线的最终几何信息提取方位;

17、s220、根据最终几何信息提取方位遍历特征钢筋线的钢筋段,获取当前钢筋段的长度、形状类型以及与上一钢筋段在连接点处切线的夹角,存入对应钢筋段几何信息s中,将s存入几何信息列表s中;

18、其中,几何信息列表s表示特征钢筋线几何信息,s=[s1,s2……sk],sk表示最终几何信息提取方位所对应第k号钢筋段的几何信息,k等于特征钢筋线的钢筋段数;钢筋段的形状类型包括直线、弧、样条线。

19、每个三维钢筋组均设置有几何信息列表s,便于步骤s400中对多个聚类簇进行比较,几何信息列表s也能够为钢筋报表提供直接数据支撑。

20、进一步地,所述步骤s220中,获取当前钢筋段与上一钢筋段在连接点处切线的夹角包括:获取当前钢筋段和上一钢筋段在连接点处当前钢筋段的切线向量m和上一钢筋段的切线向量n,计算向量l=m×n,并以向量l指向屏幕外侧为基准计算逆时针夹角,该逆时针夹角作为当前钢筋段与上一钢筋段在连接点处切线的夹角。

21、对于三维空间中钢筋段数超过一的钢筋线,存在两种逆时针夹角的计算方式,为保证夹角计算结果的唯一性,取钢筋段连接点处的切线向量m和n,计算二者的叉乘l=m xn,并以l指向屏幕外侧为基准计算逆时针夹角。

22、进一步地,所述步骤s200包括步骤s230,步骤s230于步骤s220之后执行;

23、步骤s230包括:判断当前钢筋段的形状类型是否为弧,若是,则获取当前钢筋段的半径,判断当前钢筋段的形状类型是否为样条线,若是,则获取当前钢筋段的控制点数量以及相邻控制点的间距。

24、对于形状类型为弧的钢筋段,除了弧的长度以外还需要提取弧的半径,对于形状类型为样条曲线的钢筋段,除了样条曲线的长度外还需要提取样条曲线的控制点数量以及相邻控制点的间距,从而保证弧类型以及样条线类型的钢筋段的唯一性。

25、进一步地,所述步骤s210包括:

26、s211、获取特征钢筋线的候选几何信息提取方位,判断当前特征钢筋线的候选几何信息提取方位的数量是否大于1,若是,则执行步骤s212;候选几何信息提取方位为特征钢筋线可采取的所有几何信息提取方位,几何信息提取方位为特征钢筋线几何信息提取所依照的起始钢筋段和方向;

27、s212、对于每个几何信息提取方位按照钢筋段的提取顺序进行编号,计算每个几何信息提取方位对应的每个钢筋段的损失值loss;

28、s213、依次比较各个几何信息提取方位的相同序号钢筋段的损失值loss,剔除损失值loss非最小的几何信息提取方位;

29、s214、选取候选几何信息提取方位中的第一个作为特征钢筋线的最终几何信息提取方位。

30、钢筋线几何信息提取方位存在多种,利用钢筋段的损失值loss确定特征钢筋线的几何信息提取方位,使得后续对比各个聚类簇时,保证几何形状相近的特征钢筋线所对应的几何信息数据一致,提高聚类的准确性。

31、进一步地,钢筋段损失值loss的计算公式为loss= lseg + tseg + cseg - aseg。其中,lseg表示钢筋段长度;tseg表示钢筋段形状类型系数;cseg 表示钢筋段所在钢筋段组类型系数;aseg表示当前钢筋段与上一遍历钢筋段在连接点处切线方向的夹角大小,如果当前钢筋段为遍历的第一个钢筋段,则aseg=0°。

32、进一步地,所述步骤s300包括:

33、s310、为当前三维钢筋组创建聚类簇ci,将三维钢筋组的引用ri添加到ci的三维钢筋组引用列表lri中,即lri=[ri];提取当前三维钢筋组的工程属性以初始化当前三维钢筋组对应的聚类簇的工程属性;

34、s320、将当前三维钢筋组的特征钢筋线作为聚类簇ci的特征钢筋线;

35、s330、提取当前三维钢筋组的特征钢筋线的特征几何信息初始化聚类簇ci的特征几何信息;

36、s340、将当前三维钢筋组的钢筋段组信息初始化聚类簇ci的钢筋段组信息;

37、s350、将聚类簇ci存入聚类簇列表c中。

38、将三维钢筋组的所有信息均传递给对应的聚类簇,并将聚类簇存入聚类簇列表c中,使得不同聚类簇在进行比较时,只需要进行聚类簇列表c内元素的遍历,将符合条件的聚类簇进行合并。

39、进一步地,所述步骤s400包括:

40、s410、遍历聚类簇列表c中所有元素,对于遍历中的任意元素ci,执行步骤s420;

41、s420、遍历聚类簇列表c的子集ci=[ci+1,ci+2……cn],对于遍历中的任意元素cj,执行步骤s430,其中,i<j≤n;

42、s430、比较聚类簇ci和聚类簇cj的工程属性并判断是否满足第一条件,比较聚类簇ci和聚类簇cj的特征钢筋线的特征几何信息并判断是否满足第二条件;

43、s440、若第一条件和第二条件均不满足,则将聚类簇cj的三维钢筋组引用列表lrj并入聚类簇ci的三维钢筋组引用列表lri,更新聚类簇ci的工程属性、特征钢筋线以及特征钢筋线的特征几何信息;

44、s450、将聚类簇cj从聚类簇列表c中剔除;

45、s460、对于列表c中的三维钢筋组聚类簇ci,将ci中所有引用的三维钢筋组编号为i。

46、通过设置第一条件和第二条件对聚类簇列表c中的元素进行遍历,将不满足条件的进行聚类合并,并对合并后的聚类簇ci的信息进行更新,使得聚类簇ci继续与其他聚类簇比较时的结果更加精确。

47、进一步地,所述步骤s440包括:若lf(i)-lf(j)>range(i),则更新聚类簇ci内三维钢筋组长度差range(i)=lf(i)-lf(j);若lf(j)>lf(i),则更新聚类簇ci内三维钢筋组长度差range(i)=range(i)+lf(j)-lf(i);lf(i)为聚类簇ci的特征钢筋线的长度,lf(j)为聚类簇cj的特征钢筋线的长度,聚类簇的特征钢筋线为聚类簇内所有三维钢筋组的特征钢筋线长度最大的特征钢筋线;其中,range(i)为第i个聚类簇中长度最大的特征钢筋线与长度最小的特征钢筋线的差值;

48、若lmin(j)<lmin(i),则将聚类簇ci的特征钢筋线、几何信息列表si、特征钢筋长度lf(i)以及钢筋段组信息替换为聚类簇cj相应内容;其中,lmin(i)为聚类簇ci内长度最小的特征钢筋线的长度,lmin(j)为聚类簇cj内长度最小的特征钢筋线的长度。

49、通过比较聚类簇ci和聚类簇cj,得到合并后的聚类簇ci的信息,便于聚类簇ci与其他聚类簇的比较。

50、进一步地,所述步骤s430中,所述第一条件为:判断是否满足以下条件任意一个:

51、ci和cj的工程属性不完全相同;

52、lf(j) - lf(i) > ε - range(i) 或 lf(i)- lf(j) >ε为真;

53、ci和cj为非全等类型且非全等钢筋段组的序号和类型不完全相同;

54、ci和cj是等差类型且相应等差值di*和dj*满足不等式|di*-dj*|×lf(i) / di* > ε;

55、ci和cj为非全等类型且引用的三维钢筋组的钢筋线数量不同;

56、其中,ε为预先设定的长度阈值。

57、所述第二条件为:判断是否满足以下条件任意一个:

58、ci和cj中存在两个对应的钢筋段的形状类型不同;

59、ci和cj中存在两个对应的钢筋段与上一段钢筋的连接角度之差大于θ;

60、ci和cj中存在两个对应的钢筋段的长度差大于ε除以钢筋段数;

61、ci和cj中存在两个对应的钢筋段的形状类型均为弧且半径差大于ε/π;

62、ci和cj中存在两个对应的钢筋段的形状类型均为样条线且样条线控制点数量不同和/或间距不同;

63、其中,θ为预先设定的角度阈值。

64、针对聚类簇的工程属性以及特征钢筋线的特征几何信息两方面,通过设定角度阈值θ和长度阈值ε进行对比,针对不同的钢筋段形状类型采取不同和对比策略,对比结果准确度更高。

65、本发明的有益效果为:该方法以三维钢筋组为聚类编号对象,所采用的三维钢筋组聚类簇数据结构综合考虑了不同类型三维钢筋组的属性特点、聚类方式以及报表数据格式,在满足钢筋出图标注规范的同时能有效提升三维钢筋组聚类的准确度,并为钢筋报表过程提供直接信息支撑。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1