一种基于BIM模型文件的3D轻量化转换方法与流程

文档序号:15637245发布日期:2018-10-12 21:37阅读:471来源:国知局
本发明涉及建筑业信息
技术领域
,具体涉及一种基于bim模型文件的3d轻量化转换方法。
背景技术
:随着建筑业引入建筑信息模型技术(buildinginformationmodeling,简称为bim),bim技术的应用已经如火如荼。而bim技术的一个应用基础之一就是bim模型。一个建筑物涉及建筑、结构和机电等专业,因此一个建筑物的bim模型承载的信息包括构成建筑物的几何信息和属性信息。所以,bim模型因其承载的信息量大,从而,导致bim模型文件容量很大,少则几百m,多则几个g,这导致用户在查看bim模型时,需要安装很庞大的软件和购置高性能的电脑设备。庞大的软件和设备不仅成本较高,而且这些庞大的软件厂商基本是国外软件,也存在一定的建筑信息风险。因此,bim模型文件容量很大的问题,在一定程度上阻碍了bim技术在建筑业的应用。计算机信息技术行业中,如何减少用户在软件和硬件的投入,同时又具有高性能的查看大型bim模型的技术,展开了各种技术研究。其中,申请号201610219411.9申请公布号cn105912655a的中国发明专利申请,提出了“基于webgl的三维模型显示方法及相应的web-bim工程信息集成管理系统”,其中,描述了三维模型显示方法,包括以下步骤:第一步、将bim工程项目的ifc模型文件转换为obj模型文件,然后提取ifc模型文件的几何信息、法线信息、纹理信息和材质信息。第二步、利用javascript程序,通过obj-javascript交互,根据第一步所得obj模型文件,在支持webgl的浏览器页面中显示bim工程项目的三维模型,这个步骤主要包括:将obj模型文件分割成若干部分;解析各部分obj模型文件提取顶点属性数组;解析各部分obj模型文件提取法线属性数组;解析各部分obj模型文件提取纹理属性数组;解析各部分obj模型文件提取材质渲染属性数组。结束步、bim工程项目的网页三维显示完成,整个方法结束。该发明没有涉及ifc文件的建筑物构件属性解析,对obj文件提取了几何信息、法线信息、纹理信息和材质信息,存在过多的解析提取和计算,结构过于复杂,导致在解析obj文件消耗过多io、内存、和cpu等资源,从而导致性能下降,无法实现快速解析obj文件,影响了解析ifc文件效率,最终引起用户端响应速度慢的问题。ifc(industryfoundationclasses)标准是iai(internationalallianceofinteroperability)组织制定的建筑工程数据交换标准。技术实现要素:本发明的目的在于克服现有技术问题,提出一种基于bim模型文件的3d轻量化转换方法,用以实现提取ifc文件的建筑物构件属性,并与ifc文件的建筑物几何信息可关联,运用云计算技术有效地简化对obj文件的解析和计算,减少进行文件io操作频率,缩短前端用户的等待时间,提高用户体验等目的。为达成上述目的,本发明采用如下技术方案:一种基于bim模型文件的3d轻量化转化方法,包括如下步骤:包括如下步骤:步骤一,分别对ifc模型文件进行属性数据解析、几何材质解析,所述属性数据解析过程和几何材质解析过程不相关联,可以分别独立并行运行;所述对ifc模型文件进行属性数据解析具体包括步骤s11至步骤s13:步骤s11,解析ifc模型文件成文本内容;步骤s12,提取解析ifc模型文件成文本内容的建筑物构件属性信息;进一步的,所述建筑物构件属性信息包含以下一种或者多种:globalid、楼层、建筑物构件类型、属性分组、属性名称、属性值、属性单位、是否外部、ifc文件id、加载顺序优先级、建筑物生命周期阶段值;步骤s13,将建筑物构件属性信息采用分布式存储到关系型数据库;优选的,本发明实施例所述关系型数据库为mysql数据库;由于所述对ifc模型文件进行属性数据解析步骤由于设计成与其它步骤不相关性,因此,可单独为一个属性数据解析服务,独立部署。理论上只要云服务器数量不受限制,这一服务可无限部署,从而实现云计算。所述对ifc模型文件进行几何材质解析具体包括步骤s21至步骤s23:步骤s21,通过ifcconvert插件,将ifc模型文件转换为obj文件和mtl材质信息文件;步骤s22,将所述mtl材质信息文件的纹理信息采用分布式存储到key-value存储格式的数据库;优选的,本发明实施例,所述key-value存储格式的数据库为mongodb数据库;进一步的,所述mtl材质信息文件的纹理信息采用key-value格式存储,key为建筑物构件的ifc文件数据库存储id,value为mtl文件内容信息;步骤s23,将所述obj文件按group节点分解,提取建筑物构件级几何信息和材质信息,并将建筑物构件级几何信息和材质信息采用分布式存储到key-value存储格式的数据库;优选的,本发明实施例,所述key-value存储格式的数据库为mongodb数据库;由于所述对ifc模型文件进行属性数据解析步骤由于设计成与其它步骤不相关性,因此,可单独为一个属性数据解析服务,独立部署。理论上只要云服务器数量不受限制,这一服务可无限部署,从而实现云计算。步骤二,配置查询服务器,所述查询服务器设置模型构件web端加载优先级,并根据模型构件web端加载优先级采用多线程分步查询和加载建筑物构件属性信息和几何材质信息;进一步的,按照建筑物外观、建筑物结构、建筑物内部细节的顺序标记level属性值,优先级最高的为1,其次为2,3,4如此标记加载顺序等级值;进一步的,多线程分步查询为分页轮循查询;根据level属性值的优先加载等级顺序查询。当同一level等级顺序查询数据记录内容大小大于设定阀值时,则自动增加分页查询。步骤三,通过restful风格的数据库查询接口,实现web前端3d轻量化展示。进一步的,采用threejs开源框架,通过restful风格的数据库查询接口,实现web前端3d轻量化展示。进一步的,在解析bim模型文件时,根据规划、设计、施工、运维4个不同阶段的建筑物构件信息分别对应设置阶段属性值,并设置不同角色人员的角色权限,所述角色权限为角色人员查看相对应的建筑物构件信息。本发明方法中,在解析bim模型时,自动设置模型构件web端加载优先级,以供按优先等级查询构件,从而避免一次性加载过多模型构件导致响应慢或web资源快速消耗。同时,加入角色权限这一因素,可进一步减少一次性加载的模型构件数量。在解析bim模型时,根据规划、设计、施工、运维4个不同阶段,分别设置阶段属性值(对应值为:1、2、3、4),当集成到业务系统时,就可给不同角色的人员,通过权限设置来控制查看建筑物构件信息内容。例如:规划人员,只可查看属于规划阶段属性的建筑物构件信息,而看不到设计、施工、运维这3个阶段的建筑物构件信息。规划人员、设计人员、施工人员、运维人员只能查看属于自己阶段属性的建筑物构件信息。具体而言,规划人员只能查看规划阶段属性的建筑物构件信息,设计人员只能查看设计阶段属性的建筑物构件信息,施工人员只能查看施工阶段属性的建筑物构件信息,运维人员只能查看运维阶段属性的建筑物构件信息。通过以上步骤,最终整体上实现bim模型从上传到web展示的快速响应、bim模型的精细化展示和模型操作(例如:放大、缩小、旋转、剖切、漫游、批注等,如150m大小的bim模型文件,从上传到web展示,在90秒以内完成,且模型操作响应时间都在1秒以内)。与现有技术相比,通过本发明的基于bim模型文件的3d轻量化转换方法,可以达到如下有益效果:(1)通过bim模型在web的轻量化3d展示,以及3d建筑物构件与属性信息之间的关联,实现用户在web轻量化显示bim模型,而无需安装庞大的软件,从而实现节约成本,本发明方法可以应用在建筑业领域的建筑物规划、设计、施工和运维4个阶段的bim模型3d轻量化展示;(2)虽然同属于一个bim模型文件,本发明方法简化对obj文件的解析和计算,同时实现提取ifc文件的建筑物构件属性,并与ifc文件的建筑物几何材质可关联,属性数据解析过程和几何材质解析过程实现了不相关性,从而将串联式的解析过程转换为并联式的解析过程,并达到可采用分布式计算方法的要求,解析性能取决于解析属性数据和解析几何数据两者中的最耗时者,文件解析过程运用云计算技术来实现提升性能提升解析bim模型文件的整体解析性能,进而降低服务器硬件配置要求;(3)本发明方法实现属性数据和几何数据可分库分布式存储,实现海量数据的存储;(4)与现有技术中在文件解析过程未运用云计算技术相比较,本发明方法采用分布式云计算实现提升性能和降低服务器硬件配置,本发明的避免了频繁进行文件io操作,减少进行文件io操作频率,文件io操作只涉及3次,其余均为内存级别的。例如,通常150m大小的bim模型文件,模型构件数量一般在1000个以上,采用本发明方法,io操作的次数仅为3次,并不会随着模型构件的数量增多而增加io操作次数;(5)本发明方法实现属性数据、几何数据查询采用按模型构件优先加载顺序等级的查询算法,并结合多线程技术,实现查询的性能问题,并可按角色查看数据和高体验效果,在3d展示方面,缩短前端用户的等待时间,提高用户体验;在排除网络传输速率的前提下,最终实现150m大小的ifc模型文件,从上传解析到web前端3d展示,总耗时在90秒以内。附图说明此处所说明的附图用来提供对发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1为本发明的一种基于bim模型文件的3d轻量化转化方法的步骤流程图;图2属性数据解析服务的云计算架构图;图3几何材质解析服务的云计算架构图。具体实施方式为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。一种基于bim模型文件的3d轻量化转化方法,如附图1所示,包括步骤s1至步骤s3:步骤s1,分别对ifc模型文件进行属性数据解析、几何材质解析,所述属性数据解析过程和几何材质解析过程不相关联,可以分别独立并行运行,并进入步骤s2;所述对ifc模型文件进行属性数据解析具体包括步骤s11至步骤s13:步骤s11,解析ifc模型文件成文本内容;步骤s12,提取解析ifc模型文件成文本内容的建筑物构件属性信息,所述建筑物构件属性信息包含以下一种或者多种:globalid、楼层、建筑物构件类型、属性组名称、属性名称、属性值、属性单位、是否外部、ifc文件id、加载顺序优先级、建筑物生命周期阶段值,如表1bim_property建筑物构件属性信息所示,其中,bim_propert存放属性信息的数据库表名。表1bim_property建筑物构件属性信息建筑物构件属性信息含义id:int记录idgroup_:varchar(255)属性组名称floor:varchar(255)楼层ifc_type:varchar(255)建筑物构件类型is_external:bit是否外部name:varchar(255)构件级属性名称notes:varchar(255)备注profileid:varchar(32)ifc文件idproperty_unit:varchar(255)属性单位property_value:varchar(255)属性值uuid::varchar(255)globalidsub_name::varchar(255)属性名称priority:tinyint加载顺序优先等级period:tinyint建筑生命周期阶段属性步骤s13,将建筑物构件属性信息采用分布式存储到关系型数据库,优选的,本发明实施例中,将建筑物构件属性信息采用分布式存储到mysql数据库;需要说明的是,解析ifc模型文件成文本内容过程可以在pc端执行,也可以当把解析建筑物构件属性信息服务部署到云服务器,在分布式云端执行。所述对ifc模型文件进行几何材质解析具体包括步骤s21至步骤s23:步骤s21,通过ifcconvert插件,将ifc模型文件转换为obj文件和mtl材质信息文件;步骤s22,将所述mtl材质信息文件的纹理信息采用分布式存储到key-value存储格式的数据库,本实施例中,优选的,将所述mtl材质信息文件的纹理信息采用分布式存储到mongodb数据库;进一步的,所述mtl材质信息文件的纹理信息采用key-value格式存储,key为建筑物构件的ifc文件数据库存储id,value为mtl文件内容信息;步骤s23,将所述obj文件按group节点分解,提取建筑物构件级几何信息和材质信息,并将建筑物构件级几何信息和材质信息采用分布式存储到key-value存储格式的数据库,本实施例中,优选的,将建筑物构件级几何信息和材质信息采用分布式存储到mongodb数据库;mongodb是一个基于分布式文件存储的数据库,一个介于关系数据库和非关系数据库之间的产品。进一步的建筑物构件级几何信息和材质信息采用key-value格式存储,key为建筑物构件的globalid,value为几何信息。需要说明的是,对ifc模型文件进行几何材质解析过程可以在pc端执行,也可以当把解析几何材质服务部署到云服务器,在分布式云端执行。其中,所述对ifc模型文件进行属性数据解析步骤由于设计成与其它步骤不相关性,因此,可单独为一个属性数据解析服务,独立部署。理论上只要云服务器数量不受限制,这一服务可无限部署,从而实现云计算,如附图2所示,将不同的ifc模型文件(ifc文件1、ifc文件2、ifc文件3……ifc文件x)在云端服务器进行属性数据解析运算。所述对ifc模型文件进行几何材质解析步骤由于设计成与其它步骤不相关性,因此,可单独为一个几何材质信息解析服务,独立部署。理论上只要云服务器数量不受限制,这一服务可无限部署,从而实现云计算,如附图3所示,将不同的ifc模型文件(ifc文件1、ifc文件2、ifc文件3……ifc文件x)在云端服务器进行几何材质解析运算。步骤s2,配置查询服务器,所述查询服务器设置模型构件web端加载优先级,并根据模型构件web端加载优先级采用多线程分步查询和加载建筑物构件属性信息和几何材质信息,并进入步骤s3;进一步的,按照建筑物外观、建筑物结构、建筑物内部细节的顺序标记level属性值,优先级最高的为1,其次为2,3,4如此标记加载顺序等级值;进一步的,多线程分步查询为分页轮循查询;根据level属性值的优先加载等级顺序查询。当同一level等级顺序查询数据记录内容大小大于设定阀值时,则自动增加分页查询。步骤s3,通过restful风格的数据库查询接口,实现web前端3d轻量化展示。进一步的,采用threejs开源框架,通过restful风格的数据库查询接口,实现web前端3d轻量化展示。本发明方法,通过ifc模型文件,将提取建筑物构件级属性信息和几何材质信息这两个解析过程分别独立运行。虽然同属于一个ifc模型文件,但是,属性数据解析模块和几何材质解析模块实现了不相关性,从而将串联式的解析过程转换为并联式的解析过程,并实现分布式计算。以上各实施例仅用以说明本发明的技术方案,但应当理解本发明并非局限于上述实施例,通过本发明的启示,本领域技术人员结合公知或现有技术、知识所进行的修改,或者对其中部分或者全部技术特征进行等同替换也应视为在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1