[发明专利]一种3D建筑楼层分层的实现方法有效
申请号: | 202110572080.8 | 申请日: | 2021-05-25 |
公开(公告)号: | CN113486416B | 公开(公告)日: | 2023-09-05 |
发明(设计)人: | 许宗彦;金季岚;张泓 | 申请(专利权)人: | 厦门海迈科技股份有限公司 |
主分类号: | G06F30/13 | 分类号: | G06F30/13;G06T17/00 |
代理公司: | 北京科家知识产权代理事务所(普通合伙) 11427 | 代理人: | 宫建华 |
地址: | 361008 福建省厦门*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 建筑 楼层 分层 实现 方法 | ||
本发明公开了一种3D建筑楼层分层的实现方法,本发明技术方案通过解析I FC模型文件;根据解析后的I FC文件,抽离出对应的楼层信息和标高信息并存于数据库;通过WebGL技术的B I M模型轻量化展示3D建筑模型信息;根据楼层信息和标高信息,利用WebGL剖切方法对3D建筑模型信息按楼层进行剖切分层。通过剖切方法可以快速的对B I M模型进行按一个平面剖切,结合楼层的标高信息,可以实现对3D建筑模型的快速楼层切换。而采用剖切方式,结合楼层的标高来进行楼层分层,则可以大大的提高楼层分层效率及准确性,并降低建模成本,也可以更加美观地展示建筑的楼层分层。
技术领域
本发明涉及建筑业信息技术领域,具体地,涉及一种3D建筑楼层分层的实现方法。
背景技术
如今,3D大场景在Web浏览器中想要流畅加载,一个重要的技术难点,就是如何运用CPU加速和剔除算法,借用显卡的高性能,去处理复杂的大模型运算。
目前,国内主流的建筑模型分层思路采用的方式是在成千上万的模型构件上增加楼层的标志信息,通过该楼层标志信息来进行楼层的分层(如该构件属于二楼,就给该构件增加一个属性信息为floor:2F)。这对超大规模的模型来说是有很大性能瓶颈的,需用通过CPU计算来遍历所有的构件,才能实现对该楼层所有构件进行批量显示和隐藏。而且对于跨楼层的构件,显示出来的效果会非常奇怪,影响美观,如图1所示(多出了一些楼层归属错误的幕墙信息,影响美观)。同时,这对建模人员的要求也会非常高,大大提高建模人员的工作时间(需要对每个构件增加标志信息),从而增加了很多人力成本。有鉴于此,特提出本申请。
发明内容
本发明针对现有技术的不足而提出一种3D建筑楼层分层的实现方法,从而解决了现有建筑楼层分层方法存在的计算量大、耗时长、CPU占用较多响应速度慢,以及模型显示效果差的问题。
本发明提供了一种3D建筑楼层分层的实现方法,包括:
步骤1:解析IFC模型文件;
步骤2:根据解析后的IFC文件,抽离出对应的楼层信息和标高信息并存于数据库;
步骤3:通过WebGL技术的BIM模型轻量化展示3D建筑模型信息;
步骤4:根据楼层信息和标高信息,利用WebGL剖切方法对3D建筑模型信息按楼层进行剖切分层。
进一步地,作为一个可执行方案,在步骤2:根据解析后的IFC文件,抽离出对应的楼层信息和标高信息并存于数据库步骤之后,所述方法还包括:
对解析后的IFC文件进行格式转化,以便于WEB浏览读取。
进一步地,作为一个可执行方案,步骤4:根据楼层信息和标高信息,利用剖切方法对3D建筑模型信息按楼层进行剖切分层,具体包括:
接收楼层信息,根据所述楼层信息查询所述数据库获取与所述楼层信息匹配的标高信息;
根据所述标高信息,利用标高的起点和终点,利用WebGL技术和点面生成平行面算法生成两个垂直于y轴且平行于x轴的水平面;
利用WebGL剖切技术,保留两个平面内的建筑体,剩余建筑部分剔除出视椎体的可视区域。
进一步地,作为一个可执行方案,所述方法还包括:
针对不同业务系统需求,对剖切面进行部分距离偏移。
进一步地,作为一个可执行方案,利用WebGL剖切技术,保留两个平面内的建筑体,具体包括:
通过shader编程,在片元着色器中,判断片元位于剖切面的保留一侧还是剖切一侧,若位于剖切一面则把剖切一侧的片元通过discard方法抛弃掉,进而使得两平面外的片元不渲染到屏幕上。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门海迈科技股份有限公司,未经厦门海迈科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110572080.8/2.html,转载请声明来源钻瓜专利网。