CN114880742A - 一种面向webgl引擎的Revit模型轻量化方法 - Google Patents
一种面向webgl引擎的Revit模型轻量化方法 Download PDFInfo
- Publication number
- CN114880742A CN114880742A CN202210449719.8A CN202210449719A CN114880742A CN 114880742 A CN114880742 A CN 114880742A CN 202210449719 A CN202210449719 A CN 202210449719A CN 114880742 A CN114880742 A CN 114880742A
- Authority
- CN
- China
- Prior art keywords
- information
- model
- geometric information
- file
- geometric
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 239000011159 matrix material Substances 0.000 claims description 52
- 230000009466 transformation Effects 0.000 claims description 37
- 239000000463 material Substances 0.000 claims description 18
- 101100456739 Drosophila melanogaster Mesh1 gene Proteins 0.000 claims description 15
- 101150020754 Hddc3 gene Proteins 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 238000004590 computer program Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000010276 construction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 239000013585 weight reducing agent Substances 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
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
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/20—Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
Abstract
本发明涉及建筑信息模型技术领域,具体涉及一种面向webgl引擎的Revit模型轻量化方法。该方法包括调用Revit Api提供的动态链接库,读取所述模型文件中的模型信息,分离出BIM信息与几何信息;解析BIM模型,将所述BIM信息以json格式保存,所述几何信息存入bin文件。本发明通过对构件几何信息的重用,大幅减小需要存储的数据,进而在网络传输中传递更小的数据,方便Web更快的加载。Web端使用Webgl提供的实例化技术,可以大幅降低浏览器的内存和drawCall,提升帧数。
Description
技术领域
本发明涉及建筑信息模型技术领域,尤其涉及一种面向webgl引擎的Revit模型轻量化方法。
背景技术
BIM(Building Information Modeling)技术由Autodesk公司在2002年率先提出,目前已经在全球范围内得到业界的广泛认可。BIM技术以建筑物为对象,通过信息模型的建立,对其三维空间构造、内部结构以及管理属性等数据信息进行微观层次的表达。它可以辅助实现建筑信息的集成,贯穿建筑的设计、施工、运行直至建筑全寿命周期的终结。它将各种信息始终整合于一个三维模型信息数据库中,设计团队、施工单位、设施运营部门和业主等各方人员可以基于BIM进行协同工作,有效提高工作效率,节省资源,降低成本,实现可持续发展。
建设项目在协同开发的过程中,由于BIM模型通常细节层次丰富,构件众多,加载速度慢,渲染帧数低,对个人电脑由较高的硬件需求,不能随时随地的查看,在实际的信息化可视化管理中,多有不便。
发明内容
为了克服现有技术的缺点,本发明提供了一种面向webgl引擎的Revit模型轻量化方法,通过对RevitAPI的调用,轻量化模型数据,并对结果压缩,在Web端使用Webgl还原轻量化后的数据,可以打破电脑硬件的束缚,在电脑、平板、手机上浏览,极大的提升BIM模型的信息化,可视化管理效率。
为实现上述目的,本发明实施例提供了如下的技术方案:
第一方面,在本发明提供的一个实施例中,提供了一种面向webgl引擎的Revit模型轻量化方法,该方法包括以下步骤:
步骤一、读取模型文件;
调用Revit Api提供的动态链接库,读取所述模型文件中的模型信息,分离出BIM信息与几何信息;
步骤二、循环构件集合,解析数据;
解析BIM模型,将所述BIM信息以json格式保存,所述几何信息存入bin文件。
作为本发明的进一步方案,调用的Revit Api用于访问所述模型文件的项目信息、构件属性以及构件几何信息。
作为本发明的进一步方案,分离出几何信息时,还包括:
判断构件是否包含族实例;
若包含,则从缓存中读取已存在实例的几何标记并关联;
若不包含,导出几何并检测是否重用;
若重用,则替换重用的几何信息;
若不重用,则不对几何信息处理。
作为本发明的进一步方案,所述解析BIM模型时,BIM信息包括构件的基本属性,基本属性按照key、value的形式合并成一个属性对象,并按照构件ID作为key,将构件属性对象的形式作为value,存入属性json文件。
作为本发明的进一步方案,所述解析BIM模型,包括以下步骤:
读取分离出的所述BIM信息,将构件ID作为key,将构件属性对象的形式作为value,存入属性json文件;
导出所述构件的几何信息,并将导出的所述构件的几何引用与当前变换矩阵存入构件的形状列表,并标记;
对标记的几何信息检测能否重用,若存在重用的几何信息,则替换引用与矩阵;
循环结束,将几何信息以字节流形式写入bin文件,构件与几何的关系写入json文件。
作为本发明的进一步方案,导出所述构件的几何信息,包括以下步骤:
检测构件下属的实例,根据实例ID从已导出几何信息列表里查询是否已存在;
若已存在导出的几何信息,则将几何引用与当前变换矩阵存入构件的形状列表;
若不存在导出的几何信息,则导出几何信息,并将几何引用与当前变换矩阵存入构件的形状列表,并标记。
作为本发明的进一步方案,若不存在导出的几何信息,则导出几何信息,还包括:
将相同材质的几何合并成一个三角面片集合Mesh,并对每一个三角面片集合Mesh,检测能否重用,其中,材质信息存入材质列表;
若不能重用,则将所述三角面片集合Mesh存入Mesh列表,并且,构件的形状列表中也存入对应的三角面片集合Mesh引用和当前的矩阵;
若能重用,则将当前的变换矩阵与返回的变换矩阵相乘,将最终结果矩阵与三角面片集合Mesh引用存入构件的形状列表。
作为本发明的进一步方案,检测能否重用时,检测重用的方法,包括以下步骤:
步骤1)对任意的三角面片集合Mesh1、三角面片集合Mesh2,判断顶点数是否相等,否则返回步骤1),是则进入步骤2);
步骤2)从三角面片集合Mesh1中,任意取三点,对应从三角面片集合Mesh2中取三点,求出变换矩阵;
步骤3)从三角面片集合Mesh1中在任取一点,经变换矩阵变换,判断结果是否与三角面片集合Mesh2中的对应点相等,若是,则判断为重用并返回变换矩阵。
作为本发明的进一步方案,步骤3)中,循环结束,将几何信息以字节流形式写入bin文件,构件与几何的关系写入json文件,再分别用Gzip压缩算法压缩结果,以通过Web端展示。
作为本发明的进一步方案,所述面向webgl引擎的Revit模型轻量化方法,还包括:Web端读取保存的关系文件,并加载对应的数据几何文件,利用Webgl引擎还原几何信息。
作为本发明的进一步方案,所述Web端读取保存的关系文件,为循环结束,几何信息以字节流形式写入bin文件以及构件与几何的关系写入的json文件。
第二方面,在本发明提供的又一个实施例中,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器加载并执行所述计算机程序时实现面向webgl引擎的Revit模型轻量化方法的步骤。
第三方面,在本发明提供的再一个实施例中,提供了一种存储介质,存储有计算机程序,所述计算机程序被处理器加载并执行时实现所述面向webgl引擎的Revit模型轻量化方法的步骤。
本发明提供的技术方案,具有如下有益效果:
本发明提供的面向webgl引擎的Revit模型轻量化方法,通过对构件几何信息的重用,大幅减小需要存储的数据,进而在网络传输中传递更小的数据,方便Web更快的加载。Web端使用Webgl提供的实例化技术,可以大幅降低浏览器的内存和drawCall,提升帧数。
本发明通过对RevitAPI的调用,轻量化模型数据,并对结果压缩,在Web端使用Webgl还原轻量化后的数据,可以打破电脑硬件的束缚,在电脑、平板、手机上浏览,极大的提升BIM模型的信息化,可视化管理效率。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。在附图中:
图1为本发明一个实施例的一种面向webgl引擎的Revit模型轻量化方法的流程图。
图2为本发明一个实施例的一种面向webgl引擎的Revit模型轻量化方法中解析BIM模型的流程图。
图3为本发明一个实施例的一种面向webgl引擎的Revit模型轻量化方法中导出构件的几何信息的流程图。
图4为本发明一个实施例的一种面向webgl引擎的Revit模型轻量化方法的程序执行流程图。
图5为本发明另一个实施例的一种面向webgl引擎的Revit模型轻量化方法中web端还原流程图。
图6为本发明另一个实施例的一种面向webgl引擎的Revit模型轻量化方法中数据结构图。
图7是本申请的实施例提供的一种计算机设备的示意框图。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
下面将结合本发明示例性实施例中的附图,对本发明示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于BIM模型通常细节层次丰富,构件众多,加载速度慢,渲染帧数低,对个人电脑由较高的硬件需求,不能随时随地的查看,在实际的信息化可视化管理中,多有不便。
针对上述问题,本发明提供的一种面向webgl引擎的Revit模型轻量化方法,通过对RevitAPI的调用,轻量化模型数据,并对结果压缩,在Web端使用Webgl还原轻量化后的数据,可以打破电脑硬件的束缚,在电脑、平板、手机上浏览,极大的提升BIM模型的信息化,可视化管理效率。
具体地,下面结合附图,对本申请实施例作进一步阐述。
请参阅图1,图1是本申请实施例提供的一种面向webgl引擎的Revit模型轻量化方法的流程图,如图1和图4所示,该面向webgl引擎的Revit模型轻量化方法包括步骤S10至步骤S30。
S10、读取模型文件;
调用Revit Api提供的动态链接库,读取所述模型文件中的模型信息,分离出BIM信息与几何信息。
其中,分离出几何信息时,包括:
判断构件是否包含族实例;
若包含,则从缓存中读取已存在实例的几何标记并关联;
若不包含,导出几何并检测是否重用;
若重用,则替换重用的几何信息;
若不重用,则不对几何信息处理。
最终将BIM信息以json格式保存,几何信息存入bin文件。这样,特别是在机电等构件重用度很高的模型里,极大提升轻量化后的效果。
在本申请的实施例中,通过调用的Revit Api提供的引用库,读取模型文件中的模型信息;其中,Revit API是Autodesk公司为Revit软件提供的应用程序开发接口,通过Revit API可以访问所述模型文件的项目信息、构件属性以及构件几何信息。
S20、循环构件集合,解析数据;
解析BIM模型,将所述BIM信息以json格式保存,所述几何信息存入bin文件。
在本申请的实施例中,所述解析BIM模型时,BIM信息包括构件的基本属性,如体积、分类、构造等。基本属性按照key、value的形式合并成一个属性对象,并按照构件ID作为key,将构件属性对象的形式作为value,存入属性json文件。
在本申请的实施例中,参见图2所示,所述解析BIM模型,包括以下步骤S201-步骤S204:
步骤S201、读取分离出的所述BIM信息,将构件ID作为key,将构件属性对象的形式作为value,存入属性json文件;
步骤S202、导出所述构件的几何信息,并将导出的所述构件的几何引用与当前变换矩阵存入构件的形状列表,并标记;其中,几何信息包括顶点、法线、uv及索引;
步骤S203、对标记的几何信息检测能否重用,若存在重用的几何信息,则替换引用与矩阵;
步骤S204、循环结束,将几何信息以字节流形式写入bin文件,构件与几何的关系写入json文件。
本申请的实施例的步骤S202中,参见图3所示,导出所述构件的几何信息,包括以下步骤S2021-步骤S2023:
步骤S2021、检测构件下属的实例,根据实例ID从已导出几何信息列表里查询是否已存在;
步骤S2022、若已存在导出的几何信息,则将几何引用与当前变换矩阵存入构件的形状列表;
步骤S2023、若不存在导出的几何信息,则导出几何信息,并将几何引用与当前变换矩阵存入构件的形状列表,并标记。
本申请的实施例中,参见图6所示,图6是本申请实施例提供的一种面向webgl引擎的Revit模型轻量化方法中数据结构图。若不存在导出的几何信息,则导出几何信息,还包括:
将相同材质的几何合并成一个三角面片集合Mesh,并对每一个三角面片集合Mesh,检测能否重用,其中,由于BIM模型中通常同样的形状共享同一材质,因此,将材质信息存入材质列表;
若不能重用,则将所述三角面片集合Mesh存入Mesh列表,并且,构件的形状列表中也存入对应的三角面片集合Mesh引用和当前的矩阵;
若能重用,则将当前的变换矩阵与返回的变换矩阵相乘,将最终结果矩阵与三角面片集合Mesh引用存入构件的形状列表。
本申请的实施例中,检测能否重用时,检测重用的方法,包括以下步骤:
步骤1)对任意的三角面片集合Mesh1、三角面片集合Mesh2,判断顶点数是否相等,否则返回步骤1),是则进入步骤2);
步骤2)从三角面片集合Mesh1中,任意取三点,对应从三角面片集合Mesh2中取三点,求出变换矩阵;
步骤3)从三角面片集合Mesh1中在任取非步骤2)中的一点,经变换矩阵变换,判断结果是否与三角面片集合Mesh2中的对应点相等,若是,则判断为重用并返回变换矩阵。
本申请的实施例中,步骤3)中,循环结束,将几何信息以字节流形式写入bin文件,构件与几何的关系写入json文件,再分别用Gzip压缩算法压缩结果,以通过Web端展示。
步骤S30、web端展示;
参见图5所示,图5是本申请实施例提供的一种面向webgl引擎的Revit模型轻量化方法中web端还原流程图。
Web端读取步骤3)中压缩结果保存的关系文件,然后加载对应的数据几何文件,逆向解析其中的顶点、法线、uv、索引等数据,利用webgl引擎还原几何信息,其中对重用的Mesh应用实例化。
其中,Web端读取保存的关系文件,为循环结束,几何信息以字节流形式写入bin文件以及构件与几何的关系写入的json文件。
本发明提供的面向webgl引擎的Revit模型轻量化方法,通过对构件几何信息的重用,大幅减小需要存储的数据,进而在网络传输中传递更小的数据,方便Web更快的加载。Web端使用Webgl提供的实例化技术,可以大幅降低浏览器的内存和drawCall,提升帧数。
应该理解的是,上述虽然是按照某一顺序描述的,但是这些步骤并不是必然按照上述顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,本实施例的一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
请参阅图7,图7是本申请实施例提供的一种计算机设备的示意性框图。如图7所示,该计算机设备500包括一个或多个处理器501和存储器502,处理器501和存储器502通过总线连接,该总线比如为I2C(Inter-integrated Circuit)总线。
其中,一个或多个处理器501单独地或共同地工作,用于执行上述实施例提供的面向webgl引擎的Revit模型轻量化方法的步骤:
S1、读取模型文件。
通过调用Revit Api动态链接库,读取模型信息;
Revit API是Autodesk公司为Revit软件提供的应用程序开发接口,通过RevitAPI可以访问模型文件的项目信息、构件属性、构件几何信息。
S2、循环构件集合,解析数据;
S21)、解析BIM信息,主要包括构件的基本属性,如体积、分类、构造等。将各种属性,按key、value的形式,合并成一个属性对象,再按照key=构件ID,value=构件属性对象的形式,存入属性json文件。
S22)、构件的几何信息(顶点、法线、uv、索引)导出:
(1)、检测构件下属的实例,根据实例ID从已导出几何信息列表里查询是否已存在。
(2)、若存在,则将几何引用与当前变换矩阵存入构件的形状列表。
(3)、若不存在,则导出几何信息,将相同材质的几何合并成一个Mesh(三角面片集合),然后对每一个Mesh,检测能否重用,(BIM模型中通常同样的形状共享同一材质),其中材质信息存入材质列表。
(4)、若否则将Mesh存入Mesh列表,相应的,构件的形状列表中也存入对应的Mesh引用和当前的矩阵
(5)、若是则将当前的变换矩阵与(4)返回的变化矩阵相乘,将最终结果矩阵与Mesh引用存入构件的形状列表。
其中重用算法如下;
(A)、对任意的Mesh1,Mesh2,先判断顶点数是否相等,否则返回,是则继续。
(B)、从Mesh1中,任意取三点,对应从Mesh2中取三点,假定它们相似,求出变换矩阵。
(C)、从Mesh1中任取非(B)中的一点,经变换矩阵变换,查看结果是否与Mesh2中的对应点相等,是则判断重用并返回变化矩阵。
S23)、循环结束,将几何信息以字节流形式写入bin文件,构件与几何的关系写入json文件,再分别用Gzip压缩算法压缩结果,以方便S3的展示。
S3、web端读取S23)保存的关系文件,然后加载对应的数据几何文件,逆向解析其中的顶点、法线、uv、索引等数据,利用webgl引擎还原几何信息,其中对重用的Mesh应用实例化。
具体地,处理器501可以是微控制单元(Micro-controller Unit,MCU)、中央处理单元(Central Processing Unit,CPU)或数字信号处理器(Digital Signal Processor,DSP)等。
具体地,存储器502可以是Flash芯片、只读存储器(ROM,Read-Only Memory)磁盘、光盘、U盘或移动硬盘等。
其中,处理器501用于运行存储在存储器502中的计算机程序,并在执行所述计算机程序时实现上述实施例提供的面向webgl引擎的Revit模型轻量化方法的步骤。
需要特别说明的是,在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
在本发明的一个实施例中还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤:
S1、读取模型文件。
通过调用Revit Api动态链接库,读取模型信息;
Revit API是Autodesk公司为Revit软件提供的应用程序开发接口,通过RevitAPI可以访问模型文件的项目信息、构件属性、构件几何信息。
S2、循环构件集合,解析数据;
S21)、解析BIM信息,主要包括构件的基本属性,如体积、分类、构造等。将各种属性,按key、value的形式,合并成一个属性对象,再按照key=构件ID,value=构件属性对象的形式,存入属性json文件。
S22)、构件的几何信息(顶点、法线、uv、索引)导出:
(1)、检测构件下属的实例,根据实例ID从已导出几何信息列表里查询是否已存在。
(2)、若存在,则将几何引用与当前变换矩阵存入构件的形状列表。
(3)、若不存在,则导出几何信息,将相同材质的几何合并成一个Mesh(三角面片集合),然后对每一个Mesh,检测能否重用,(BIM模型中通常同样的形状共享同一材质),其中材质信息存入材质列表。
(4)、若否则将Mesh存入Mesh列表,相应的,构件的形状列表中也存入对应的Mesh引用和当前的矩阵
(5)、若是则将当前的变换矩阵与(4)返回的变化矩阵相乘,将最终结果矩阵与Mesh引用存入构件的形状列表。
其中重用算法如下;
(A)、对任意的Mesh1,Mesh2,先判断顶点数是否相等,否则返回,是则继续。
(B)、从Mesh1中,任意取三点,对应从Mesh2中取三点,假定它们相似,求出变换矩阵。
(C)、从Mesh1中任取非(B)中的一点,经变换矩阵变换,查看结果是否与Mesh2中的对应点相等,是则判断重用并返回变化矩阵。
S23)、循环结束,将几何信息以字节流形式写入bin文件,构件与几何的关系写入json文件,再分别用Gzip压缩算法压缩结果,以方便S3的展示。
S3、web端读取S23)保存的关系文件,然后加载对应的数据几何文件,逆向解析其中的顶点、法线、uv、索引等数据,利用webgl引擎还原几何信息,其中对重用的Mesh应用实例化。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。
综上所述,本发明提供的面向webgl引擎的Revit模型轻量化方法,通过对RevitAPI的调用,轻量化模型数据,并对结果压缩,在Web端使用Webgl还原轻量化后的数据,可以打破电脑硬件的束缚,在电脑、平板、手机上浏览,极大的提升BIM模型的信息化,可视化管理效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种面向webgl引擎的Revit模型轻量化方法,其特征在于,该方法以下步骤:
步骤一、读取模型文件;
调用Revit Api提供的动态链接库,读取所述模型文件中的模型信息,分离出BIM信息与几何信息;
步骤二、循环构件集合,解析数据;
解析BIM模型,将所述BIM信息以json格式保存,所述几何信息存入bin文件。
2.如权利要求1所述的面向webgl引擎的Revit模型轻量化方法,其特征在于,调用的Revit Api用于访问所述模型文件的项目信息、构件属性以及构件几何信息。
3.如权利要求1所述的面向webgl引擎的Revit模型轻量化方法,其特征在于,分离出几何信息时,还包括:
判断构件是否包含族实例;
若包含,则从缓存中读取已存在实例的几何标记并关联;
若不包含,导出几何并检测是否重用;
若重用,则替换重用的几何信息;
若不重用,则不对几何信息处理。
4.如权利要求1-3任一所述的面向webgl引擎的Revit模型轻量化方法,其特征在于,所述解析BIM模型时,BIM信息包括构件的基本属性,基本属性按照key、value的形式合并成一个属性对象,并按照构件ID作为key,将构件属性对象的形式作为value,存入属性json文件。
5.如权利要求4所述的面向webgl引擎的Revit模型轻量化方法,其特征在于,所述解析BIM模型,包括以下步骤:
读取分离出的所述BIM信息,将构件ID作为key,将构件属性对象的形式作为value,存入属性json文件;
导出所述构件的几何信息,并将导出的所述构件的几何引用与当前变换矩阵存入构件的形状列表,并标记;
对标记的几何信息检测能否重用,若存在重用的几何信息,则替换引用与矩阵;
循环结束,将几何信息以字节流形式写入bin文件,构件与几何的关系写入json文件。
6.如权利要求5所述的面向webgl引擎的Revit模型轻量化方法,其特征在于,导出所述构件的几何信息,包括以下步骤:
检测构件下属的实例,根据实例ID从已导出几何信息列表里查询是否已存在;
若已存在导出的几何信息,则将几何引用与当前变换矩阵存入构件的形状列表;
若不存在导出的几何信息,则导出几何信息,并将几何引用与当前变换矩阵存入构件的形状列表,并标记。
7.如权利要求6所述的面向webgl引擎的Revit模型轻量化方法,其特征在于,若不存在导出的几何信息,则导出几何信息,还包括:
将相同材质的几何合并成一个三角面片集合Mesh,并对每一个三角面片集合Mesh,检测能否重用,其中,材质信息存入材质列表;
若不能重用,则将所述三角面片集合Mesh存入Mesh列表,并且,构件的形状列表中也存入对应的三角面片集合Mesh引用和当前的矩阵;
若能重用,则将当前的变换矩阵与返回的变换矩阵相乘,将最终结果矩阵与三角面片集合Mesh引用存入构件的形状列表。
8.如权利要求7所述的面向webgl引擎的Revit模型轻量化方法,其特征在于,检测能否重用时,检测重用的方法,包括以下步骤:
步骤1)对任意的三角面片集合Mesh1、三角面片集合Mesh2,判断顶点数是否相等,否则返回步骤1),是则进入步骤2);
步骤2)从三角面片集合Mesh1中,任意取三点,对应从三角面片集合Mesh2中取三点,求出变换矩阵;
步骤3)从三角面片集合Mesh1中在任取一点,经变换矩阵变换,判断结果是否与三角面片集合Mesh2中的对应点相等,若是,则判断为重用并返回变换矩阵。
9.如权利要求8所述的面向webgl引擎的Revit模型轻量化方法,其特征在于,步骤3)中,循环结束,将几何信息以字节流形式写入bin文件,构件与几何的关系写入json文件,再分别用Gzip压缩算法压缩结果,以通过Web端展示。
10.如权利要求9所述的面向webgl引擎的Revit模型轻量化方法,其特征在于,所述面向webgl引擎的Revit模型轻量化方法,还包括:Web端读取保存的关系文件,并加载对应的数据几何文件,利用Webgl引擎还原几何信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210449719.8A CN114880742A (zh) | 2022-04-27 | 2022-04-27 | 一种面向webgl引擎的Revit模型轻量化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210449719.8A CN114880742A (zh) | 2022-04-27 | 2022-04-27 | 一种面向webgl引擎的Revit模型轻量化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114880742A true CN114880742A (zh) | 2022-08-09 |
Family
ID=82672724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210449719.8A Pending CN114880742A (zh) | 2022-04-27 | 2022-04-27 | 一种面向webgl引擎的Revit模型轻量化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114880742A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116258804A (zh) * | 2022-09-06 | 2023-06-13 | 华建数创(上海)科技有限公司 | 基于数模分离与压缩优化的bim模型轻量化方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120310906A1 (en) * | 2011-06-03 | 2012-12-06 | Dwayne Miller | Building Information Tracking System and Method of Use |
CN107247822A (zh) * | 2017-05-10 | 2017-10-13 | 南京戎光软件科技有限公司 | 一种使bim模型轻量化的方法 |
CN110232523A (zh) * | 2019-06-14 | 2019-09-13 | 上海同筑信息科技有限公司 | 一种bim模型轻量化方法 |
CN110245368A (zh) * | 2018-03-09 | 2019-09-17 | 北京东晨工元科技发展有限公司 | 一种bim数据的结构化处理与存储方法 |
CN110414148A (zh) * | 2019-07-30 | 2019-11-05 | 中北大学 | 基于WebGL的开放式BIM跨平台在线可视化方法 |
CN110706345A (zh) * | 2019-08-28 | 2020-01-17 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 一种基于构件实例合并的铁路bim模型轻量化方法及系统 |
CN111858618A (zh) * | 2020-08-10 | 2020-10-30 | 山东同圆数字科技有限公司 | 一种bim数据图形引擎 |
CN112182700A (zh) * | 2020-09-17 | 2021-01-05 | 中北大学 | 一种基于Web端的BIM三维建筑模型展示方法 |
CN112508071A (zh) * | 2020-11-30 | 2021-03-16 | 中国公路工程咨询集团有限公司 | 基于bim的桥梁病害标记方法和装置 |
CN113722474A (zh) * | 2021-03-12 | 2021-11-30 | 腾讯科技(深圳)有限公司 | 文本分类方法、装置、设备及存储介质 |
CN114169055A (zh) * | 2021-12-09 | 2022-03-11 | 深圳市易景空间智能科技有限公司 | 使bim模型轻量化的方法及系统 |
-
2022
- 2022-04-27 CN CN202210449719.8A patent/CN114880742A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120310906A1 (en) * | 2011-06-03 | 2012-12-06 | Dwayne Miller | Building Information Tracking System and Method of Use |
CN107247822A (zh) * | 2017-05-10 | 2017-10-13 | 南京戎光软件科技有限公司 | 一种使bim模型轻量化的方法 |
CN110245368A (zh) * | 2018-03-09 | 2019-09-17 | 北京东晨工元科技发展有限公司 | 一种bim数据的结构化处理与存储方法 |
CN110232523A (zh) * | 2019-06-14 | 2019-09-13 | 上海同筑信息科技有限公司 | 一种bim模型轻量化方法 |
CN110414148A (zh) * | 2019-07-30 | 2019-11-05 | 中北大学 | 基于WebGL的开放式BIM跨平台在线可视化方法 |
CN110706345A (zh) * | 2019-08-28 | 2020-01-17 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 一种基于构件实例合并的铁路bim模型轻量化方法及系统 |
CN111858618A (zh) * | 2020-08-10 | 2020-10-30 | 山东同圆数字科技有限公司 | 一种bim数据图形引擎 |
CN112182700A (zh) * | 2020-09-17 | 2021-01-05 | 中北大学 | 一种基于Web端的BIM三维建筑模型展示方法 |
CN112508071A (zh) * | 2020-11-30 | 2021-03-16 | 中国公路工程咨询集团有限公司 | 基于bim的桥梁病害标记方法和装置 |
CN113722474A (zh) * | 2021-03-12 | 2021-11-30 | 腾讯科技(深圳)有限公司 | 文本分类方法、装置、设备及存储介质 |
CN114169055A (zh) * | 2021-12-09 | 2022-03-11 | 深圳市易景空间智能科技有限公司 | 使bim模型轻量化的方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116258804A (zh) * | 2022-09-06 | 2023-06-13 | 华建数创(上海)科技有限公司 | 基于数模分离与压缩优化的bim模型轻量化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104834599A (zh) | Web安全检测方法和装置 | |
CN111930962A (zh) | 文献数据价值评估方法、装置、电子设备及存储介质 | |
CN110908697A (zh) | 一种资源打包方法、装置、服务器及存储介质 | |
CN111127612A (zh) | 游戏场景节点的更新方法、装置、存储介质和电子设备 | |
CN105574808A (zh) | 一种流水线纹理贴图单元体系结构 | |
CN114880742A (zh) | 一种面向webgl引擎的Revit模型轻量化方法 | |
CN107977504B (zh) | 一种非对称堆芯燃料管理计算方法、装置及终端设备 | |
CN103021016B (zh) | 一种渲染过程中海量三维地理信息数据处理方法 | |
CN114119939A (zh) | 数据轻量化处理方法、装置、存储介质及电子设备 | |
CN111339072A (zh) | 基于用户行为的变化值分析方法、装置、电子设备及介质 | |
CN107436839B (zh) | 进程负载获取方法、电子终端及计算机可读存储介质 | |
CN115129460A (zh) | 获取算子硬件时间的方法、装置、计算机设备和存储介质 | |
US20150062136A1 (en) | Image processing method and image processing apparatus | |
CN115065366A (zh) | 一种时序数据的压缩方法、装置、设备及存储介质 | |
CN115221211B (zh) | 一种图计算处理方法、装置、电子设备及存储介质 | |
CN113742116A (zh) | 一种异常定位方法及装置、设备、存储介质 | |
CN117422610B (zh) | 一种三维模型轻量化方法、装置及电子设备 | |
CN117494539B (zh) | 物面流体仿真中粒子的近邻搜索方法、装置、电子设备 | |
CN112578995A (zh) | 数据集合处理方法、装置和系统 | |
CN115482147B (zh) | 基于压缩数据直接计算的高效并行图处理方法和系统 | |
CN110489846B (zh) | 一种识别模型构件基本体的方法和装置 | |
CN113722292B (zh) | 分布式数据系统的应灾处理方法、装置、设备及存储介质 | |
CN117742579A (zh) | 基于缓冲的异步转存ceph集群的方法及电子设备 | |
CN116089183A (zh) | 图形处理器性能测试方法、装置、计算机设备、存储介质 | |
CN113377796A (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 |