在Revit中切割复杂轮廓楼板的碰撞点排序算法的制作方法

文档序号:37347394发布日期:2024-03-18 18:23阅读:9来源:国知局
在Revit中切割复杂轮廓楼板的碰撞点排序算法的制作方法

本发明涉及建筑工程设计,具体涉及一种在revit中切割复杂轮廓楼板的碰撞点排序算法。


背景技术:

1、对楼板进行切割拆分,是土建bim工程师修改调整模型时经常使用到的操作,例如根据施工缝对楼板进行分区、预制楼板拆分、楼板边角调整等业务,都需要该功能。

2、目前revit api没有提供直接实现楼板拆分的接口,只能开发人员自己设计实现方法。虽然已经有很多成熟的多边形裁剪算法可供参考,但是这些算法都涉及双指针链表等复杂的数据结构,实现起来比较复杂。

3、目前市场上部分bim深化软件提供了切分楼板功能,但是只能切割比较规则的楼板,不能处理曲线、凹多边形等复杂边界的楼板。

4、公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。


技术实现思路

1、为解决上述现有技术中存在的不足之处,本发明实施例提供了一种在revit中切割复杂轮廓楼板的碰撞点排序算法,该算法不涉及复杂的数据结构,因此实现起来比较简单,可供二次开发工程师参考。

2、本发明实施例的第一方面提供了一种在revit中切割复杂轮廓楼板的碰撞点排序算法,其包括:

3、步骤一、获取待切割楼板的原轮廓线集合a;

4、步骤二、取集合a中未处理的一条轮廓线;

5、步骤三、判断该轮廓线是否和切割线相交,若是则计算轮廓线被切割后形成的曲线集合b,加入切割后轮廓曲线集合c;若否则直接加入切割后轮廓曲线集合c;

6、步骤四、判断集合a中的轮廓线是否已经全部被处理,若是则计算集合c中曲线和切割线的相对位置关系,放入左、右集合;若否则返回步骤二,继续处理剩余的轮廓线;

7、步骤五、将切割线形成的轮廓曲线加入左、右集合;

8、步骤六、整理曲线,使左、右集合里面的曲线首尾相连。

9、进一步的,当判断一条轮廓线是否和切割线相交时,若判断结果为有相交,则记录交点在该条轮廓线上对应的参数,按沿着该条轮廓线离开起点的距离进行排序,排序后的交点,加入该条轮廓线端点后依次组合,作为切割后轮廓曲线的端点,加入集合c。

10、进一步的,在集合a中的轮廓线已经全部被处理完成后,将集合c中的点两两依次组合,得到切割后轮廓曲线的端点,复制一份原曲线,对复制的曲线使用makebound方法,调整首尾到目标点,生成切割后轮廓曲线。

11、进一步的,计算集合c中曲线和切割线的相对位置关系的步骤包括:使用向量叉积判断曲线和切割线之间的位置关系。

12、进一步的,将切割线形成的轮廓曲线加入左、右集合的步骤包括:

13、记录切割线和所有轮廓线的交点;

14、将记录的交点和切割线的端点一起,按照和切割线起点的距离进行排序;

15、排序完成后,依次组合得到线段,接着利用线段中点是否在楼板上的条件,排除不是轮廓的线段。

16、进一步的,整理曲线,使左、右集合里面的曲线首尾相连的步骤包括:遍历所有曲线,依次找出所有的曲线首尾相连的环。

17、本发明实施例的第二方面提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如上任一所述的在revit中切割复杂轮廓楼板的碰撞点排序算法的步骤。

18、本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述的在revit中切割复杂轮廓楼板的碰撞点排序算法的步骤。

19、本发明实施例提供了一种新的楼板切割方法:碰撞点排序法。主要是通过几何计算生成新轮廓,能在revit以外的bim软件平台应用,适用范围广。

20、该种算法不涉及复杂的数据结构,因此使用难度有了很大的降低,可供二次开发人员借鉴。



技术特征:

1.一种在revit中切割复杂轮廓楼板的碰撞点排序算法,其特征在于,包括:

2.根据权利要求1所述的在revit中切割复杂轮廓楼板的碰撞点排序算法,其特征在于,当判断一条轮廓线是否和切割线相交时,若判断结果为有相交,则记录交点在该条轮廓线上对应的参数,按沿着该条轮廓线离开起点的距离进行排序,排序后的交点,加入该条轮廓线端点后依次组合,作为切割后轮廓曲线的端点,加入集合c。

3.根据权利要求2所述的在revit中切割复杂轮廓楼板的碰撞点排序算法,其特征在于,在集合a中的轮廓线已经全部被处理完成后,将集合c中的点两两依次组合,得到切割后轮廓曲线的端点,复制一份原曲线,对复制的曲线使用makebound方法,调整首尾到目标点,生成切割后轮廓曲线。

4.根据权利要求1所述的在revit中切割复杂轮廓楼板的碰撞点排序算法,其特征在于,计算集合c中曲线和切割线的相对位置关系的步骤包括:使用向量叉积判断曲线和切割线之间的位置关系。

5.根据权利要求1所述的在revit中切割复杂轮廓楼板的碰撞点排序算法,其特征在于,将切割线形成的轮廓曲线加入左、右集合的步骤包括:

6.根据权利要求1所述的在revit中切割复杂轮廓楼板的碰撞点排序算法,其特征在于,整理曲线,使左、右集合里面的曲线首尾相连的步骤包括:遍历所有曲线,依次找出所有的曲线首尾相连的环。

7.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的在revit中切割复杂轮廓楼板的碰撞点排序算法的步骤。

8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的在revit中切割复杂轮廓楼板的碰撞点排序算法的步骤。


技术总结
本发明公开了一种在Revit中切割复杂轮廓楼板的碰撞点排序算法,包括:步骤一、获取待切割楼板的原轮廓线集合a;步骤二、取集合a中未处理的一条轮廓线;步骤三、判断该轮廓线是否和切割线相交,若是则计算轮廓线被切割后形成的曲线集合b,加入切割后轮廓曲线集合c;若否则直接加入切割后轮廓曲线集合c;步骤四、判断集合a中的轮廓线是否已经全部被处理,若是则计算集合c中曲线和切割线的相对位置关系,放入左、右集合;若否则返回步骤二;步骤五、将切割线形成的轮廓曲线加入左、右集合;步骤六、整理曲线,使左、右集合里面的曲线首尾相连。该算法不涉及复杂的数据结构,因此实现起来比较简单,可供二次开发工程师参考。

技术研发人员:曾胤升,章琛,陈云浩,苏亚武,陈滨津,邵治国,李艳刚,何建春
受保护的技术使用者:中国建筑第八工程局有限公司
技术研发日:
技术公布日:2024/3/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1