一种BIM数据图形引擎制造技术

技术编号:26170869 阅读:36 留言:0更新日期:2020-10-31 13:40
本发明专利技术涉及图形引擎技术领域,具体公开了一种BIM数据图形引擎,该图形引擎的具体操作为以下步骤:S1、ifc文件信息解析;S2、结构属性信息存储;S3、ifc图形转换;S4、图形数据存储;S5、构件信息更新;S6、接口开发;S7、渲染交互。本设计转化处理的BIM,不仅可实现无插件的浏览器展示浏览,几何数据经过对点和面的优化,最大程度实现了模型轻量化,而且对数据的充分解析,可以实现应用的按需加载,同时,构件的属性是单独数据库存储可以轻松实现更新和维护,不仅完善了国产BIM轻量化技术,而且使得BIM在建筑全生命周期中应用提供了基础。

【技术实现步骤摘要】
一种BIM数据图形引擎
本专利技术涉及图形引擎
,具体是一种BIM数据图形引擎。
技术介绍
近年来,工程建设行业在不断朝着信息化、数字化的方向进行着转型升级。BIM做为近年来建筑行业炙手可热的信息化技术,被越来越多的人熟知,但BIM软件几乎全都来源于国外,由此衍生出的轻量化BIM图形引擎都需要在国外的服务器上进行转化,这给信息安全带来了巨大的风险。常规国内外与BIM相关的引擎,重在模型的展示,其技术是通过对模型文件中三维几何数据进行提取,并保存为用于传输的文件,进而实现可视化,但这对BIM中数据的使用和检索带来了极大的不便,更是无法对BIM信息进行更新和维护。本专利技术侧重点在于对BIM文件的数据提取,并将几何数据及非几何数据进行数据库化存储,是对常规引擎技术的功能突破。
技术实现思路
本专利技术的目的在于提供一种BIM数据图形引擎,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供如下技术方案:一种BIM数据图形引擎,该图形引擎的具体操作为以下步骤:S1、ifc文件信息解析:利用apstexIFCFramework将BIM软件导出的IFC文件进行解析,主要获取IFC文件中的结构及构件的类型、属性信息;S2、结构属性信息存储:将解析后的数据按结构、构件、属性进行分表存储到MySQL数据库中;S3、ifc图形转换:利用IFCOpenShell中的IFCConvert将IFC转化为DAE(Collada)文件,转化完成后,在NodeJS服务端利用ThreeJS中的ColladaLoader.js转化DAE文件,在转化过程中再使用SimplifyModifier.js将部分几何进行减面、减顶点优化处理;S4、图形数据存储:通过scene.toJSON方法获取图形数据,初步获取到的数据存在冗余,因此将几何数据重构,并将上述几何对象存储至Mongo数据库中;S5、构件信息更新:将IFC文件中解析出的构件属性信息转成JSON对象,并更新至Mesh对象的userData属性中;S6、接口开发:围绕着常规应用,后端采用JAVA语言进行接口开发;S7、渲染交互:前端通过接口获取图形数据,然后利用ThreeJS库的ObjectLoader.js进行加载并渲染到浏览器中,并在前端实现例如测量、剖切、漫游、视图切换等常规功能。作为本专利技术进一步的方案:所述S2中分出的结构表中信息由:Project、Site、Building、BuildingStorey形成四层信息关联结构,由BuildingStorey与构件表中的构件信息相关联,每个构件的若干属性信息由属性表采用name-value的形式进行存储。作为本专利技术再进一步的方案:所述S4中几何对象包括:type、name、guid、material_uuid、geometry、matrix、data等信息,材质数据暂时不做处理,正常存储至Mongo数据库中。作为本专利技术再进一步的方案:所述S6中后端采用JAVA语言进行接口开发主要提供:文件信息获取接口、图形Mesh获取接口、ifc结构获取接口等以用于前端调用。与现有技术相比,本专利技术的有益效果是:本专利技术设计的一种BIM数据图形引擎,在实际操作时,本设计转化处理的BIM,不仅可实现无插件的浏览器展示浏览,几何数据经过对点和面的优化,最大程度实现了模型轻量化,而且对数据的充分解析,可以实现应用的按需加载,同时,构件的属性是单独数据库存储可以轻松实现更新和维护,不仅完善了国产BIM轻量化技术,而且使得BIM在建筑全生命周期中应用提供了基础。附图说明图1为一种BIM数据图形引擎的实施流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1本专利技术实施例中,一种BIM数据图形引擎,该图形引擎的具体操作为以下步骤:ifc文件信息解析:利用apstexIFCFramework将BIM软件导出的IFC文件进行解析,主要获取IFC文件中的结构及构件的类型、属性信息;apstexIFCFramework是亚太国际金融公司框架提供用于访问和可视化基于IFC的建筑信息模型(BIM)的工具;1、获取的IFC文件中的IFC架构分为四个层:领域层、共享层、核心层、资源层;领域层是指定义特定专业领域所需的实体对象,如电气领域的电缆、电气设备等;共享层是指提供了通用性的对象,包括建筑服务元素、组件元素、建筑元素、管理元素、设备元素等,用于领域层多个领域共享;核心层是指具体化的定义了模型的基本结构,基础关系和共用概念;资源层是指定义了可重复利用的实体与类型,包括几何资源、属性资源、材料资源等。该层的实体不能独立存在,只能通过被其他层引用的方式出现;IFC架构将所有的对象与类按概念进行分类:类型、实体、函数、规则、属性集及量集;2、类型包括:定义类型、枚举类型、选择类型;实体:有属性与约束定义的信息类,模型由大量实体对象组成;函数:用于计算实体的属性,规则用于约束实体属性的范围及验证模型的正确性;属性集:一组属性的集合,可被不同的对象所引用,属性表达了对象的说明信息,属性集通过关系实体IfcRelDefinesByProperties将属性关联到具体的构件。量集:对定量信息的集合,可被不同的对象引用,IfcElementQuantity是量集的描述实体,表示构件定量属性的集合,通过关系实体IfcRelDefinesByProperties将量集关联到具体的构件;3、IFC文件中,任何一个实体都是通过属性来描述自身信息,属性分为:直接属性、反属性,导出属性;直接属性:指标量或直接信息,如GlobalId、Name等;导出属性:由其他实体表述的属性,如OwnerHistory、ObjectPlacement、Representation;反属性:通过关联实体进行链接的属性。如HasAssociations通过关联实体IfcRelAssociates可以关联构件的材料信息;结构属性信息存储:将解析后的数据按结构、构件、属性进行分表存储到MySQL数据库中,且分出的结构表中信息由:Project、Site、Building、BuildingStorey形成四层信息关联结构,由BuildingStorey与构件表中的构件信息相关联,每个构件的若干属性信息由属性表采用name-value的形式进行存储;ifc图形转换:利用IFCOpenShell中的IFCConvert将IFC转化为DAE(Collada)文件,转化完成后,在NodeJS服务端利本文档来自技高网...

