CN113486416B - 一种3d建筑楼层分层的实现方法 - Google Patents
一种3d建筑楼层分层的实现方法 Download PDFInfo
- Publication number
- CN113486416B CN113486416B CN202110572080.8A CN202110572080A CN113486416B CN 113486416 B CN113486416 B CN 113486416B CN 202110572080 A CN202110572080 A CN 202110572080A CN 113486416 B CN113486416 B CN 113486416B
- Authority
- CN
- China
- Prior art keywords
- information
- building
- model
- floor
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Computational Mathematics (AREA)
- Civil Engineering (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Structural Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种3D建筑楼层分层的实现方法,本发明技术方案通过解析I FC模型文件;根据解析后的I FC文件,抽离出对应的楼层信息和标高信息并存于数据库;通过WebGL技术的B I M模型轻量化展示3D建筑模型信息;根据楼层信息和标高信息,利用WebGL剖切方法对3D建筑模型信息按楼层进行剖切分层。通过剖切方法可以快速的对B I M模型进行按一个平面剖切,结合楼层的标高信息,可以实现对3D建筑模型的快速楼层切换。而采用剖切方式,结合楼层的标高来进行楼层分层,则可以大大的提高楼层分层效率及准确性,并降低建模成本,也可以更加美观地展示建筑的楼层分层。
Description
技术领域
本发明涉及建筑业信息技术领域,具体地,涉及一种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方法抛弃掉,进而使得两平面外的片元不渲染到屏幕上。
进一步地,作为一个可执行方案,步骤1:解析IFC模型文件具体包括:
通过转化库将IFC模型文件转化成GLTF文件,再通过解析库,按照IFC模型文件的分组类型信息,把GLTF文件解析并分割成多个体量小的GLTF文件。
进一步地,作为一个可执行方案,步骤3:通过WebGL技术的BIM模型轻量化展示3D建筑模型信息,具体包括:
引用WebGL框架,实现GLTF文件加载器;
通过GLTF文件加载器,采用Promise.all异步分批次加载BIM模型已分类的体量小的GLTF文件;
在浏览器端通过开启GPU加速,渲染出对应的轻量化3D建筑模型。
通过采用上述技术方案,本发明可以取得以下技术效果:与现有技术相比,本发明技术方案通过解析IFC模型文件;根据解析后的IFC文件,抽离出对应的楼层信息和标高信息并存于数据库;通过WebGL技术的BIM模型轻量化展示3D建筑模型信息;根据楼层信息和标高信息,利用WebGL剖切方法对3D建筑模型信息按楼层进行剖切分层。通过剖切方法可以快速的对BIM模型进行按一个平面剖切,结合楼层的标高信息,可以实现对3D建筑模型的快速楼层切换。而采用剖切方式,结合楼层的标高来进行楼层分层,则可以大大的提高楼层分层效率及准确性,并降低建模成本,也可以更加美观地展示建筑的楼层分层。另外,该发明通过获取楼层的标高信息,生成两个平面,结合剖切技术,对3D建筑模型进行楼层分层,显著提高3D建筑大场景楼层切换的操作流畅性,且耗时短,满足系统业务上的需求,同时降低建模人员的建模成本。也就是说,通过BIM模型在Web的轻量化3D展示的基础上,实现用户在对BIM模型进行快速的楼层分层,而无需安装庞大的软件,从而实现3D建筑楼宇在Web端对楼层快速的切换展示。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1绘示了现有建筑楼层分层方法展示的楼层分层效果图;
图2绘示了本发明实施例一种3D建筑楼层分层的实现方法的楼层分层效果示意图;
图3绘示了本发明实施例一种3D建筑楼层分层的实现方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
首先需要说明,IFC(Industry Foundation Classes)标准是由国际协作联盟于1997年发布的针对建筑工程领域的产品模型标准,目的是为全球的建筑专业流程提升与数据共享建立一个普遍意义的基准,在建筑项目的整个生命周期中提升数据交换的效率和质量。
建筑信息模型(Building Information Modeling,BIM)是以建筑工程项目的各项相关信息数据作为基础,建立起三维的建筑模型,通过数字信息仿真模拟建筑物所具有的真实信息。它具有信息完备性、信息关联性、信息一致性、可视化、协调性、模拟性、优化性和可出图性八大特点。将建设单位、设计单位、施工单位、监理单位等项目参与方放在同一平台上,共享同一建筑信息模型。利于项目可视化、精细化建造。
如图3所示,本发明实施例提供了一种3D建筑楼层分层的实现方法,包括:
步骤1:解析IFC模型文件;
步骤2:根据解析后的IFC文件,抽离出对应的楼层信息和标高信息并存于数据库;
步骤3:通过WebGL技术的BIM模型轻量化展示3D建筑模型信息;
步骤4:根据楼层信息和标高信息,利用WebGL剖切方法对3D建筑模型信息按楼层进行剖切分层。
现有技术一般采用构件标志楼层技术来进行分层,即在每个构件都建立一个属性,来标志该构件归属的楼层,web端再根据这个标志,对构件进行批量的遍历显示和隐藏,这无疑是费力不讨好的,大大地消耗CPU的计算能力。本发明通过标高结合算法,巧妙运用剖切技术可以有效地解决这个问题,从而提高大模型在网页上的渲染速度。另外,该发明通过获取楼层的标高信息,生成两个平面,结合剖切技术,对3D建筑模型进行楼层分层,显著提高3D建筑大场景楼层切换的操作流畅性,且耗时短,满足系统业务上的需求,同时降低建模人员的建模成本。下表为采用相关技术后的性能对比图。通过此对比图,我们可以看到本发明主要解决了BIM大模型楼层分层快速响应的问题,从而达到web端楼层的快速分层功能。
表1-1
表1-2
本发明技术方案所解析渲染的效果图可如图2所示,与现有技术图1的效果图相比,本发明通过剖切方式对楼层分层,减少了楼层归属错误的幕墙信息,图示更为美观。
本发明所述的技术方案可用在建筑业领域的建筑物规划、设计、施工和运营4个阶段的BIM模型3D轻量化展示。该技术使BIM模型能快速的进行楼层分层,明确并定位每个楼层的具体空间信息及相关楼层的设备、机电、结构、建筑信息,为业务系统长远发展打下基础。
进一步地,在一个实例中,步骤1:解析IFC模型文件具体包括:
通过转化库将IFC模型文件转化成GLTF文件,再通过解析库,按照IFC模型文件的分组类型信息,把GLTF文件解析并分割成多个体量小的GLTF文件。
其中,IFC是一种标准的BIM格式和规范,采用EXPRESS语言定义,通过IFC标准中的几何实体可以完整描述BIM模型中构件的大小、形状以及空间位置。可通过Java/Python等编程语言或IFC解析库IFC-SDK对IFC模型文件进行解析。由于浏览器目前对GLTF格式比较友好,加载性能和效率也最高,所以,可以通过把IFC转化成GLTF,来进行轻量化解析。
具体地,第一步,通过转化库或转化软件,把IFC文件转化成DAE或OBJ文件。
第二步,通过转化库或转化软件,把DAE或OBJ文件转化成GLTF文件。
第三步,通过解析库IFC-SDK,按IFC的分组类型信息DefinesType,把IFC解析并分割成多个体量更小的GLTF文件,方便后续加载。
进一步地,在一个实例中,步骤3:通过WebGL技术的BIM模型轻量化展示3D建筑模型信息,具体包括:
第一步:引用WebGL框架,实现GLTF文件加载器;
第二步:通过GLTF文件加载器,采用Promise.all异步分批次加载BIM模型已分类的体量小的GLTF文件;
第三步:在浏览器端通过开启GPU加速,渲染出对应的轻量化3D建筑模型。
进一步地,在一个实例中,在步骤2:根据解析后的IFC文件,抽离出对应的楼层信息和标高信息并存于数据库步骤之后,所述方法还可包括:
对解析后的IFC文件进行格式转化,以便于WEB浏览读取。
进一步地,在一个实例中,步骤4:根据楼层信息和标高信息,利用剖切方法对3D建筑模型信息按楼层进行剖切分层,具体包括:
接收楼层信息,根据所述楼层信息查询所述数据库获取与所述楼层信息匹配的标高信息;
根据所述标高信息,利用标高的起点和终点,利用WebGL技术和点面生成平行面算法生成两个垂直于y轴且平行于x轴的水平面;
利用WebGL剖切技术,保留两个平面内的建筑体,剩余建筑部分剔除出视椎体的可视区域。
进一步地,在一个实例中,所述方法还可包括:
针对不同业务系统需求,对剖切面进行部分距离偏移。
例如,某BIM建筑漫游系统,为了更直观、更方便地看清办公区域的桌位布置情况,并不需要观看房间吊板的装饰,可通过此距离向下偏移把吊板装饰部分给剖切掉。
例如,某BIM别墅模型展示系统,为了保留一些特殊的建筑结构,比如屋顶的造型,可对剖切面进行部分向上距离偏移,保留它的原貌。
由此可见,本发明技术适应性更高,操作流程更为简便流畅。
进一步地,在一个实例中,步骤4中利用WebGL剖切技术,保留两个平面内的建筑体,具体包括:
通过shader编程,在片元着色器中,判断片元位于剖切面的保留一侧还是剖切一侧,若位于剖切一面则把剖切一侧的片元通过discard方法抛弃掉,进而使得两平面外的片元不渲染到屏幕上。
通过剖切方法可以快速的对BIM模型进行按一个平面剖切,结合楼层的标高信息,可以实现对3D建筑模型的快速楼层切换。而采用剖切方式,结合楼层的标高来进行楼层分层,则可以大大的提高楼层分层效率及准确性,并降低建模成本,也可以更加美观地展示建筑的楼层分层。也就是说,通过BIM模型在Web的轻量化3D展示的基础上,实现用户在对BIM模型进行快速的楼层分层,而无需安装庞大的软件,从而实现3D建筑楼宇在Web端对楼层快速的切换展示。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (6)
1.一种3D建筑楼层分层的实现方法,其特征在于,包括:
步骤1:解析IFC模型文件;
步骤2:根据解析后的IFC文件,抽离出对应的楼层信息和标高信息并存于数据库;
步骤3:通过WebGL技术的BIM模型轻量化展示3D建筑模型信息;
步骤4:根据楼层信息和标高信息,利用WebGL剖切方法对3D建筑模型信息按楼层进行剖切分层,具体包括:
接收楼层信息,根据所述楼层信息查询所述数据库获取与所述楼层信息匹配的标高信息;
根据所述标高信息,利用标高的起点和终点,利用WebGL技术和点面生成平行面算法生成两个垂直于y轴且平行于x轴的水平面;
利用WebGL剖切技术,保留两个平面内的建筑体,剩余建筑部分剔除出视椎体的可视区域。
2.根据权利要求1所述的实现方法,其特征在于,在步骤2:根据解析后的IFC文件,抽离出对应的楼层信息和标高信息并存于数据库步骤之后,所述方法还包括:
对解析后的IFC文件进行格式转化,以便于WEB浏览读取。
3.根据权利要求1所述的实现方法,其特征在于,所述方法还包括:
针对不同业务系统需求,对剖切面进行部分距离偏移。
4.根据权利要求1所述的实现方法,其特征在于,利用WebGL剖切技术,保留两个平面内的建筑体,具体包括:
通过shader编程,在片元着色器中,判断片元位于剖切面的保留一侧还是剖切一侧,若位于剖切一面则把剖切一侧的片元通过discard方法抛弃掉,进而使得两平面外的片元不渲染到屏幕上。
5.根据权利要求1所述的实现方法,其特征在于,步骤1:解析IFC模型文件具体包括:
通过转化库将IFC模型文件转化成GLTF文件,再通过解析库,按照IFC模型文件的分组类型信息,把GLTF文件解析并分割成多个体量小的GLTF文件。
6.根据权利要求1所述的实现方法,其特征在于,步骤3:通过WebGL技术的BIM模型轻量化展示3D建筑模型信息,具体包括:
引用WebGL框架,实现GLTF文件加载器;
通过GLTF文件加载器,采用Promise.all异步分批次加载BIM模型已分类的体量小的GLTF文件;
在浏览器端通过开启GPU加速,渲染出对应的轻量化3D建筑模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110572080.8A CN113486416B (zh) | 2021-05-25 | 2021-05-25 | 一种3d建筑楼层分层的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110572080.8A CN113486416B (zh) | 2021-05-25 | 2021-05-25 | 一种3d建筑楼层分层的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113486416A CN113486416A (zh) | 2021-10-08 |
CN113486416B true CN113486416B (zh) | 2023-09-05 |
Family
ID=77933074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110572080.8A Active CN113486416B (zh) | 2021-05-25 | 2021-05-25 | 一种3d建筑楼层分层的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113486416B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116934964A (zh) * | 2023-07-07 | 2023-10-24 | 广州粤建三和软件股份有限公司 | 一种ifc格式数据的轻量化转换方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021821A (zh) * | 2016-07-01 | 2016-10-12 | 江苏国泰新点软件有限公司 | 标识楼层的方法和装置 |
CN109145366A (zh) * | 2018-07-10 | 2019-01-04 | 湖北工业大学 | 基于Web3D的建筑信息模型轻量级可视化方法 |
CN110489692A (zh) * | 2019-07-19 | 2019-11-22 | 厦门海迈科技股份有限公司 | 一种基于WebGL实例化技术构件级操作的实现方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10190791B2 (en) * | 2016-04-27 | 2019-01-29 | Crestron Electronics, Inc. | Three-dimensional building management system visualization |
-
2021
- 2021-05-25 CN CN202110572080.8A patent/CN113486416B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021821A (zh) * | 2016-07-01 | 2016-10-12 | 江苏国泰新点软件有限公司 | 标识楼层的方法和装置 |
CN109145366A (zh) * | 2018-07-10 | 2019-01-04 | 湖北工业大学 | 基于Web3D的建筑信息模型轻量级可视化方法 |
CN110489692A (zh) * | 2019-07-19 | 2019-11-22 | 厦门海迈科技股份有限公司 | 一种基于WebGL实例化技术构件级操作的实现方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于Cesium 查看复杂三维建筑内部模型;吴开兴等;《电脑知识与技术》;第15卷(第32期);208-211 * |
Also Published As
Publication number | Publication date |
---|---|
CN113486416A (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107045526B (zh) | 一种电子建筑施工图的图形识别方法 | |
CN111008422B (zh) | 一种建筑物实景地图制作方法及系统 | |
CN108710739A (zh) | 一种建筑信息模型轻量化和三维场景可视化的方法及系统 | |
CN114283231A (zh) | 基于lod的bim模型轻量化构建与显示方法 | |
CN106383965A (zh) | 一种三维数值大气可视化支撑系统 | |
CN108597032B (zh) | 将建筑信息模型导入Unity3D中显示方法及系统 | |
CN102663800A (zh) | 一种顾及城市意象的城市建筑综合与渲染的方法 | |
CN105701103A (zh) | 一种基于地理信息的三维应用系统 | |
CN113255051B (zh) | 大体量bim模型轻量化的方法及装置 | |
CN111125585A (zh) | 一种面向Web端三维模型的可视化方法及系统 | |
CN110503718B (zh) | 三维工程模型轻量化显示方法 | |
CN110070616A (zh) | 存储器、基于gis平台的统计数据呈现方法、装置和设备 | |
CN113538706B (zh) | 基于数字沙盘的房景展示方法、装置、设备及存储介质 | |
Blut et al. | CityGML goes mobile: application of large 3D CityGML models on smartphones | |
CN109522381A (zh) | 基于3dgis+bim的建筑物隐蔽设施安全检测方法 | |
CN111737844A (zh) | 一种基于Web3D的编辑三维建筑模型系统及工作流程 | |
Guerrero et al. | 3D visualisation of underground pipelines: best strategy for 3D scene creation | |
CN113486416B (zh) | 一种3d建筑楼层分层的实现方法 | |
CN116340260A (zh) | 建筑模型数据渲染方法、装置、电子设备及可读存储介质 | |
CN114254238A (zh) | 一种基于数字孪生的三维Web建模平台 | |
Zhang et al. | A geometry and texture coupled flexible generalization of urban building models | |
Moloo et al. | A 3D virtual tour of the university of mauritius using WebGL | |
CN112001018A (zh) | 一种基于云渲染的高效虚拟仿真实验平台测试方法 | |
CN115859431A (zh) | 三维建筑模型与二维图纸的联动方法、装置和设备 | |
CN108597025A (zh) | 基于人工智能面向虚拟现实的快速模型构建方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |