CN110008597B - 基于并行计算框架的建筑信息模型三角剖分方法及装置 - Google Patents

基于并行计算框架的建筑信息模型三角剖分方法及装置 Download PDF

Info

Publication number
CN110008597B
CN110008597B CN201910277093.5A CN201910277093A CN110008597B CN 110008597 B CN110008597 B CN 110008597B CN 201910277093 A CN201910277093 A CN 201910277093A CN 110008597 B CN110008597 B CN 110008597B
Authority
CN
China
Prior art keywords
ifc
triangulation
subfiles
file
shape representation
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
Application number
CN201910277093.5A
Other languages
English (en)
Other versions
CN110008597A (zh
Inventor
周小平
王佳
王家麟
宋冰玉
韩萌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bim Winner Beijing Technology Co ltd
Original Assignee
Bim Winner Shanghai Technology Co ltd
Shenzhen Bim Winner Technology Co ltd
Yingjia Internet Beijing Smart Technology Co ltd
Bim Winner Beijing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bim Winner Shanghai Technology Co ltd, Shenzhen Bim Winner Technology Co ltd, Yingjia Internet Beijing Smart Technology Co ltd, Bim Winner Beijing Technology Co ltd filed Critical Bim Winner Shanghai Technology Co ltd
Priority to CN201910277093.5A priority Critical patent/CN110008597B/zh
Publication of CN110008597A publication Critical patent/CN110008597A/zh
Application granted granted Critical
Publication of CN110008597B publication Critical patent/CN110008597B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Computational Mathematics (AREA)
  • Architecture (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例提供一种基于并行计算框架的建筑信息模型三角剖分方法及装置,所述方法包括:根据IFC规范将目标BIM模型的IFC文件划分为多个IFC子文件;将所述IFC子文件分配给多个IFC三角剖分单元,基于并行计算框架使用各所述IFC三角剖分单元对分配给各所述IFC三角剖分单元的IFC子文件进行三角剖分。本发明实施例利用有限的内存对大型的BIM模型进行三角剖分,提高了BIM大数据的处理能力,降低了内存使用和时间消耗。

Description

基于并行计算框架的建筑信息模型三角剖分方法及装置
技术领域
本发明实施例属于建筑信息建模技术领域,更具体地,涉及一种基于并行计算框架的建筑信息模型三角剖分方法及装置。
背景技术
建筑信息模型(Building Information Modeling,BIM)是一种新兴的、有前途的BLM(Building Lifecycle Management,建筑全生命周期管理)技术,它系统地捕获多维计算机辅助设计(Computer Aided Design,CAD)信息,以支持利益相关者之间的多学科协作。BIM模型一般定义为数字形式的建筑信息的“总和”,它不仅包含空间、几何数据,还包含建筑生命周期中积累的大量工程数据。通过为有关设施的信息提供共享的知识资源,BIM在其生命周期中支持利益相关者之间的数据互操作性和协作。目前,BIM已经应用于BLM的几乎所有阶段,包括设计协作、基于BIM的多维管理和设施管理等。
BIM通常有六个特性,即数字化、空间化、可测量性、综合性、可访问性和持久性。最近,有学者认为从计算机科学的角度来看,BIM的定义也应该加入“可处理”的概念,因为随着在建项目的继续进行和新项目的启动,BIM的体量不断增加,变得非常大。因此,处理大规模BIM数据的能力,也称为BIM数据的可处理性,已经成为BIM的一个关键问题。可处理性意味着BIM数据应该在可接受的时间内以有限的计算资源进行有效的解析、计算和分析。例如,要将BIM应用于基于web的协作系统,需要对在专业设计工具中设计的BIM文件进行相应的计算并嵌入到协作系统中。显然,可处理性是衡量BIM在生命周期决策支持系统中适用性的关键因素。
BIM数据通常是被压缩的三维几何编码,计算密集,各种专有格式交织在一起。三维几何数据是BIM中最主要也是计算最密集的数据之一。通常,三维几何数据至少由以下模型之一表示:边界表示(Boundary Representation,Brep)、NURBS(Non Uniform RationalB-spline,非均匀有理B样条曲线)、构造实体几何(Constructive Solid Geometry,CSG)或扫描实体模型SweptSolid。这些技术提供了以压缩格式描述各种形状的强大功能。然而,混合三维几何表示的使用也带来了缺点。其中一个关键的问题是,这些三维表示模型不能在许多场景中直接呈现。例如,由于OpenGL ES和WebGL的限制,Web系统和移动电话应用程序无法支持复杂的实体几何描述的呈现。这触发了对BIM数据中几何图形进行三角化的主要需求。此外,开发人员必须对BIM中复杂的几何定义有足够的了解,这也增加了BIM应用程序开发的难度。
目前,一些研究已经开发出BIM三角剖分工具,可以将BIM数据中的几何图形转换成三角形网格。有了这些工具,开发人员可以集中精力发展他们的业务,而不需要理解BIM数据中复杂的几何定义。然而,在对BIM大数据进行三角化时,至少还有两个问题需要解决,以提高BIM的可处理性。首先,三角化BIM数据需要大量的内存。根据广泛用于构建BIM应用程序的BIMServer的性能统计,即使25GB的内存也无法解析BIM数据3.7GByte的IFC文件。因此,在一些研究中使用了具有220GB内存的计算机。毫无疑问,不可能为每一个建设项目都配备这样一台超级计算机。这就引发了对普通计算机中BIM文件三角化的新需求。其次,BIM数据三角化需要很长的时间。根据实证研究结果,对一个300mb的IFC文件进行三角剖分需要一个多小时。毫无疑问,IFC文件越大,解析引擎所需的时间就越多。在项目成员需要更频繁地进行转换的场景中,三角剖分速度是一个重要的因素。此外,在公共服务器上在线部署BIM三角剖分服务时,效率也是用户体验的关键指标之一。BIM三角剖分中的这两个可处理性问题在一定程度上阻碍了BIM的应用。毫无疑问,大BIM文件几何三角剖分的探索,可以为大数据时代BIM的研究奠定基础。
综上所述,现有的BIM三角剖分方法内存使用量大,且运行时间较长,亟需一种新的BIM三角剖分方法来解决这个问题。
发明内容
为克服上述现有的BIM三角剖分方法需要大量内存且计算效率低的问题或者至少部分地解决上述问题,本发明实施例提供一种基于并行计算框架的建筑信息模型三角剖分方法及装置。
根据本发明实施例的第一方面,提供一种基于并行计算框架的建筑信息模型三角剖分方法,包括:
根据IFC规范将目标BIM模型的IFC文件划分为多个IFC子文件;
将所述IFC子文件分配给多个IFC三角剖分单元,基于并行计算框架使用各所述IFC三角剖分单元对分配给各所述IFC三角剖分单元的IFC子文件进行三角剖分。
根据本发明实施例第二方面提供一种基于并行计算框架的建筑信息模型三角剖分装置,包括:
划分模块,用于根据IFC规范将目标BIM模型的IFC文件划分为多个IFC子文件;
计算模块,用于将所述IFC子文件分配给多个IFC三角剖分单元,基于并行计算框架使用各所述IFC三角剖分单元对分配给各所述IFC三角剖分单元的IFC子文件进行三角剖分。
根据本发明实施例的第三个方面,还提供一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的基于并行计算框架的建筑信息模型三角剖分方法。
根据本发明实施例的第四个方面,还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的基于并行计算框架的建筑信息模型三角剖分方法。
本发明实施例提供一种基于并行计算框架的建筑信息模型三角剖分方法及装置,该方法为了并行解析目标BIM模型的几何形状,根据IFC规范将目标BIM模型的IFC文件分割成独立的多个IFC子文件,并将独立的IFC子文件分配到并行计算集群中的不同计算机的进程中并进行三角剖分,从而通过引入并行计算框架,利用有限的内存对大型的BIM模型进行三角剖分,提高了BIM大数据的处理能力,降低了内存使用和时间消耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于并行计算框架的建筑信息模型三角剖分方法整体流程示意图;
图2为本发明实施例提供的基于并行计算框架的建筑信息模型三角剖分方法中集合对象的有向图;
图3为本发明实施例提供的基于并行计算框架的建筑信息模型三角剖分方法中BIMServer和BIMTriSer之间的内存使用比较示意图;
图4为本发明实施例提供的基于并行计算框架的建筑信息模型三角剖分方法中BIMServer和BIMTriSer之间的运行时间比较示意图;
图5为本发明实施例提供的基于并行计算框架的建筑信息模型三角剖分方法中不同进程数量下BIMTriSer的运行时间比较示意图;
图6为本发明实施例提供的基于并行计算框架的建筑信息模型三角剖分装置整体结构示意图;
图7为本发明实施例提供的电子设备整体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例之前先介绍IFC实例和几何对象。
IFC实例i是IFC实体的具体实例。几何对象是指与几何或空间上下文有关的IFC实例。通常,几何对象o具有形状表示s和对象放置l。因此,几何对象可以通过元组o=(s,l)来建模。M表示IFC文件中所有几何对象的集合,是IFC文件中所有IFC实例的子集。在IFC中,所有几何对象都由继承自IfcProduct的实体定义。几何对象是具有三维形状和建筑物中特定位置的设施,而IFC实例是由IFC文件中的一行描述的。这意味着一个几何对象由几个IFC实例来描述。例如,#155=IFCWALLSTANDARDCASE(′3vB2YO$MX4xv5uCqZZG05x′,#41,′Wallxyz′,′Descrip-tion of Wall′,$,#124,#151,‘308537’)中,IfcWallStandardCase是IFC实体,而由行号#155表示的i155是实体IfcWallStandardCase的实例,“3vB2YO$MX4xv5uCqZZG05x”是IfcWallStandardCase实例的GUID。第二个参数“#41”依赖IfcOwnerHistory实例。“Wall xyz”是Wall对象的名称,后面是它的描述。“#124”是一个IfcLocalPlacement实例,用于定义墙壁的对象坐标系。“#151”是定义墙的形状表示的IfcProduct DefinitionShape实例。IFC实例#155、#124和#151一起定义了几何对象o155。#155所描述的墙具有3D形状和特定的位置,是一个几何对象。
几何对象的形状表示s是指同一对象坐标系中由多个形状属性,包括颜色定义的几何对象的表示。具体地,IfcProduct的形状表示可以通过IfcProductRepresentation描述,或作为形状表示的特殊情况用IfcProductDefinitionShape来描述。对象放置l是几何物体在空间中的位置。l既可以与世界坐标系有关,也可以相对与另一个对象位置有关,也可以与约束有关,如网格轴。形状表示和对象放置都分别由多个IFC实例定义。IFC规范中,对象的放置由IfcObjectPlacement定义,IfcObjectPlacement中的轴位置信息决定了对象坐标系的转换。任何具有几何或空间上下文的对象都可以用IfcProduct来描述。为IfcProduct对象分配一个几何表示时,还应该给出具体的位置。IfcProduct的表示形式在IfcProductRepresentation中描述。IfcProductRepresentation中所有点和方向的坐标系由IfcObjectPlacement定义。
在本发明的一个实施例中提供一种基于并行计算框架的建筑信息模型三角剖分方法,图1为本发明实施例提供的基于并行计算框架的建筑信息模型三角剖分方法整体流程示意图,该方法包括:S101,根据IFC规范将目标BIM模型的IFC文件划分为多个IFC子文件;
其中,目标BIM模型为需要进行三角剖分的BIM模型,IFC(Industry FoundationClass,行业基础类)是一个与平台无关的开放文件格式规范,最初用于描述建筑和建筑业数据。IFC是基于对象的,通常以文件扩展名*.IFC的形式存在。作为一个开放的标准,IFC是一个正式的国际标准。本实施例中的目标BIM模型采用IFC文件表示。IFC定义了一个基于表达式的实体-关系模型,该模型由数百个实体组成,这些实体被组织成一个基于对象的继承层次结构。在最抽象的层面上,IFC将所有实体分为根基实体和非根基实体。根基实体源自IfcRoot,具有GUID(Globally Unique Identifier,全局唯一标识)的概念,以及名称、描述和修订控制的属性。非根实体没有标识,并且实例只有在直接或间接地从根实例依赖时才存在。IfcRoot被细分为三个抽象概念,即对象定义、关系和属性集。其中,对象定义IfcObjectDefinition捕捉实物和类型;关系IfcRelationship捕获对象之间的关系;属性集IfcPropertyDefinition捕捉对象动态可扩展的属性。
本发明实施例通过REST API(Application Programming Interface,应用程序接口)接收目标BIM模型的IFC文件。为了使用并行计算框架的功能,将目标BIM模型的IFC文件进行分解,将大型的IFC文件分割为多个独立的小型IFC子文件,即将IFC文件中的几何对象分配到不同的IFC子文件中,每个小型IFC子文件可以在有限的内存使用情况下快速进行三角剖分。从而使得大型IFC文件的几何形状可以在有限内存使用的情况下更有效地转换成三角形网格。
S102,将所述IFC子文件分配给多个IFC三角剖分单元,基于并行计算框架使用各所述IFC三角剖分单元对分配给各所述IFC三角剖分单元的IFC子文件进行三角剖分。
IFC三角剖分单元为对小型IFC子文件进行三角剖分的计算单元。将小型IFC子文件分发到不同的IFC三角剖分单元,基于并行计算框架使用每个IFC三角剖分单元读取所分配的IFC子文件中对象的几何形状,并将形状表示转换为三角形网格。所有三角形网格都存储在数据库中,供决策支持系统检索。从而实现参与计算的IFC三角剖分单元对IFC子文件的并行计算。在IFC三角剖分单元足够的情况下,可以利用有限的内存高效地对任意大小的IFC文件进行几何三角剖分。解决了大BIM数据的可处理性问题,为BIM应用程序提供了强大的工具,增强了构建相关决策支持系统的能力。
本实施例中的并行计算框架可以为MapReduce、Spark或MPI(Message ProcessInterface,消息处理接口),这三种并行框架是利用底端计算机高效、可伸缩地处理密集大数据计算的强大工具,被广泛应用于解决各个领域的大数据处理问题。显然,采用并行计算框架可以提高大BIM数据几何三角剖分的可处理性。但本实施例不限于这三种并行计算框架。由于IFC实例之间的复杂关系妨碍了直接使用并行计算框架来三角化BIM数据。因此,需要将大的BIM数据,即目标BIM模型的IFC文件分割成独立的小型IFC子文件。
本发明实施例为了并行解析目标BIM模型的几何形状,根据IFC规范将目标BIM模型的IFC文件分割成独立的多个IFC子文件,并将独立的IFC子文件分配到并行计算集群中的不同计算机的进程中并进行三角剖分,从而通过引入并行计算框架,利用有限的内存对大型的BIM模型进行三角剖分,提高了BIM大数据的处理能力,降低了内存使用和时间消耗。
在上述实施例的基础上,本实施例中根据IFC规范将目标BIM模型的IFC文件划分为多个IFC子文件的步骤具体包括:将所述IFC文件中具有相同形状表示的几何对象的定义写入同一个所述IFC子文件中;其中,一个所述IFC子文件中包含一种形状表示的几何对象的定义;相应地,使用各所述IFC三角剖分单元对分配给各所述IFC三角剖分单元的IFC子文件进行三角剖分的步骤具体包括:使用各所述IFC三角剖分单元对各所述IFC子文件中的同一形状进行一次三角剖分。
具体地,划分IFC文件的直接方法是根据IFC规范将几何对象分割成不同的IFC子文件。具体从IFCProduct实例开始,然后扫描所有IFC实例,以聚合IFCProduct的形状表示和对象位置,以将IFC文件中的几何对象分配到IFC子文件中。然而,许多几何对象在IFC文件中可能共享相同的形状表示。如果每个几何对象都存在于单独的IFC文件中,那么许多几何对象共享的那些形状表示必须被解析多次。因此,几何三角剖分的处理成本大大增加。如一个建筑物的23个窗口共享相同的形状表示。如果将23个窗口的几何对象划分到23个不同的IFC子文件以进行进一步的三角剖分,则必须对相同形状表示完全解析23次。因此,将具有相同形状表示的几何对象划分到同一个IFC子文件中。几何对象o由其形状表示s和对象放置l组成。共享相同形状表示的几何对象之间的唯一区别就是对象的放置,因此所有具有相同形状表示的几何对象在同一个IFC子文件中进行描述。这样当对具有相同形状表示的几何对象进行三角剖分时,只需要经过一次解析。这可以大大减少三角剖分的总时间。同时,同一种形状表示的含义在IFC子文件中只记录一次,减少内存占用。此外,将具有不同形状表示的集合对象划分到不同的IFC子文件中。几何对象的含义为描述几何对象的所有实例,形状表示的含义为描述形状表示的所有实例。
在上述实施例的基础上,本实施例中将所述IFC文件中具有相同形状表示的几何对象的定义写入同一个所述IFC子文件中的步骤具体包括:根据所述IFC文件中实例间的所有依赖关系,构建所述IFC文件的有向图;对于所述有向图中的任一形状表示节点,将与该形状表示节点相连的几何对象节点作为具有相同形状表示的几何对象;将所述具有相同形状表示的几何对象的对象放置定义和该形状表示节点的定义写入到同一个所述IFC子文件中。
具体地,IFC文件是一个实体-关系模型,根据IFC文件中的所有依赖关系构建IFC文件的有向图G。例如,O124是一个wall对象,l125是O124的对象放置,s130是O124的三维形状表示。因此,构建O124到l125和s130的两条边。同样,l125进一步连接到l125所依赖的IFC实例,s130进一步连接到s130所依赖的IFC实例,最后,构造一个捕捉几何对象依赖关系的有向图G。几何对象O124的依赖关系如下所示。
Figure BDA0002020367320000091
本实施例用#号加行号的组合表示一个实例,如#124表示几何对象O124,#125表示O124的对象放置l125,#130表示O124的三维形状表示s130,#98表示实例i98。从中可以看出几何对象O124依赖于放置位置l125和形状表示s130,l125和s130又进一步依赖于其他的IFC实例。l125依赖于实例i98和i126,i98依赖于实例i46和i99,i126依赖于实例i127、i128和i129。由于i127、i128和i129不依赖任何其他IFC实例,所以它们是叶子实例。i46和i99均不为叶子实例,需要依赖其他IFC实例。然后构造l125的树状有向图。以同样的方法,构造s130的有向图。构造的O124的有向图如图2所示。将所有与o124相关的IFC实例放入单个IFC文件中时,IFC文件可以单独三角化。有向图中形状表示节点的父节点是IFCProduct表示的几何对象,如s130的父节点为几何对象O124。当一个形状表示节点有多个父节点时,说明这些父节点表示的几何对象共享相同的形状表示,将共享相同形状表示的几何对象写入同一个IFC文件中。例如,几何对象o1和o2有相同的形状表示法s1,即具有相同形状,但位于不同位置。将o1、o2、s1、l1、l2以及s1的所有形状定义划分到同一个IFC子文件,其中l1和l2是o1和o2的对象放置定义。类似地,将几何对象o3、o3的对象放置l3的定义和o3的形状表示s2的定义输出到另一个IFC子文件。通过这种方式,将原始的大型IFC文件分解为独立的小型IFC子文件。由于每个独立的IFC子文件可以描述共享相同形状表示的几何对象的三维形状表示,因此可以使用有限的内存正确有效地解析它们。
IFC文件划分的时间复杂度为∑s[o(|Ms|)+O(|s|)]≤O(m),其中m、|ms|和|s|分别为IFC文件中的IFC实例数、连接到s的几何对象数和描述s的IFC实例数。根据IFC规范构建参考图G需要对所有IFC实例进行一次扫描,在时间复杂度上花费O(m)。对于给定的形状表示s,收集所有连接到s的几何对象节点及其对象位置的时间代价为O(|Ms|)。不难判断,生成与s相关的IFC子文件的花费为O(|Ms|)+O(|s|)=O(|Ms|+|s|),其中|s|表示描述s的IFC实例数。根据G成本,生成所有的IFC子文件需花费的时间为∑s[o(|Ms|)+O(|s|)]。很明显,∑s[o(|Ms|)+O(|s|)]≤O(m)。因此,IFC文件划分的时间复杂度为O(m)+O(m)=O(2m)。由于∑s[o(|Ms|)+O(|s|)]表示描述所有几何对象的IFC实例的数量。因此,IFC实例的数量和描述所有几何对象的IFC实例的数量都会影响IFC文件划分的运行时间。
在上述实施例的基础上,本实施例中根据所述IFC文件中实例间的所有依赖关系,构建所述IFC文件的有向图的步骤具体包括:从所述IFC文件中的几何对象开始进行扫描,获取所述几何对象的形状表示和对象放置;将所述几何对象的形状表示和对象放置对应的节点作为所述几何对象对应节点的子节点;将所述几何对象的形状表示所依赖的实例对应的节点作为所述几何对象的形状表示对应节点的子节点,将所述几何对象的对象放置所依赖的实例对应的节点作为所述几何对象的对象放置对应节点的子节点,直到构建的所述有向图中最后一层节点对应的实例均不依赖其他实例。
例如,图2中几何对象O124的对象放置为l125,三维形状表示为s130。因此,将构建l125和s151作为O124的子节点。同样,l125所依赖的IFC实例为i98和i126,i98和i126作为l125的子节点;s130所依赖的IFC实例为i150,i150作为s130的子节点。按照该方法,继续寻找i98、i126和i150的子节点,直到构建的有向图中最后一层节点对应的实例均不依赖其他实例,即为叶子实例。从而构造出一个捕捉几何对象依赖关系的有向图G。
在上述各实施例的基础上,本实施例中将所述IFC子文件分配给多个IFC三角剖分单元的步骤具体包括:当接收到三角剖分请求时,向集群中的所有IFC三角剖分单元广播所述三角剖分请求,并将所有所述IFC子文件写入到分布式文件系统中,以供各所述IFC三角剖分单元根据所述三角剖分请求读取所述分布式文件系统中的IFC子文件。
具体地,使用了一个并行计算框架进行IFC子文件的三角剖分。该框架由服务器IFC三角剖分单元组成。IFC三角剖分单元的主要任务是将IFC子文件中的原始几何描述转换成三角形网格。每个IFC三角剖分单元接收划分的IFC子文件,对几何图形进行三角剖分,并将三角形网格存储到数据库中。三角剖分请求通常从一个客户端发送到并行计算集群中的一个计算机,这个计算机叫做主服务器。主服务器向并发计算集群中的所有IFC三角剖分单元,即所有进程广播三角剖分要求,并将划分后的IFC子文件写入到分布式文件系统中。之后每个进程可以并行运行IFC三角剖分算法。各IFC三角剖分单元根据三角剖分请求读取所述分布式文件系统中的IFC子文件。当所有独立的IFC子文件被解析后,将结果返回给客户端。因为每台机器,即IFC三角剖分单元直接将剖分后的三角网格数据写入数据库,不需要将剖分结果进行合并操作。本发明实施例使用消息处理接口规范将IFC子文件的三角剖分过程分布到计算集群上。
在上述各实施例的基础上,本实施例中将所述IFC子文件分配给多个IFC三角剖分单元的步骤具体包括:为各所述IFC三角剖分单元分配一个所述IFC子文件;在各所述IFC三角剖分单元完成所述IFC子文件的三角剖分之后,为各所述IFC三角剖分单元重新分配一个IFC子文件,直到对所有所述IFC子文件进行三角剖分。
具体地,为了能处理将大规模的IFC文件,本发明实施例将分割后的独立IFC子文件分布到并行计算集群中的多台计算机上,并使用所有计算机并行执行IFC三角剖分的方法。先将为各IFC三角剖分单元分配一个IFC子文件。一旦各IFC三角剖分单元在完成其分配的IFC子文件的解析之后,就会为其分配一个新的IFC子文件。当完成所有IFC子文件的三角剖分时,原始IFC文件完成解析。大约每个IFC三角剖分单元分配Ns/Nm个IFC子文件,其中Ns为原始IFC文件中三维形状表示的数量,Nm为并行计算集群中IFC三角剖分单元的数量。
在上述各实施例的基础上,本实施例中基于并行计算框架使用各所述IFC三角剖分单元对分配给各所述IFC三角剖分单元的IFC子文件进行三角剖分的步骤具体包括:使用各所述IFC三角剖分单元将分配给各所述IFC三角剖分单元的IFC子文件中的SweptSolid模型和CSG模型转换为Brep模型;基于Watson算法对模型转换后的所述IFC子文件中Brep模型进行三角剖分;将各所述IFC子文件的三角剖分结果存储到同一个数据库中。
具体地,在IFC规范中,目标BIM模型的形状通常由实体模型描述,包括Brep、SweptSolid和CSG。SweptSolid是一种标准的几何表示,其中一个剖面或区域沿轴挤压或绕轴旋转。CSG模型定义为使用特定操作组合的基本固体的集合。CSG和SweptSolid都是具有增强轮廓类型的高级几何表示,而Brep是大多数基于对象的三维模型中使用的基本模式。由于Brep以顶点和曲线为基本几何形状,可以毫不费力地转换成三角形网格曲面。因此,使用IFC三角剖分单元首先将SweptSolid和CSG转换为Brep。使用IFC三角剖分单元将实体模型统一为Brep后,使用Watson算法进行三角剖分。Watson算法的三角剖分是一种增量算法,它分割三角形,直到得到的三角剖分满足一定的偏差标准。该算法使用两个主要的选项来定义三角剖分,即线性和角偏转。在第一步中,根据指定的参数离散化面的所有边。在第二步中,面被细化。线性偏转限制了曲线与其细分化之间的距离,而角偏转限制了多线中后续段之间的角度。
传统的IFC三角剖分方法是在一台计算机上对大型IFC文件进行三角剖分。BIMServer是一个使用广泛的BIM平台,使用IfcOpenShell作为三角剖分工具。为了验证本发明实施例的有效性,以BIMServer作为对比。将本发明实施例中的方法简称为BIMTriSer方法。由于BIMTriSer的目标是通过引入并行计算框架来提高大BIM三角剖分的可处理性。由于计算资源和效率是衡量可处理性的两个关键因素,因此本实验选择内存使用和运行时间作为两个评价指标。选择9个IFC文件进行实验,大小从9.5M到881.5M不等。表1给出了9个IFC文件的统计数据。几何对象的数量从735个到39645个不等。显然,IFC文件的大小与几何对象的数量不是线性的。可能由两个因素导致。首先,共享相同3D形状表示的几何对象越多,IFC文件就越小。其次,一些几何对象可能具有更加复杂的三维形状,这就需要更多的IFC实例来描述三维形状。所有的实验都是在一台2.6GHz的CPU,内存为12GB的计算机上进行的。此外,在分割原始IFC文件之后,BIMTriSer1执行10个单独的进程。
表1 9个IFC文件的统计数据
文件编号 文件大小(M) 实例数量 几何对象数量
1 9.5 117,753 1,706
2 50.8 958,373 735
3 58.9 707,375 11,255
4 86.8 1,694,945 1,334
5 102.1 1,952,876 3,650
6 181.2 2,746,559 39,645
7 247.5 3,154,936 38,962
8 365.0 6,416,162 17,747
9 881.5 15,348,214 3,593
图3展示了9个IFC文件在BIMServer和BIMTriSer之间的内存使用比较。显然,IFC文件越大,BIMServer所需的内存就越多。在BIMServer中,241.7Mbyte IFC文件的最大内存使用量为8.3Gbytes。因为即使12Gb的内存也无法在一个小时内解析356.4Mbyte和881.5Mbyte IFC文件,所以356.4Mbyte和881.5Mbyte IFC文件的内存使用情况在图中没有显示。而BIMTriSer中的内存使用是稳定的,不需要超过1Gbyte。因此,一台具有4gbytes内存的计算机可以运行多个IFC几何三角剖分过程来提高效率。因此,BIMTriSer解决了传统BIM几何三角剖分工具的内存使用问题。
图4给出了9个IFC文件的BIMServer和BIMTriSer的运行时间。显然,随着IFC文件的大小,BIMServer中的运行时间显著增加。即使是解析241.7兆字节的IFC文件也需要将近一个小时。这种长时间的消耗可能会造成令人沮丧的用户体验,特别是对于在线应用程序。相反,BIMTriSer大大缩短了解析时间。在本实验中,IFC文件365.0Mbytes需要最长的三角剖分时间1243.8秒。881.5Mbyte IFC文件的三角剖分时间为841.36秒,远远小于365.0Mbyte文件的三角剖分时间。这是因为365.0Mbyte IFC文件比881.5Mbyte IFC文件拥有更多的几何对象。显然,BIMTriSer比BIMServer更有效地三角化IFC文件。在实证研究中,BIMServer的运行时间是BIMTriSer的8.0到18.3倍。具体来说,在50.8MByte IFC文件三角化中,BIMTriSer需要12.5%的BIMServer时间,而在58.9MByte IFC文件三角化中,BIMTriSer只需要5.5%的时间。很明显,BIMTriSer可以解决大型BIM模型的可处理性效率问题。
此外,还验证了整个文件划分过程所需的时间是有限的。如表2所示,365.0MByteBIM文件文件划分的运行时间为110.26s,是9个BIM文件中运行时间最长的一个。然而,它只占BIMTriSer运行时间的8.87%。有两个原因可以解释这一发现。首先,365.0Mbyte BIM文件比除881.5Mbyte BIM文件之外的其他BIM文件大得多,导致IFC实例更多。其次,365.0Mbyte的BIM文件比881.5Mbyte的BIM文件有更多的几何对象,也有更多描述几何对象的IFC实例。这与理论分析一致。此外,在BIMServer和BIMTriSer中,文件划分的运行时间只占总运行时间的一小部分。对于86.8Mbyte的BIM文件,文件划分的时间成本是51.28s,分别占BIMServer和BIMTriSer运行时间的6.4%和32.55%。这些百分比在所有9个实验BIM文件中是最高的。诚然,在进行几何三角剖分之前,BIMTriSer需要一些时间在文件划分中将BIM文件分割成几个子文件。然而,文件划分的工作效率很高,只占整个几何三角剖分过程的一小部分,在BIMServer中尤其如此。文件划分是BIMTriSer中的一个关键流程,它实现了BIM几何三角剖分的并行化,提高了大BIM数据的处理能力。
表2文件划分的运行时间
文件编号 文件大小(M) 文件划分的运行时间(s) 占BIMTriSer运行时间的比值(%)
1 9.5 0.54 3.82
2 50.8 10.55 16.96
3 58.9 4.56 10.9
4 86.8 51.28 32.55
5 102.1 26.26 24.97
6 181.2 17.51 5.85
7 247.5 20.22 8.25
8 365.0 110.26 8.87
9 881.5 69.02 8.2
由于BIMTriSer通过引入并行计算框架来解决可处理性问题,因此在具有不同进程数的单台计算机上对BIMTriSer的性能进行了研究。图5展示了在一台计算机上使用多个MPI进程执行BIMTriSer的实验结果。如5中的数字加上processes的组合表示进程个数,例如2processes表示2个进程。显然,当进程数从2增加到10时,整个几何三角剖分时间会减少。但是,当进程数大于6时,BIMTriSer的性能几乎保持不变。这是因为当同时运行6个以上的几何三角剖分进程时,所有CPU(Central Processing Unit,中央处理器)都被100%利用。在这种情况下,建议向并行计算集群中添加更多的计算机,以实现更快的BIM三角剖分。由于内存不是本实验的瓶颈,所以没有显示不同进程数的内存在一台计算机上的使用情况。当为BIMTriSer提供更多的计算机和更多的进程时,这样大的IFC文件可以在更短的时间内解析。因此,BIMTriSer解决了传统三角剖分算法的解析时间问题,实现了用户友好的体验。虽然BIMTriSer的性能只验证了9个IFC文件,但可以预测出BIMTriSer在IFC文件更多的情况下会有类似的性能。
在本发明的另一个实施例中提供一种基于并行计算框架的建筑信息模型三角剖分装置,该装置用于实现前述各实施例中的方法。因此,在前述基于并行计算框架的建筑信息模型三角剖分方法的各实施例中的描述和定义,可以用于本发明实施例中各个执行模块的理解。图6为本发明实施例提供的基于并行计算框架的建筑信息模型三角剖分装置整体结构示意图,该装置包括划分模块601和计算模块602;其中:
划分模块601用于根据IFC规范将目标BIM模型的IFC文件划分为多个IFC子文件;
其中,目标BIM模型为需要进行三角剖分的BIM模型。为了使用并行计算框架的功能,划分模块601将目标BIM模型的IFC文件进行分解,将大型的IFC文件分割为多个独立的小型IFC子文件,即将IFC文件中的几何对象分配到不同的IFC子文件中,每个小型IFC子文件可以在有限的内存使用情况下快速进行三角剖分。从而使得大型IFC文件的几何形状可以在有限内存使用的情况下更有效地转换成三角形网格。
计算模块602用于将所述IFC子文件分配给多个IFC三角剖分单元,基于并行计算框架使用各所述IFC三角剖分单元对分配给各所述IFC三角剖分单元的IFC子文件进行三角剖分。
IFC三角剖分单元为对小型IFC子文件进行三角剖分的计算单元。计算模块602将小型IFC子文件分发到不同的IFC三角剖分单元,基于并行计算框架使用每个IFC三角剖分单元读取所分配的IFC子文件中对象的几何形状,并将形状表示转换为三角形网格。所有三角形网格都存储在数据库中,供决策支持系统检索。从而实现参与计算的IFC三角剖分单元对IFC子文件的并行计算。本实施例中的并行计算框架可以为MapReduce、Spark或MPI(Message Process Interface,消息处理接口),但本实施例不限于这三种并行计算框架。
本发明实施例为了并行解析目标BIM模型的几何形状,根据IFC规范将目标BIM模型的IFC文件分割成独立的多个IFC子文件,并将独立的IFC子文件分配到并行计算集群中的不同计算机的进程中并进行三角剖分,从而通过引入并行计算框架,利用有限的内存对大型的BIM模型进行三角剖分,提高了BIM大数据的处理能力,降低了内存使用和时间消耗。
在上述实施例的基础上,本实施例中划分模块具体用于:将所述IFC文件中具有相同形状表示的几何对象的定义写入同一个所述IFC子文件中;将所述IFC文件中具有不同形状表示的几何对象的定义写入到不同的所述IFC子文件中;相应地,计算模块用于使用各所述IFC三角剖分单元对各所述IFC子文件中的同一形状进行一次三角剖分。
在上述实施例的基础上,本实施例中划分模块进一步用于:根据所述IFC文件中实例间的所有依赖关系,构建所述IFC文件的有向图;对于所述有向图中的任一形状表示节点,将与该形状表示节点相连的几何对象节点作为具有相同形状表示的几何对象;将所述具有相同形状表示的几何对象的对象放置定义和该形状表示节点的定义写入到同一个所述IFC子文件中。
在上述实施例的基础上,本实施例中划分模块进一步用于:从所述IFC文件中的几何对象开始进行扫描,获取所述几何对象的形状表示和对象放置;将所述几何对象的形状表示和对象放置对应的节点作为所述几何对象对应节点的子节点;将所述几何对象的形状表示所依赖的实例对应的节点作为所述几何对象的形状表示对应节点的子节点,将所述几何对象的对象放置所依赖的实例对应的节点作为所述几何对象的对象放置对应节点的子节点,直到构建的所述有向图中最后一层节点对应的实例均不依赖其他实例。
在上述各实施例的基础上,本实施例中计算模块具体用于:当接收到三角剖分请求时,向并行计算集群中的所有IFC三角剖分单元广播所述三角剖分请求,并将所有所述IFC子文件写入到分布式文件系统中,以供各所述IFC三角剖分单元根据所述三角剖分请求读取所述分布式文件系统中的IFC子文件。
在上述各实施例的基础上,本实施例中计算模块具体用于:为各所述IFC三角剖分单元分配一个所述IFC子文件;在各所述IFC三角剖分单元完成所述IFC子文件的三角剖分之后,为各IFC三角剖分单元重新分配一个IFC子文件,直到对所有IFC子文件进行三角剖分。
在上述各实施例的基础上,本实施例中计算模块具体用于使用各所述IFC三角剖分单元将分配给各所述IFC三角剖分单元的IFC子文件中的SweptSolid模型和CSG模型转换为Brep模型;基于Watson算法对模型转换后的所述IFC子文件中Brep模型进行三角剖分;将各所述IFC子文件的三角剖分结果存储到同一个数据库中。
本实施例提供一种电子设备,图7为本发明实施例提供的电子设备整体结构示意图,该设备包括:至少一个处理器701、至少一个存储器702和总线703;其中,
处理器701和存储器702通过总线703完成相互间的通信;
存储器702存储有可被处理器701执行的程序指令,处理器调用程序指令能够执行上述各方法实施例所提供的方法,例如包括:根据IFC规范将目标BIM模型的IFC文件划分为多个IFC子文件;将所述IFC子文件分配给多个IFC三角剖分单元,基于并行计算框架使用各所述IFC三角剖分单元对分配给各所述IFC三角剖分单元的IFC子文件进行三角剖分。
本实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法,例如包括:根据IFC规范将目标BIM模型的IFC文件划分为多个IFC子文件;将所述IFC子文件分配给多个IFC三角剖分单元,基于并行计算框架使用各所述IFC三角剖分单元对分配给各所述IFC三角剖分单元的IFC子文件进行三角剖分。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (7)

1.一种基于并行计算框架的建筑信息模型三角剖分方法,其特征在于,包括:
根据IFC规范将目标BIM模型的IFC文件划分为多个IFC子文件;
将所述IFC子文件分配给多个IFC三角剖分单元,基于并行计算框架使用各所述IFC三角剖分单元对分配给各所述IFC三角剖分单元的IFC子文件进行三角剖分;
根据IFC规范将目标BIM模型的IFC文件划分为多个IFC子文件的步骤具体包括:
将所述IFC文件中具有相同形状表示的几何对象的定义写入同一个所述IFC子文件中;其中,一个所述IFC子文件中包含一种形状表示的几何对象的定义;
相应地,使用各所述IFC三角剖分单元对分配给各所述IFC三角剖分单元的IFC子文件进行三角剖分的步骤具体包括:
使用各所述IFC三角剖分单元对各所述IFC子文件中的同一形状进行一次三角剖分;
将所述IFC文件中具有相同形状表示的几何对象的定义写入同一个所述IFC子文件中的步骤具体包括:
根据所述IFC文件中实例间的所有依赖关系,构建所述IFC文件的有向图;
对于所述有向图中的任一形状表示节点,将与该形状表示节点相连的几何对象节点作为具有相同形状表示的几何对象;
将所述具有相同形状表示的几何对象的对象放置定义和该形状表示节点的定义写入到同一个所述IFC子文件中;
根据所述IFC文件中实例间的所有依赖关系,构建所述IFC文件的有向图的步骤具体包括:
从所述IFC文件中的几何对象开始进行扫描,获取所述几何对象的形状表示和对象放置;
将所述几何对象的形状表示和对象放置对应的节点作为所述几何对象对应节点的子节点;
将所述几何对象的形状表示所依赖的实例对应的节点作为所述几何对象的形状表示对应节点的子节点,将所述几何对象的对象放置所依赖的实例对应的节点作为所述几何对象的对象放置对应节点的子节点,直到构建的所述有向图中最后一层节点对应的实例均不依赖其他实例。
2.根据权利要求1所述的方法,其特征在于,将所述IFC子文件分配给多个IFC三角剖分单元的步骤具体包括:
当接收到三角剖分请求时,向并行计算集群中的所有IFC三角剖分单元广播所述三角剖分请求,并将所有所述IFC子文件写入到分布式文件系统中,以供各所述IFC三角剖分单元根据所述三角剖分请求读取所述分布式文件系统中的IFC子文件。
3.根据权利要求1所述的方法,其特征在于,将所述IFC子文件分配给多个IFC三角剖分单元的步骤具体包括:
为各所述IFC三角剖分单元分配一个互不相同的所述IFC子文件;
在各所述IFC三角剖分单元完成所述IFC子文件的三角剖分之后,为各所述IFC三角剖分单元重新分配一个IFC子文件,直到对所有所述IFC子文件进行三角剖分。
4.根据权利要求1所述的方法,其特征在于,使用各所述IFC三角剖分单元对分配给各所述IFC三角剖分单元的IFC子文件进行三角剖分的步骤具体包括:
使用各所述IFC三角剖分单元将分配给各所述IFC三角剖分单元的IFC子文件中的SweptSolid模型和CSG模型转换为Brep模型;
基于Watson算法对模型转换后的所述IFC子文件中Brep模型进行三角剖分;
将各所述IFC子文件的三角剖分结果存储到同一个数据库中。
5.一种基于并行计算框架的建筑信息模型三角剖分装置,其特征在于,包括:
划分模块,用于根据IFC规范将目标BIM模型的IFC文件划分为多个IFC子文件;
计算模块,用于将所述IFC子文件分配给多个IFC三角剖分单元,基于并行计算框架使用各所述IFC三角剖分单元对分配给各所述IFC三角剖分单元的IFC子文件进行三角剖分;
所述划分模块具体用于:
将所述IFC文件中具有相同形状表示的几何对象的定义写入同一个所述IFC子文件中;其中,一个所述IFC子文件中包含一种形状表示的几何对象的定义;
相应地,使用各所述IFC三角剖分单元对分配给各所述IFC三角剖分单元的IFC子文件进行三角剖分的步骤具体包括:
使用各所述IFC三角剖分单元对各所述IFC子文件中的同一形状进行一次三角剖分;
所述划分模块具体用于:
根据所述IFC文件中实例间的所有依赖关系,构建所述IFC文件的有向图;
对于所述有向图中的任一形状表示节点,将与该形状表示节点相连的几何对象节点作为具有相同形状表示的几何对象;
将所述具有相同形状表示的几何对象的对象放置定义和该形状表示节点的定义写入到同一个所述IFC子文件中;
所述划分模块具体用于:
从所述IFC文件中的几何对象开始进行扫描,获取所述几何对象的形状表示和对象放置;
将所述几何对象的形状表示和对象放置对应的节点作为所述几何对象对应节点的子节点;
将所述几何对象的形状表示所依赖的实例对应的节点作为所述几何对象的形状表示对应节点的子节点,将所述几何对象的对象放置所依赖的实例对应的节点作为所述几何对象的对象放置对应节点的子节点,直到构建的所述有向图中最后一层节点对应的实例均不依赖其他实例。
6.一种电子设备,其特征在于,包括:
至少一个处理器、至少一个存储器和总线;其中,
所述处理器和存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至4任一所述的方法。
7.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至4任一所述的方法。
CN201910277093.5A 2019-04-08 2019-04-08 基于并行计算框架的建筑信息模型三角剖分方法及装置 Active CN110008597B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910277093.5A CN110008597B (zh) 2019-04-08 2019-04-08 基于并行计算框架的建筑信息模型三角剖分方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910277093.5A CN110008597B (zh) 2019-04-08 2019-04-08 基于并行计算框架的建筑信息模型三角剖分方法及装置

Publications (2)

Publication Number Publication Date
CN110008597A CN110008597A (zh) 2019-07-12
CN110008597B true CN110008597B (zh) 2023-06-16

Family

ID=67170306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910277093.5A Active CN110008597B (zh) 2019-04-08 2019-04-08 基于并行计算框架的建筑信息模型三角剖分方法及装置

Country Status (1)

Country Link
CN (1) CN110008597B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111310266B (zh) * 2020-02-20 2022-05-17 盈嘉互联(北京)科技有限公司 建筑信息模型产品的几何数据分割方法
CN113158283B (zh) * 2020-11-05 2023-05-02 北京建筑大学 一种从建筑草图bim模型中提取建筑构件的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105825550A (zh) * 2016-03-15 2016-08-03 中国科学院沈阳应用生态研究所 顾及一致性的复杂三维建筑物模型剖切建模方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581672A (en) * 1991-12-19 1996-12-03 Aerohydro, Inc. System of relational entities for object-oriented computer-aided geometric design
US6266064B1 (en) * 1998-05-29 2001-07-24 Microsoft Corporation Coherent visibility sorting and occlusion cycle detection for dynamic aggregate geometry
US8954479B2 (en) * 2012-06-13 2015-02-10 International Business Machines Corporation End-to-end interoperability and workflows from building architecture design to one or more simulations
CN109145366B (zh) * 2018-07-10 2022-11-18 湖北工业大学 基于Web3D的建筑信息模型轻量级可视化方法
CN109190094B (zh) * 2018-09-05 2023-03-10 盈嘉互联(北京)科技有限公司 基于ifc标准的建筑信息模型文件切分方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105825550A (zh) * 2016-03-15 2016-08-03 中国科学院沈阳应用生态研究所 顾及一致性的复杂三维建筑物模型剖切建模方法

Also Published As

Publication number Publication date
CN110008597A (zh) 2019-07-12

Similar Documents

Publication Publication Date Title
WO2021174660A1 (zh) 一种基于云的通用参数化模型解析方法及设计系统
Wu et al. ParaStream: A parallel streaming Delaunay triangulation algorithm for LiDAR points on multicore architectures
Hong et al. MultiGraph: Efficient graph processing on GPUs
CN110021070B (zh) FBX三维模型转换为glTF三维模型的方法、设备以及系统
CN110008597B (zh) 基于并行计算框架的建筑信息模型三角剖分方法及装置
CN109388843B (zh) 一种基于vtk的桁架天线的可视化系统及方法、终端
Capizzano Automatic generation of locally refined Cartesian meshes: Data management and algorithms
CN111339599A (zh) 一种bim模型到gis模型的转换方法
Zhou et al. Parallel computing-based online geometry triangulation for building information modeling utilizing big data
Zhou et al. Towards product-level parallel computing of large-scale building information modeling data using graph theory
Mueller‐Roemer et al. Ternary sparse matrix representation for volumetric mesh subdivision and processing on GPUs
Wang et al. A survey of statistical methods and computing for big data
Cabiddu et al. Large mesh simplification for distributed environments
Yu et al. Scalable parallel distance field construction for large-scale applications
Meredith et al. A distributed data-parallel framework for analysis and visualization algorithm development
Vijayalakshmi et al. The survey on MapReduce
JP2017004305A (ja) 解析モデル作成支援システム、解析モデル作成支援装置及び解析モデル作成支援プログラム
JP5790270B2 (ja) 構造解析システム,構造解析プログラムおよび構造解析方法
Cardoen et al. A PDEVS simulator supporting multiple synchronization protocols: implementation and performance analysis
US20050213823A1 (en) Distributed CAD apparatus
CN113626207B (zh) 地图数据处理方法、装置、设备及存储介质
Wang et al. Geospatial big data analytics engine for spark
Tang et al. Arc4nix: A cross-platform geospatial analytical library for cluster and cloud computing
Aarnio Parallel data processing with MapReduce
CN113873031A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230406

Address after: 100041 1008, building 16, xishanhui, Shijingshan Park, Zhongguancun Science Park, Haidian District, Beijing

Applicant after: BIM WINNER (BEIJING) TECHNOLOGY CO.,LTD.

Applicant after: BIM WINNER (SHANGHAI) TECHNOLOGY Co.,Ltd.

Applicant after: SHENZHEN BIM WINNER TECHNOLOGY Co.,Ltd.

Applicant after: Yingjia Internet (Beijing) Smart Technology Co.,Ltd.

Address before: Room 1008, 10th Floor, Building 16, Yard 30, Shixing Street, Shijingshan District, Beijing, 100041

Applicant before: BIM WINNER (BEIJING) TECHNOLOGY CO.,LTD.

Applicant before: BIM WINNER (SHANGHAI) TECHNOLOGY Co.,Ltd.

Applicant before: JIAXING WUZHEN YINGJIA QIANZHEN TECHNOLOGY Co.,Ltd.

Applicant before: SHENZHEN QIANHAI YINGJIA DATA SERVICE Co.,Ltd.

Applicant before: SHENZHEN BIM WINNER TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231212

Address after: 1308, 13th Floor, Shougang Sports Building, No. 6 Jinyuanzhuang Road, Shijingshan District, Beijing, 100043

Patentee after: BIM WINNER (BEIJING) TECHNOLOGY CO.,LTD.

Address before: 100041 1008, building 16, xishanhui, Shijingshan Park, Zhongguancun Science Park, Haidian District, Beijing

Patentee before: BIM WINNER (BEIJING) TECHNOLOGY CO.,LTD.

Patentee before: BIM WINNER (SHANGHAI) TECHNOLOGY Co.,Ltd.

Patentee before: SHENZHEN BIM WINNER TECHNOLOGY Co.,Ltd.

Patentee before: Yingjia Internet (Beijing) Smart Technology Co.,Ltd.