【技术保护点】
1.一种BIM数据图形引擎,其特征在于,该图形引擎的具体操作为以下步骤:/nS1、ifc文件信息解析:利用 apstex IFC Framework 将BIM软件导出的IFC文件进行解析,主要获取IFC文件中的结构及构件的类型、属性信息;/nS2、结构属性信息存储:将解析后的数据按结构、构件、属性进行分表存储到MySQL数据库中;/nS3、ifc图形转换:利用 IFCOpenShell 中的 IFCConvert 将IFC转化为DAE(Collada)文件,转化完成后,在NodeJS服务端利用ThreeJS中的ColladaLoader.js 转化DAE文件,在转化过程中再使用 SimplifyModifier.js 将部分几何进行减面、减顶点优化处理;/nS4、图形数据存储:通过scene.toJSON方法获取图形数据,初步获取到的数据存在冗余,因此将几何数据重构,并将上述几何对象存储至Mongo数据库中;/nS5、构件信息更新:将IFC文件中解析出的构件属性信息转成JSON对象,并更新至Mesh对象的userData属性中;/nS6、接口开发:围绕着常规应用,后端采用JAVA语言进行接口开发;/nS7、渲染交互:前端通过接口获取图形数据,然后利用ThreeJS库的ObjectLoader.js进行加载并渲染到浏览器中,并在前端实现例如测量、剖切、漫游、视图切换等常规功能。/n...

【技术特征摘要】
1.一种BIM数据图形引擎,其特征在于,该图形引擎的具体操作为以下步骤:
S1、ifc文件信息解析:利用apstexIFCFramework将BIM软件导出的IFC文件进行解析,主要获取IFC文件中的结构及构件的类型、属性信息;
S2、结构属性信息存储:将解析后的数据按结构、构件、属性进行分表存储到MySQL数据库中;
S3、ifc图形转换:利用IFCOpenShell中的IFCConvert将IFC转化为DAE(Collada)文件,转化完成后,在NodeJS服务端利用ThreeJS中的ColladaLoader.js转化DAE文件,在转化过程中再使用SimplifyModifier.js将部分几何进行减面、减顶点优化处理;
S4、图形数据存储:通过scene.toJSON方法获取图形数据,初步获取到的数据存在冗余,因此将几何数据重构,并将上述几何对象存储至Mongo数据库中;
S5、构件信息更新:将IFC文件中解析出的构件属性信息转成JSON对象,并更新至Mesh对象的userData属性中;
S6、接口开发:围绕着常规应用,后端采用JAVA语言进行接口...

【专利技术属性】
技术研发人员:段林刘鹏飞苗猛
申请(专利权)人:山东同圆数字科技有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1