CN114169055A - 使bim模型轻量化的方法及系统 - Google Patents
使bim模型轻量化的方法及系统 Download PDFInfo
- Publication number
- CN114169055A CN114169055A CN202111499085.9A CN202111499085A CN114169055A CN 114169055 A CN114169055 A CN 114169055A CN 202111499085 A CN202111499085 A CN 202111499085A CN 114169055 A CN114169055 A CN 114169055A
- Authority
- CN
- China
- Prior art keywords
- components
- geometry
- regular
- data
- component
- 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
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Architecture (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种使BIM模型轻量化的方法及系统,通过Revit软件读取BIM模型文件里面的构件数据;其特征在于,包括如下步骤:S1:属性信息轻量化:逐个遍历构件,记录和分析构件的属性信息,将所有构件的属性信息表达为:用于映射的数字序号ID集合和字符串字典表;存入构件数据库;S2:几何信息轻量化:逐个遍历构件,提取组成构件的面的外边框多边形的点集合;将所有构件分为规则的空间几何体集合和不规则的空间几何体集合;S3:针对规则的空间几何体集合进行分类,进一步分为规则的多边形拉升几何体集合和规则的圆柱体集合;S4:针对不规则的空间几何体集合进行分类,进一步分为相同空间几何体集合和不相同空间几何体集合。
Description
技术领域
本发明属于建筑信息模型处理技术领域,具体涉及一种使BIM模型轻量化的方法及系统。
背景技术
BIM(Building Information Modeling)技术是一种应用于工程设计、建造、管理的数据化工具,通过对建筑的数据化、信息化模型整合,在项目策划、运行和维护的全生命周期过程中进行共享和传递,使工程技术人员对各种建筑信息作出正确理解和高效应对,为设计团队以及包括建筑、运营单位在内的各方建设主体提供协同工作的基础,在提高生产效率、节约成本和缩短工期方面发挥重要作用。引用美国国家BIM标准(NBIMS)对BIM的定义,定义由三部分组成:(1)BIM是一个设施(建设项目)物理和功能特性的数字表达;(2)BIM是一个共享的知识资源,是一个分享有关这个设施的信息,为该设施从概念到拆除的全生命周期中的所有决策提供可靠依据的过程;(3)在设施的不同阶段,不同利益相关方通过在BIM中插入、提取、更新和修改信息,以支持和反映其各自职责的协同作业。
Revit是Autodesk公司一套系列软件的名称。Revit系列软件是为建筑信息模型(BIM)构建的,可帮助建筑设计师设计、建造和维护质量更好、能效更高的建筑。Revit是我国建筑业BIM体系中使用最广泛的软件之一。
规则的拉升几何体:通过绘制底部的多边形,再将底部的面拉升起来,设置高度,变成空间几何体,比如柱体、圆柱体等。
GLTF(Graphics Library Transmission Format,图形库传输格式):是一种针对GL(开放图形库Open GL、嵌入式系统开放图形库Open GL ES、Web图形库Web GL)接口的运行时资源格式,在3D数据的传输和加载中具有高效、易拓展和可协作等优点。目前主流的三维模型数据格式是针对数据生产设计的,在传输和内容解析上无法满足需求互联网发展的要求,而GLTF格式的特点就是针对高效传输和解析,为3D内容制作工具和服务定义了一种可扩展的、通用的发布格式,GLTF以二进制(Array Buffer)的方式传输,非常高效,同时为了提高解析效率,GLTF的数据体被设计为Web GL能够直接加载的形式。
JSON(Java Script Object Notation):Java Script对象标记语言。
由于BIM涵盖了大量几何学、空间关系、建筑组件属性等信息,致使BIM原始模型数据量大,使其对计算机的要求过高,影响了项目管理协作效率,因此亟需对模型进行轻量化处理。将BIM数据轻量化处理后融入到GIS数据中,可使BIM从微观走向宏观,解决信息孤岛问题,最终让BIM模型在设计、施工、运维管理阶段发挥更大的价值。
当前,让BIM模型在Web端轻量化展示,有2种方法。第一种,使用Autodesk公司提供的云服务,将BIM模型上传至Autodesk公司服务器。此种方法的技术缺点是,不能私有化部署,不能保护敏感数据,访问速度慢,不能定制需求。第二种BIM轻量化方案是输出GLTF数据或者利用LOD技术,使用不同精度的构件模型提高终端渲染的效率。因为一个BIM模型中70%的构件是相同的,有一半是规则的多边形拉升几何体,比如墙、柱子等,机电设备的模型会有大量的圆管类型构件,其它的大部分模型可以经过平移、旋转获得,比如门、窗、灯、家具等。采用LOD技术能解决显示问题,但不能解决数据存储大小问题,LOD会生成很多文件。通过自己定义的提取方法,比较圆柱体,采用不同的LOD方案,顶点数据会有很大差异,精细模型会有很多三角面产生,但如果采用只需要纪录圆柱体的底面的中心点坐标、半径、圆柱高度三个数据,通过WEBGL显示引擎设置不同的显示精度就可以动态生成不同精度的圆柱模型,基本上可以将文件体积是减少很多倍。上述轻量化方案的缺点在于,如果用户有修改一个构件的位置信息或者几何信息,则必须要使用revit软件修改过后,再导出一次,与之前的导出如果有一些信息修改,则可能会由于重新导入而丢失。
例如,申请号为CN202010470515.3的专利文献公开了一种BIM模型轻量化导出方法,该方法包括如下步骤:
遍历待导出BIM模型的所有部件,以获取所述BIM模型中的各实体部件的属性信息,并将所述属性信息存入导出数据库;
根据所述属性信息分析各实体部件的形状,并根据各实体部件的形状将所述实体部件至少分为简单实体部件和复杂实体部件;
根据所述简单实体部件的形状对所述简单实体部件进行分类,并根据所述BIM模型的族类型和所述属性信息对所述复杂实体部件进行分类;
针对每一个分类类型,从中任意选取一个部件作为基准部件,根据所述属性信息计算所述分类类型中其他部件与所述基准部件的修正矩阵;并根据所述修正矩阵对所述导出数据库内进行部件属性去重复处理;
根据所述导出数据库对所述BIM模型进行导出。
本发明人发现,上述技术方案输出的文件体积还是过大,加载慢,他们没有解决大部分规则几何体的提取方法。因为在提取了规则的几何体后,可以方便后续在线地图编辑器上对图形直接进行修改。比如,管线的修改可以通过修改管线的两个圆面的中心点坐标和半径完成;规则拉升几何体形状可以直接修改几何体的形状完成修改;而非规则几何体的修改可以通过设置偏移量完成修改,而上述的方案如果要改动部件信息和几何形状,则必须重新在revit软件中再导出一次数据,比较花费时间。LOD方案只是revit软件设置不同的精细度,输出的GLTF格式文件大小不同,WEBGL显示层面没有优化方法,不同性能的电脑都是装载同一套数据,不能提供显示优化策略。
发明内容
为解决上述问题,本发明的目的在于提供一种通过对BIM模型数据进行加工处理,通过提取规则的空间几何体和提取相似的非规则空间几何体,大大压缩BIM输出数据的体积,为WEBGL在线浏览传输小的BIM文件提供快速显示基础;另外,也为在线可编辑BIM形状和属性信息提供基础,在线编辑器也可为BIM地图提供3dmax模型插入、增加编辑导航线编辑,为地图提供导航服务提供基础。
本发明技术方案如下:一种使BIM模型轻量化的方法,通过Revit软件读取BIM模型文件里面的构件数据;其特征在于,包括如下步骤:
S1:属性信息轻量化:逐个遍历构件,记录和分析构件的属性信息,将所有构件的属性信息表达为:用于映射的数字序号ID集合和字符串字典表;存入构件数据库;
S2:几何信息轻量化:逐个遍历构件,提取组成构件的面的外边框多边形的点集合;将所有构件分为规则的空间几何体集合和不规则的空间几何体集合;
S3:针对规则的空间几何体集合进行分类,进一步分为规则的多边形拉升几何体集合和规则的圆柱体集合;其中,所述规则的多边形拉升几何体集合中的构件表达为:所述规则的多边形拉升几何体的底面的点集合、和该规则的多边形拉升几何体的高度;所述规则的圆柱体集合中的构件表达为:所述规则的圆柱体的底面的中心点坐标、半径和圆柱高度;存入构件数据库;
S4:针对不规则的空间几何体集合进行分类,进一步分为相同空间几何体集合和不相同空间几何体集合;其中,针对所述相同空间几何体集合中的构件,任意选定一个构件作为基准构件,生成用于映射的几何体标识ID并保存;按照面的法向量将其余相同构件分为需要平移的集合以及需要既平移又旋转的集合;通过构件的空间几何数据计算所述其余相同构件的平移量和旋转角度;将所述相同空间几何体集合中的构件表达为:几何体标识ID、平移量和旋转角度;存入构件数据库;针对所述不相同空间几何体集合中的空间几何体,则直接存储到几何体公用队列中,生成用于映射的几何体标识ID;存入构件数据库;
S5:楼层数据优化:逐个遍历构件,分析构件的标高高度信息;读取BIM模型文件里的楼层分层信息,通过构件的底部标高高度信息数据将所有构件归类到每个实际物理楼层中。由于bim软件中一个楼层他可以建立很多子图层(根据标高来定义的图层),因此标高的楼层有可能不是实际上的物理楼层。
进一步地,还包括如下步骤:将所述构件数据库中的数据转换为JSON文件输出,通过轻量化WEBGL显示引擎显示,通过在线BIM地图编辑器编辑。
进一步地,所述分析构件的空间几何数据,提取组成构件的面的外边框多边形的点集合;将所有构件分为规则的空间几何体集合和不规则的空间几何体集合包括如下步骤:遍历构件几何面Face的法向量朝向,提取底面和顶面;将所述底面和顶面处理为由外边框多边形组成的集合,将所述外边框多边形集合通过点集合表达;提取所述底面和顶面外边框多边形的点集合;分析里面是否包含顶面数据和底面数据,再判断顶面和底面的顶点数量是否相同,如果相同而且顶面和底面的点集合数据可通过增加高度差变换,则将此构件分类为规则的空间几何体,存入规则的空间几何体集合;否则分类为不规则的空间几何体,存入不规则的空间几何体集合。
进一步地,将所述底面和顶面处理为由多边形组成的集合,将所述多边形集合通过点集合表达包括如下步骤:由于构件由多个面face组成,每个面多边形都由很多三角面Triangle组成,三角形的顺序是不一定按相邻顺序的,遍历每个三角形,每次从前到后遍历找有两个重合点的集合,将第三个值插入两个点之间;遍历完所有的三角形后,得到面的外边框多边形点集合列表。
进一步地,所述进一步分为规则的多边形拉升几何体集合和规则的圆柱体集合包括如下步骤:遍历构件,判断顶面和底面是否为圆形,如果是,则分类为规则的圆柱体,存入规则的圆柱体集合;如果否,则分类为规则的多边形拉升几何体,存入规则的多边形拉升几何体集合。
进一步地,所述进一步分为相同空间几何体集合和不相同空间几何体集合包括如下步骤:逐个遍历构件,记录构件的组成每个面的三角面的点集合和UV信息;判断构件是否具有相同的几何体、类型、面的数量和顶点数量,如果是,则分类为相同空间几何体,存入相同空间几何体集合;如果否,则分类为不相同空间几何体,存入不相同空间几何体集合。
进一步地,所述将所有构件的属性信息表达为用于映射的数字序号ID集合和字符串字典表包括如下步骤;分析构件的属性信息,遍历属性的名称和值,判断用于表达该属性的名称和值的字符串是否已经存在于公用字典中,如果否,则将表达该属性的名称和值的字符串添加入所述公用字典中保存,同时在所述公用字典中生成一个用于映射的数字序号ID。
一种使BIM模型轻量化的系统;其特征在于,所述系统包括:
属性信息轻量化单元,用于逐个遍历构件,记录和分析构件的属性信息,将所有构件的属性信息表达为:用于映射的数字序号ID集合和字符串字典表;存入构件数据库;
几何信息轻量化单元,用于逐个遍历构件,提取组成构件的面的外边框多边形的点集合;将所有构件分为规则的空间几何体集合和不规则的空间几何体集合;
针对规则的空间几何体集合进行分类,进一步分为规则的多边形拉升几何体集合和规则的圆柱体集合;其中,所述规则的多边形拉升几何体集合中的构件表达为:所述规则的多边形拉升几何体的底面的点集合、和该规则的多边形拉升几何体的高度;所述规则的圆柱体集合中的构件表达为:所述规则的圆柱体的底面的中心点坐标、半径和圆柱高度;存入构件数据库;
针对不规则的空间几何体集合进行分类,进一步分为相同空间几何体集合和不相同空间几何体集合;其中,针对所述相同空间几何体集合中的构件,任意选定一个构件作为基准构件,生成用于映射的几何体标识ID并保存;按照面的法向量将其余相同构件分为需要平移的集合以及需要既平移又旋转的集合;通过构件的空间几何数据计算所述其余相同构件的平移量和旋转角度;将所述相同空间几何体集合中的构件表达为:几何体标识ID、平移量和旋转角度;存入构件数据库;针对所述不相同空间几何体集合中的空间几何体,则直接存储到几何体公用队列中,生成用于映射的几何体标识ID;存入构件数据库;
楼层数据优化单元,用于逐个遍历构件,分析构件的标高;读取BIM模型文件里的楼层分层信息,通过构件的底部标高数据将所有构件归类到每个楼层中。
本发明的有益效果在于:本发明公开了一种BIM轻量化流程,目的是解决目前BIM文件解析后的体积还是过大的问题,采用额外提取拉升几何体和管道几何体,使解析后的文件体积会再次缩小为原先的50%以上。而且,本发明的技术方案提取的规则几何体,可以在WEBGL设置显示模型的精细度,比如圆管设置两边圆的顶点图为8个点、16个点或者64个点来画圆周,从而会输出不同性能的显示,针对不同性能电脑动态配置显示。另外,本发明的技术方案提取了规则的几何体后,很方便后续在线地图编辑器上可以直接进行修改,其它的方案如果要改动部件信息和几何形状,则必须重新在revit软件中再导出一次数据,比较花费时间。因此,本发明使得BIM能够实现在线整合3dmax模型;且BIM能够实现在线编辑导航线,从而为路径规划和地图导航提供整合。
附图说明
图1为本发明的总体框架示意图;
图2为本发明的软件流程示意图;
图3为本发明的一个实施例的总体框架示意图
图4为提取法向量原理图;
图5为在Revit软件中提取一个面的外边框多边形点集合方法原理图;
图6为提取不规则的空间几何体(非拉升几何体)示意图;
图7为提取规则的空间几何体(拉升几何体)示意图;
图8为提取圆柱体(拉升几何体)示意图;
图9为构件的属性信息示意图;
图10为本发明输出的JSON文件通过在线WEB网页进行展示的模型图;
图11为将图9展示的模型图中的拉升几何体进行选择并进行形状修改后,在BIM三维地图上继续放置3dmax软件制作的模型图。
具体实施方式
以下结合附图与实施例对本发明的技术方案作详细说明。
如图1所示,一种使BIM模型轻量化的方法,通过Revit软件读取BIM模型文件里面的构件数据;其特征在于,包括如下步骤:
S1:属性信息轻量化:逐个遍历构件,记录和分析构件的属性信息,将所有构件的属性信息表达为:用于映射的数字序号ID集合和字符串字典表;存入构件数据库;
S2:几何信息轻量化:逐个遍历构件,提取组成构件的面的外边框多边形的点集合,将所有构件分为规则的空间几何体集合和不规则的空间几何体集合;
S3:针对规则的空间几何体集合进行分类,进一步分为规则的多边形拉升几何体集合和规则的圆柱体集合;其中,所述规则的多边形拉升几何体集合中的构件表达为:所述规则的多边形拉升几何体的底面的点集合、和该规则的多边形拉升几何体的高度;所述规则的圆柱体集合中的构件表达为:所述规则的圆柱体的底面的中心点坐标、半径和圆柱高度;存入构件数据库;
S4:针对不规则的空间几何体集合进行分类,进一步分为相同空间几何体集合和不相同空间几何体集合;其中,针对所述相同空间几何体集合中的构件,任意选定一个构件作为基准构件,生成用于映射的几何体标识ID并保存;按照面的法向量将其余相同构件分为需要平移的集合以及需要既平移又旋转的集合;通过构件的空间几何数据计算所述其余相同构件的平移量和旋转角度;将所述相同空间几何体集合中的构件表达为:几何体标识ID、平移量和旋转角度;存入构件数据库;针对所述不相同空间几何体集合中的空间几何体,则直接存储到几何体公用队列中,生成用于映射的几何体标识ID;存入构件数据库;
S5:楼层数据优化:逐个遍历构件,分析构件的标高高度信息;读取BIM模型文件里的楼层分层信息,通过构件的底部标高高度信息数据将所有构件归类到每个实际物理楼层中。由于bim软件中一个楼层他可以建立很多子图层(根据标高来定义的图层),因此标高的楼层有可能不是实际上的物理楼层。
进一步地,还包括如下步骤:将所述构件数据库中的数据转换为JSON文件输出,通过轻量化WEBGL显示引擎显示,通过在线BIM地图编辑器编辑。
如图2和图3所示的实施例,一种使BIM模型轻量化的方法,基于Revit软件对BIM模型进行二次开发,通过配置Revit SDK,建立二次开发环境,其次实现IExportContext接口,分别编写View、Polymesh、Face、Material、Intance等对象的转换方法,最后使用CustomExporter执行模型导出。包括如下步骤:
S1、属性信息轻量化:在OnElementBegin流程中读取构件的ID、名称、面积、体积等基本属性信息。由于在Revit软件中,BIM建筑模型是由构件来表达的。每个构件由很多种几何体来展示,构件的几何体则是由很多面构成。例如,在OnMaterial里面读取构件的材质纹理信息,遍历材质纹理信息的名称和值,判断用于表达该材质纹理信息的名称和值的字符串是否已经存在于公用字典中,如果否,则将表达该材质纹理信息的名称和值的字符串添加入所述公用字典中保存。由于构件大部分材质纹理是相同的,通过读取构件绑定的材质纹理的ID,将材质纹理提取到公开字典对象,因此构件数据库只需要记录一个对应的ID,此步骤能够节约1倍以上的数据空间。
S2:几何信息轻量化,逐个遍历构件,提取组成构件的面的外边框多边形的点集合;将所有构件分为规则的空间几何体集合和不规则的空间几何体集合。如图4所示,在Revit软件中,在OnFaceBegin流程中提取到面法向量信息,每个面face在reivt软件中有对应的法向量,代表朝向,比如朝向顶部、底部、侧面等信息表达可以提取,通过遍历每个构件,得到每个面的顶面和底面的点坐标集合。
提取顶面和底面的点坐标集合的语句如下所示:
在Revit软件中提取一个面的外边框多边形点集合,采用查找包含相同两个点来还原边界点集合算法实现。当进行到OnPolymesh流程,构件由多个面face组成,每个面多边形都由很多三角面Triangle组成,如图5所示,此face面有6个顶点坐标组成,但revit软件保存的是多个三角形的坐标序号集合Index(1,2,6)、Index(4,5,6)、Index(3,4,2)、Index(4,6,2)四个三角形组成,三角形的顺序是不一定按相邻顺序的,遍历每个三角形,每次从前到后遍历找有两个重合点的集合,将第三个值插入两个点之间,例如集合里面已经有(1,2,6)三个值,遍历其它三个三角形,发现(4,6,2)有两个相同的,则将4插入到两个相同点之间(1,2,4,6),其它两个三角形继续通过此方法,可以顺利的提取面的外边框多边形点集合列表(p1,p2,p3,p4,p5,p6)。
在提取了面的外边框多边形点集合数据后,通过分析分类,提取可以用拉升几何体表达的构件。如图7所示,构件的外边框多边形点里面如果有顶面和底面两个数据时,再通过判断是否面顶点数量是否相同,如果相同而且顶面和底面点集合可通过增加高度差变换,说明此构件是拉升几何体,只需要保存底部点集合(p1,p2,p3,p4,p5)和高度h信息就可以表达一个几何体,原始数据则需要记录7个面和30多个顶点集合,经过轻量化后相当于节约了1/7,如果侧面更多则节约数据量更多:如图6所示的构件,由于上下顶点个数不同,而且坐标不能加高度偏移量,则不是可以用上述参数表达的拉升几何体。
S3:针对规则的空间几何体集合进行分类,进一步分为规则的多边形拉升几何体集合和规则的圆柱体集合;其中,所述规则的多边形拉升几何体集合中的构件表达为:所述规则的多边形拉升几何体的底面的点集合、和该规则的多边形拉升几何体的高度;所述规则的圆柱体集合中的构件表达为:所述规则的圆柱体的底面的中心点坐标、半径和圆柱高度;存入构件数据库;在revit软件中,圆形管道也属于拉升几何体。管道不论是水平方向还是竖直方向,两侧圆形面的法向量总是能够提取出为顶面和底面。由于是圆形的顶面和底面,圆柱体多边形顶点比较多,按照显示的精细度,圆形由很多点集合连接来表达,至少有8个以上顶点集合,如果是精细显示模式,一个圆形可以由64个点集合来组成,点越密,则圆形表达更圆滑。如图8所示,采用轻量化处理后,只需要记录顶面和底面的两个中心点坐标p1,p2和半径,则可以还原圆柱显示,圆柱体轻量化后节约大小约为原先的1/20以上。组成顶面和底面的面多边形由上面步骤的提取外边框多边形点集合数据后,提取点集合中最大的坐标Pmax和最小的坐标Pmin,通过公式Pcen=(Pmax+Pmin)/2得出中心点坐标,通过公式R=(Pmax-Pmin)/2求出圆形半径。
S4:针对不规则的空间几何体集合进行分类,进一步分为相同空间几何体集合和不相同空间几何体集合;其中,针对所述相同空间几何体集合中的构件,任意选定一个构件作为基准构件,生成用于映射的几何体标识ID并保存;按照面的法向量将其余相同构件分为需要平移的集合以及需要既平移又旋转的集合;通过构件的空间几何数据计算所述其余相同构件的平移量和旋转角度;将所述相同空间几何体集合中的构件表达为:几何体标识ID、平移量和旋转角度;存入构件数据库;针对所述不相同空间几何体集合中的空间几何体,则直接存储到几何体公用队列中,生成用于映射的几何体标识ID;存入构件数据库;针对不规则的空间几何体,在revit软件中,其它不是拉升几何体和圆形管道的构件,记录材质、名称、类型、每个面的法向量数组、体积、面积、顶点数量、UV信息、点集合等。通过比较比如类型、材质、体积、面积、顶点数量等数据是否相同,判断是否为可能是相似的构件;再通过判断面法向量数据,则可以判断构件是否相同;通过空间解析几何计算得出两个相同构件的旋转矩阵,就可以推断出第二个构件的空间几何。通过此轻量化方法,如果相同的构件越多,则节约的文件大小数量越多,为原先的1/N倍大小。
如图9所示,在revit软件中,提取构件的属性信息,由于属性信息在revit软件里面存储采用名字:值来表达的,都是字符串,而且每个的构件都20多个以上的基本信息,如图8所示,“面积”通过字符串“24SF”表达,通过采用词语字典的方法,将发现新的词语全部记录到字典,生成并返回一个用于映射的数字序号ID,这样就可以节省字符串的空间。如果相同的构件越多,则节约的文件大小数量越多,为原先的1/N倍大小;
S5:楼层数据优化:S5:楼层数据优化:逐个遍历构件,分析构件的标高高度信息;读取BIM模型文件里的楼层分层信息,通过构件的底部标高高度信息数据将所有构件归类到每个实际物理楼层中。由于bim软件中一个楼层他可以建立很多子图层(根据标高来定义的图层),因此标高的楼层有可能不是实际上的物理楼层。
在实际过程中,有的楼层分的很细,间隔0.5米以内,比如1层的电线层或者管道层为2.7米,1楼地板层为0米,1楼地面层为-0.2米,则通过实际建筑通用为3米的层高,将上面区间间隔在3米以内的统一到一个楼层中,与实际的物理楼层对应上,方便转换出来的三维地图进行定位导航使用。输出的JSON文件可以通过在线WEB网页进行展示,如图10所示。
BIM轻量化输出的JSON文件,可以通过在线WEB网页进行展示,其中的拉升几何体也能够进行选择,然后进行形状修改,在BIM三维地图上继续放置3dmax软件制作的模型,添加导航点线为定位导航使用,如图11所示。
以上的描述仅仅涉及本发明的一些具体实施方式,任何本领域的技术人员基于本发明的精神所做的替换或改进均应为本发明的保护范围所涵盖,本发明的保护范围应以权利要求书为准。
Claims (10)
1.一种使BIM模型轻量化的方法,通过Revit软件读取BIM模型文件里面的构件数据;其特征在于,包括如下步骤:
S1:属性信息轻量化:逐个遍历构件,记录和分析构件的属性信息,将所有构件的属性信息表达为:用于映射的数字序号ID集合和字符串字典表;存入构件数据库;
S2:几何信息轻量化:逐个遍历构件,提取组成构件的面的外边框多边形的点集合,将所有构件分为规则的空间几何体集合和不规则的空间几何体集合;
S3:针对规则的空间几何体集合进行分类,进一步分为规则的多边形拉升几何体集合和规则的圆柱体集合;其中,所述规则的多边形拉升几何体集合中的构件表达为:所述规则的多边形拉升几何体的底面的点集合、和该规则的多边形拉升几何体的高度;所述规则的圆柱体集合中的构件表达为:所述规则的圆柱体的底面的中心点坐标、半径和圆柱高度;存入构件数据库;
S4:针对不规则的空间几何体集合进行分类,进一步分为相同空间几何体集合和不相同空间几何体集合;其中,针对所述相同空间几何体集合中的构件,任意选定一个构件作为基准构件,生成用于映射的几何体标识ID并保存;按照面的法向量将其余相同构件分为需要平移的集合以及需要既平移又旋转的集合;通过构件的空间几何数据计算所述其余相同构件的平移量和旋转角度;将所述相同空间几何体集合中的构件表达为:几何体标识ID、平移量和旋转角度;存入构件数据库;针对所述不相同空间几何体集合中的空间几何体,则直接存储到几何体公用队列中,生成用于映射的几何体标识ID;存入构件数据库;
S5:楼层数据优化:逐个遍历构件,分析构件的标高高度信息;读取BIM模型文件里的楼层分层信息,通过构件的底部标高高度信息数据将所有构件归类到每个实际物理楼层中。
2.根据权利要求1所述的使BIM模型轻量化的方法,其特征在于,还包括如下步骤:将所述构件数据库中的数据转换为JSON文件输出,通过轻量化WEBGL显示引擎显示,通过在线BIM地图编辑器编辑。
3.根据权利要求1所述的使BIM模型轻量化的方法,其特征在于,所述分析构件的空间几何数据,提取组成构件的面的外边框多边形的点集合,将所有构件分为规则的空间几何体集合和不规则的空间几何体集合包括如下步骤:遍历构件几何面Face的法向量朝向,提取底面和顶面;将所述底面和顶面处理为由外边框多边形组成的集合,将所述外边框多边形集合通过点集合表达;提取所述底面和顶面外边框多边形的点集合;分析构件里面是否包含顶面数据和底面数据,再判断顶面和底面的顶点数量是否相同,如果相同而且顶面和底面的点集合数据可通过增加高度差变换,则将此构件分类为规则的空间几何体,存入规则的空间几何体集合;否则分类为不规则的空间几何体,存入不规则的空间几何体集合。
4.根据权利要求3所述的使BIM模型轻量化的方法,其特征在于,将所述底面和顶面处理为由多边形组成的集合,将所述多边形集合通过点集合表达包括如下步骤:由于构件由多个面face组成,每个面多边形都由很多三角面Triangle组成,三角形的顺序是不一定按相邻顺序的,遍历每个三角形,每次从前到后遍历找有两个重合点的集合,将第三个值插入两个点之间。
5.根据权利要求1所述的使BIM模型轻量化的方法,其特征在于,所述进一步分为规则的多边形拉升几何体集合和规则的圆柱体集合包括如下步骤:遍历构件,判断顶面和底面是否为圆形,如果是,则分类为规则的圆柱体,存入规则的圆柱体集合;如果否,则分类为规则的多边形拉升几何体,存入规则的多边形拉升几何体集合。
6.根据权利要求1所述的使BIM模型轻量化的方法,其特征在于,所述进一步分为相同空间几何体集合和不相同空间几何体集合包括如下步骤:逐个遍历构件,记录构件的组成每个面的三角面的点集合和UV信息;判断构件是否具有相同的几何体、类型、面的数量和顶点数量,如果是,则分类为相同空间几何体,存入相同空间几何体集合;如果否,则分类为不相同空间几何体,存入不相同空间几何体集合。
7.根据权利要求1所述的使BIM模型轻量化的方法,其特征在于,所述将所有构件的属性信息表达为用于映射的数字序号ID集合和字符串字典表包括如下步骤;分析构件的属性信息,遍历属性的名称和值,判断用于表达该属性的名称和值的字符串是否已经存在于公用字典中,如果否,则将表达该属性的名称和值的字符串添加入所述公用字典中保存,同时在所述公用字典中生成一个用于映射的数字序号ID。
8.一种使BIM模型轻量化的系统,其特征在于,所述系统包括:
属性信息轻量化单元,用于逐个遍历构件,记录和分析构件的属性信息,将所有构件的属性信息表达为:用于映射的数字序号ID集合和字符串字典表;存入构件数据库;
几何信息轻量化单元,用于逐个遍历构件,提取组成构件的面的外边框多边形的点集合,将所有构件分为规则的空间几何体集合和不规则的空间几何体集合;
针对规则的空间几何体集合进行分类,进一步分为规则的多边形拉升几何体集合和规则的圆柱体集合;其中,所述规则的多边形拉升几何体集合中的构件表达为:所述规则的多边形拉升几何体的底面的点集合、和该规则的多边形拉升几何体的高度;所述规则的圆柱体集合中的构件表达为:所述规则的圆柱体的底面的中心点坐标、半径和圆柱高度;存入构件数据库;
针对不规则的空间几何体集合进行分类,进一步分为相同空间几何体集合和不相同空间几何体集合;其中,针对所述相同空间几何体集合中的构件,任意选定一个构件作为基准构件,生成用于映射的几何体标识ID并保存;按照面的法向量将其余相同构件分为需要平移的集合以及需要既平移又旋转的集合;通过构件的空间几何数据计算所述其余相同构件的平移量和旋转角度;将所述相同空间几何体集合中的构件表达为:几何体标识ID、平移量和旋转角度;存入构件数据库;针对所述不相同空间几何体集合中的空间几何体,则直接存储到几何体公用队列中,生成用于映射的几何体标识ID;存入构件数据库;
楼层数据优化单元,用于逐个遍历构件,分析构件的标高高度信息;读取BIM模型文件里的楼层分层信息,通过构件的底部标高高度信息数据将所有构件归类到每个楼层中,与实际的物理楼层对应上,方便转换出来的三维地图进行定位导航使用。
9.根据权利要求8所述的使BIM模型轻量化的系统,其特征在于,所述提取组成构件的面的外边框多边形的点集合包括如下处理单元:遍历构件几何面Face的法向量朝向,提取底面和顶面;将所述底面和顶面处理为由外边框多边形组成的集合,将所述外边框多边形集合通过点集合表达;提取所述底面和顶面外边框多边形的点集合;分析构件里面是否包含顶面数据和底面数据,再判断顶面和底面的顶点数量是否相同,如果相同而且顶面和底面的点集合数据可通过增加高度差变换,则将此构件分类为规则的空间几何体,存入规则的空间几何体集合;否则分类为不规则的空间几何体,存入不规则的空间几何体集合。
10.根据权利要求9所述的使BIM模型轻量化的系统,其特征在于,所述将所述外边框多边形集合通过点集合表达包括如下处理单元:由于构件由多个面face组成,每个面多边形都由很多三角面Triangle组成,三角形的顺序是不一定按相邻顺序的,遍历每个三角形,每次从前到后遍历找有两个重合点的集合,将第三个值插入两个点之间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111499085.9A CN114169055A (zh) | 2021-12-09 | 2021-12-09 | 使bim模型轻量化的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111499085.9A CN114169055A (zh) | 2021-12-09 | 2021-12-09 | 使bim模型轻量化的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114169055A true CN114169055A (zh) | 2022-03-11 |
Family
ID=80484944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111499085.9A Pending CN114169055A (zh) | 2021-12-09 | 2021-12-09 | 使bim模型轻量化的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114169055A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114880742A (zh) * | 2022-04-27 | 2022-08-09 | 垒知(成都)科技研究院有限公司 | 一种面向webgl引擎的Revit模型轻量化方法 |
CN116258804A (zh) * | 2022-09-06 | 2023-06-13 | 华建数创(上海)科技有限公司 | 基于数模分离与压缩优化的bim模型轻量化方法 |
-
2021
- 2021-12-09 CN CN202111499085.9A patent/CN114169055A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114880742A (zh) * | 2022-04-27 | 2022-08-09 | 垒知(成都)科技研究院有限公司 | 一种面向webgl引擎的Revit模型轻量化方法 |
CN116258804A (zh) * | 2022-09-06 | 2023-06-13 | 华建数创(上海)科技有限公司 | 基于数模分离与压缩优化的bim模型轻量化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108710739A (zh) | 一种建筑信息模型轻量化和三维场景可视化的方法及系统 | |
CN114169055A (zh) | 使bim模型轻量化的方法及系统 | |
CN112069582A (zh) | 工程场景建立方法 | |
CN110765523A (zh) | 一种基于bim技术的深基坑围护结构快速构建方法 | |
CN106504324A (zh) | 一种基于ActiveX技术的工程地质二三维剖面一体化绘制方法 | |
CN102385744A (zh) | 3d建模对象的水印添加 | |
WO2013151681A1 (en) | Determining a view of an object in a three-dimensional image viewer | |
CN112785696A (zh) | 基于游戏引擎和倾斜摄影数据的三维实景模型生成方法 | |
CN109634611A (zh) | 基于OpenGL的移动端三维模型ply文件解析与展示方法 | |
CN114155341A (zh) | 基于Unity平台大规模数字车间三维模型跨平台一致性方法 | |
CN113096255A (zh) | 一种基于WebGL三维视图同步融合非侵入式集成技术方法 | |
CN111915720A (zh) | 一种建筑物Mesh模型到CityGML模型的自动转换方法 | |
CN113591197B (zh) | 在线编辑方法、装置、电子设备及存储介质 | |
Kuang et al. | A compact random-access representation for urban modeling and rendering | |
Mateo et al. | Hierarchical, Dense and Dynamic 3D Reconstruction Based on VDB Data Structure for Robotic Manipulation Tasks | |
Takala | User interface management system with geometric modeling capability: a CAD system’s framework | |
CN113486416A (zh) | 一种3d建筑楼层分层的实现方法 | |
KR102670898B1 (ko) | 증강 현실에서 빌딩 정보 모델 시각화를 위한 3d 엔진 기반 기하학적 최적화 방법 | |
Xu | Construction of a Responsive Web Service for Smooth Rendering of Large SSC Dataset: and the Corresponding Preprocessor for Source Data | |
Zhou et al. | Study of an SCSG-OSM for the Creation of an Urban Three-Dimensional Building | |
CN110136235A (zh) | 三维bim模型外壳提取方法、装置及计算机设备 | |
CN116070334B (zh) | 一种面向数字孪生应用的多维模型构建方法 | |
KR20240050839A (ko) | 증강 현실에서 빌딩 정보 모델 시각화를 위한 3d 엔진 기반 기하학적 최적화 방법 | |
Dos Santos et al. | CAD Shape Grammar: Procedural Generation for Massive CAD Model | |
CN116629162B (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 |