一种基于IFC实体数据抽取的子模型生成方法与流程

文档序号:14995997发布日期:2018-07-24 17:45阅读:274来源:国知局

本发明涉及建筑业信息技术领域,具体涉及一种基于IFC实体数据抽取的子模型生成方法。



背景技术:

建筑信息模型(Building Information Modeling,BIM)是一种以建筑工程项目的相关信息数据作为模型的基础,通过数字信息仿真技术模拟建筑物所具有的真实信息的数字化模型。BIM能够将建筑生命周期不同阶段的资源、数据相互关联,被建设过程中不同参与方共同使用,BIM技术能够实现信息交付和共享,有效提升建筑业的施工、设计、运维等各个阶段的实施效率。

工业基础分类(Industry Foundation Classes,IFC)是由国际协作联盟(International Alliance for Interoperability,IAI,现名为Building SMART)发表的一个公开的、结构化的BIM信息交换格式,定义了项目整个生命周期中建筑数据的表示和交换标准。IFC标准提供了建筑产品大部分模型的定义和描述,采用EXPRESS语言进行建筑产品模型的定义。在最新的IFC标准IFC4中包括了共计766个实体(Entity)、59个选择类型、126个定义类型、408个预定义属性、206个枚举类型。其中,实体是描述建筑信息的载体,分为结构、HVAC、建筑、电气、施工控制、施工管理、设施管理等9个领域。

完整BIM项目整个生命周期涉及多个阶段和不同领域参与方,对于项目的特定阶段和需求方而言,其需求涉及的往往只是BIM中某一部分或由几部分组成的相关信息,因此,需要对完整的BIM模型进行有目的的切割,生成领域相关的BIM子模型,使其更适应BIM多参与方、多阶段协同工作模式的大环境。

关于BIM子模型的研究在国内外已经有了初步的探讨,张建平、余芳强、张洋等在标题为“基于IFC标准的建筑信息模型数据集成与交换引擎装置和方法”的专利文献(授权公告号:CN 102609417B)中公开了一种基于IFC标准的建筑信息模型数据集成与交换引擎装置和方法,以基于IFC标准建立的BIM数据库为基础,实现了IFC模型解析、非IFC格式建筑信息转化、BIM子模型抽取与集成等功能模块。

林嘉瑞、胡振中等在标题为“A natural-language-based approach to intelligent data retrieval and representation for cloud BIM”(Computer-Aided Civil and Infrastructure Engineerin,2015:1-16)的文章中构建了自然语言描述的BIM子模型数据检索和表达方式,建立了IFC跨领域数据交付过程中领域知识与IFC实体的映射关系,解决子模型生成过程中领域数据丢失的问题。

金淑姬、姜周锡等在标题为“提供建筑信息模型数据文件内所包含的数据的方法”的专利文献(申请公开号为:CN 103257984A)中公开了一种使用服务器提供建筑信息模型数据文件内所包含的数据的方法,将BIM文件所包含的数据以实体方式抽取。

上述的研究,主要建立在IFC相关标准及定义或IFC实体的基础上,BIM子模型应用中多使用基于IFC完备子模型的数据交付形式完整的抽取建筑实体的IFC描述。事实上,IFC作为BIM数据文件在信息交付和共享时,在获取子模型之后,仍然需要使用IFC对应的解析引擎后方可获得真正需要的数据。使用完整的IFC模型作为子模型交付方式存在以下缺点和不足:

1、子模型专业性强、分析复杂、计算和空间复杂度高;

2、需要专业的BIM数据库设计才可实现依照子模型视图的子模型抽取、多参与方协同工作,成本高、实现困难;

3、传输及应用效率低下;

4、数据协同首先需要各参与方支持IFC标准,成本高、易用性差;

5、不支持BIM子模型版本控制、子模型可用性差;

6、子模型多次使用时,需反复对全局模型进行抽取,子模型复用实现困难;

7、需进行大量的数据查询;

8、数据相对价值密度低;

9、随着设计的细化和项目规模的增大,BIM模型将面临海量数据,IFC自身的交换速率和交换方式将面对巨大的挑战。

因此,有必要针对BIM各个应用阶段、不同领域项目参与方需求构建高效的BIM子模型,使不同领域项目参与方,可按照需求抽取其需要的BIM子模型,更好地支持BIM高交互性的协同工作模式。



技术实现要素:

本发明的目标是针对上述BIM子模型应用的缺点和不足,提供一种基于IFC实体数据抽取的子模型生成方法,去除不必要的IFC基础模型相关定义信息,提高子模型的数据价值密度,构建对IFC标准低依赖度的BIM子模型,实现以IFC模型为入口,高密度BIM数据子模型为出口的子模型生成方法,为多参与方协同工作提供高效的性能支持。

为实现上述发明目的,本发明提供一种基于IFC实体数据抽取的子模型生成方法,该方法包括IFC实体属性抽取约束条件获取、IFC实体属性、子模型数据结构重建,应用该方法可以支持将多领域参与方需求的数据完整的从IFC模型中抽取或将建筑实体的属性信息从IFC实体中完整抽取并依照需求生成用户需要的数据结构。

一种基于IFC实体数据抽取的子模型生成方法,包括:

步骤1,以IFD标准的定义格式重建IFC模型,获得子模型中目标实体的候选集合;

步骤2,依据用户需求,确定需求集合;

步骤3,将需求集合转化为IFC实体属性抽取的约束条件;

步骤4,基于约束条件,通过IFC实体属性抽取算法由候选集合中抽取实体属性,并记录抽取结果;

步骤5,将抽取结果构建成用户所需要的数据结构,完成子模型的抽取。

步骤1中,导入并通过IFC文件解析引擎读取IFC文件,在内存中以IFC标准的定义格式重建IFC模型。

步骤2中,通过和参与方交互、沟通,确定领域需求、数据需求,明确对模型几何、材料、空间定位等3D视图的需求,需求集合暂存至内存中。

步骤3中,基于步骤2的需求集合选取子模型视图,子模型视图中包含子模型视图名称、需求的数据和领域描述,此外,存储对应的全局BIM模型ID以便数据集成和协同。

步骤3中,IFC实体属性抽取约束条件的获取:通过自然语言或通用的IFD标准等方法,将多参与方需求映射成IFC实体,并根据用户需求构建子模型视图,将子模型视图中对IFC实体的定义转化成IFC实体属性抽取的约束条件,该约束条件通过在内存中构建条件集合来表示。

步骤4中,IFC实体属性抽取:通过所述的IFC实体属性抽取的约束条件,以建筑元件的IFC实体作为入口,完整抽取属性数据。

步骤5,基于步骤2、步骤4的结果,依据用户的数据需求,将抽取得到的IFC实体属性重建成用户需要的数据结构(即不同表现形式的BIM子模型),实现面向建筑全生命周期某一参与方或某一阶段特定需求的BIM子模型的抽取。

步骤5中,子模型数据结构重建:通过所述IFC实体属性抽取获得子模型数据,依照用户输入、领域需求或专业软件需求等重建子模型数据结构,有效提高子模型的利用率和复用性。

作为优选,步骤3包括以下步骤:

步骤31,获取子模型中包含的实体类型;

步骤32,确立用户需求与实体类型的映射关系;

步骤33,遍历需求集合,将用户需求转化为IFC实体属性抽取的约束条件。

步骤31中,选择子模型视图,获取子模型视图中包含的实体类型;

步骤32中,加载IFD标准或数据字典,确立领域需求与IFC实体的映射关系;

步骤33中,基于步骤2,步骤31,步骤32的结果,遍历需求集合,对需求进行翻译并进行约束条件转化,用于构建子模型属性抽取的约束条件。

作为优选,步骤4包括以下步骤:

步骤41,初始化属性字典,该属性字典用于记录抽取到的实体属性,以及实体属性与实体ID的配对关系;

步骤42,依据约束条件,判断实体属性是否满足用户需求;

步骤43,遍历候选集合中的主要实体和关系实体,若满足约束条件,则判断实体类型,并调用相应的实体属性抽取算法进行IFC实体属性抽取,并记录抽取结果。

步骤41中,属性字典用于存储抽取到的属性值,并建立与其描述实体ID的配对关系。

步骤42中,获取步骤3构建的约束条件集合,判断实体是否满足参与方需求。

步骤43中,遍历IFC模型中主要实体、关系实体,若满足约束条件则判断其实体类型并调用相应的属性抽取算法。

作为优选,步骤43中,若实体为主要实体,则调用显示属性抽取算法,若实体为关系实体,则调用非显示属性抽取算法。

属性抽取算法分为显示属性抽取算法和非显示属性抽取算法。实体的显示属性是指直接存储在建筑元件实体实例中的属性,非显示属性通过关系实体关联建筑元件实体,其引用关系存储在关系实体的实例中。若输入实体为建筑元件实体则调用显示属性抽取算法,若输入的实体为关系实体,则调用非显示属性抽取算法。

作为优选,步骤43中,若实体属性为非引用类型属性,则直接进行属性提取,若实体属性为引用类型属性,则递归地进行属性抽取直至属性为非类型属性。

步骤43中,若抽取的属性为图形几何、空间定位等模型可视化属性时,由于图形数据解析需要IFC标准的相关定义,为使子模型在传输过程以及存储过程中不依赖于IFC标准,对图形进行预渲染,该类属性在交互过程中极少发生改变,因此,将该类属性作为一组属性统一处理。

所述属性抽取算法实现对IFC模型实体中数据的按需提取,有效提高了数据的价值密度、应用效率和交换效率。

本发明能够有效支持对IFC模型的子模型抽取,支持生成不依赖IFC标准、具备多种表现形式的BIM子模型,为建筑全生命周期高密度数据交互、数据传输、协同工作提供了技术支持和模型基础。

附图说明

图1为本发明实施例中的BIM子模型视图的定义;

图2为本发明实施例中某变电站的完整BIM模型;

图3为本发明实施例中需求子模型所包含的某一实体相关属性的IFC描述;

图4为本发明实施例中的BIM子模型生成方法的流程图;

图5为本发明实施例中的IFC实体约束获取方法的流程图;

图6为本发明实施例中的IFC实体属性抽取方法的工作流程图;

图7为本发明实施例中的IFC实体属性抽取方法一的实现流程图;

图8为本发明实施例中的IFC实体属性抽取方法二的实现流程图;

图9为本发明实施例中的BIM子模型数据结构重建的实现流程图;

图10为本发明实施例中的BIM子模型抽取结果示意图。

具体实施方式

为了更清楚的展示本发明的目的、实现方法及优点,以下结合附图和实施例,对本发明的技术方案做进一步的描述。

一种基于IFC实体数据抽取的子模型生成方法,包括:导入IFC文件,从中获得目标实体的候选集合;通过输入的用户请求及IFD标准、自然语言等方法获取实体属性抽取的约束条件集合;根据约束条件从目标实体的候选集合中抽取实体的属性集合;根据抽取得到的属性集合对子模型数据结构进行重建,生成适应不同需求的BIM子模型。

在描述基于IFC实体数据抽取的子模型生成方法之前,首先对IFC属性的描述机制进行说明。IFC对实体的定义主要为:可独立交换实体(具有Global ID标识)和不可独立交换实体(不可独立描述实体,需要借助关系实体描述实体属性)。其中,主要实体是建筑建设过程中产品信息的主要载体(即建筑元件实体)。

本发明中属性抽取的算法均以主要实体作为入口进行,主要实体的属性类型分为显示属性和非显示属性,显示属性直接存储在主要实体自身的实例中,非显示属性通过关系实体与主要实体关联,间接描述主要实体。

属性描述类型分为引用类型属性和非引用类型属性,非引用类型属性可直接提取,引用类型属性需要递归的查询其关联的下级实体,直至实体属性描述类型为非引用类型。

图1为本发明实施例中的BIM子模型视图定义,该子模型视图包括子模型视图分类(即需求领域类别);子模型视图描述;子模型视图名称;参与交换的主要实体(建筑元件)Global ID(可选);参与数据交换的属性集合(可选);子模型对应的全局模型Global ID。其中,子模型视图名称,用于描述子模型的职能;子模型对应的全局模型Global ID用于建立子模型和全局模型的映射关系。子模型视图分类(需求领域类别)记录子模型视图所属的领域,该信息可以供视图使用者查找定位。主要实体可参与交换的属性集合包括图形几何、空间定位、属性集、材料属性和显示属性(实体类型),图形几何、空间定位在交互过程中很少改变,将其作为一组属性进行统一抽取。

需要特别说明的是,该子模型视图中的各个元素并非是固定不变的,而是可以根据需求和实际情形省略或替换其中一个或多个元素,以增加子模型的可用性。

图2为本发明实施例中某变电站的完整BIM模型,该模型的IFC文件共计113.5M,共包括主要实体1438个,各类资源实体共计2185531个,具有一定的复杂度,应用本发明所述的子模型生成方法,输入对空间结构为电缆沟的子模型需求。

图3为本发明实施例中需求子模型所包含的某一实体相关属性的IFC描述。如图3所示,该子模型包含IfcColumn(主要实体),IfcRelDefinesByProperties(关系实体),IfcRelDefinesByType(类型实体实体)。其中P1为建筑实体的基本描述,显示属性直接存储在P1的实例中;P2为自定义或内建属性集的属性描述,通过关系实体关联属性集;P3为P1引用类型显示属性的下级实体,具体为P1的空间定位和几何描述;P4为P1的材料描述和类型描述,P4为非显示属性,通过关系实体与P1关联。

图4为本发明实施例中BIM子模型生成方法的流程图。

在步骤1中,导入全局模型的IFC文件并通过IFC文件解析引擎在内存中以IFD标准的格式定义加载IFC模型。

在步骤2中,通过和参与方交互、沟通或针对项目不同开发阶段对数据的敏感程度,确定各阶段或参与方对子模型图形几何、空间定位、材料和属性集等数据的需求,将输入的需求集合暂存至缓存中,该实施例中选用空间结构为电缆沟的子模型需求。

在步骤3中,根据步骤2的结果选取所述子模型视图,利用IFD标准或自然语言等方法将领域需求翻译成IFC对应的实体。根据子模型视图中的定义将需求集合转化成对IFC实体属性抽取的约束条件,将约束条件组成条件集合存储在内存中。

在步骤4中,根据步骤3的结果,根据所需抽取的IFC模型中的实体属性类型,调用不同的属性抽取算法,并记录抽取结果。

在步骤5中,根据步骤2,步骤4的结果,依据用户对子模型数据的数据需求,将抽取得到的IFC实体属性集合映射成适应用户需求的BIM子模型。

图5为本发明实施例中的IFC实体约束获取方法的流程。

在步骤31中,选择并加载子模型视图,确定子模型视图中需要的IFC实体类别,在本发明实施例中没有明确规定IFC实体属性的需求,因此默认将IFC中全部实体属性逐个抽取存储。

在步骤32中,加载IFD标准或基于自然语言映射的IFC实体数据字典。

在步骤33中,根据步骤2、步骤31、步骤32的结果,遍历需求集合,对需求进行翻译并进行处理。

在步骤34中,根据IFD标准、数据字典将需求翻译成IFC实体。

在步骤35中,判断步骤34中翻译的实体是否满足所述子模型视图对IFC实体的定义,若不满足则跳过该实体,若满足则继续处理该实体。

在步骤36中,将步骤35中获取的实体转化为属性抽取约束条件存储进需求条件列表(即需求List)。需要注意的是,若需求中没有明确规定某类实体下级实体的抽取需求,则默认将下级实体作为需求条件存入。

在步骤37中,判断需求List是否遍历完毕,如果是则结束该流程,否则,继续遍历需求List。

图6为本发明实施例中的IFC实体属性抽取方法的工作流程图,即步骤4的详细描述。

在步骤41中,初始化用于存储抽取结果的属性字典,建立主要实体ID与其属性的配对关系。如图3中主要实体为IFCCOLUMN,其实体ID为3zDh5EEab3N9JwS9XH8dhw,在存储时将该ID作为键值存储。

在步骤42中,获取步骤3构建的约束条件集合,用于判断实体IFC模型中的实体是否需要参与属性抽取。

在步骤43中,根据步骤1的结果,遍历IFC模型中主要实体、关系实体。

在步骤44中,判断当前实体是否满足约束条件,若不满足则跳过该实体,若满足则进行下一步。

在步骤45中,判断实体类型,用于确定调用的实体抽取算法。

在步骤46中,根据步骤45的结果,若实体为主要实体,则调用显示属性抽取算法,若实体为关系实体,则调用非显示属性抽取算法。

在步骤47中,判断IFC主要实体、关系实体是否遍历完毕,如果是,则结束该流程,否则,继续对主要实体、关系实体进行遍历。

步骤45的实体属性抽取算法包括以下步骤:

步骤451,初始化属性集合,用于存储抽取到的实体的属性集;

步骤452,输入一个实体,该实体类型为IFC建筑元件实体;

步骤453,遍历实体的属性,实体的属性分为引用类型和非引用类型,其中非引用类型可直接抽取,引用类型需要递归的调用实体属性抽取算法直至抽取的属性为非引用类型。

图7为本发明实施例中的IFC实体属性抽取方法一的实现流程图,为显示属性抽取流程图,即步骤46的详细描述。

在步骤461中,初始化属性集合,用于临时存储抽取到的主要实体属性。

在步骤462中,输入一个实体,用于进行属性抽取。

在步骤463中,根据步骤462的结果,遍历输入实体的属性,并判断属性描述类型。

在步骤464中,若属性为非引用类型属性,则直接进行属性提取,若属性为引用类型属性,则递归的调用步骤462直至属性为非引用类型为止。

在步骤465中,根据步骤464的结果,若属性为非引用类型的直接属性,则提取属性名及值。

在步骤466中,判断提取的属性是否为主要实体的ID,若不是主要实体ID则将其存入属性集合,若是主要实体ID,则将其作为Key暂存。

在步骤467中,基于步骤41,判断Key是否存在于属性字典中,若不存在则继续进行属性遍历,若存在则跳出遍历直接结束流程。

在步骤468中,判断实体属性是否遍历完毕,如果是则结束该流程,否则继续遍历实体属性。

在步骤469中,将抽取得到的主要实体ID作为Key,属性集合作为Value存入属性字典。

图8为本发明实施例中的IFC实体属性抽取方法二的实现流程图,为非显示属性抽取流程图。

与实体属性抽取方法一不同的是,在步骤466,467中,若判断抽取的属性为主要实体的ID,则记录该值为Key并跳出此次循环,避免对主要实体数据的重复提取。该次实体ID判断只是为了将关系实体关联的属性实体中的属性完整提取并建立和主要实体ID的映射关系(即属性字典)。如图3中输入关系实体IfcRelDefinesByProperties,遍其显示属性会遍历到反向属性#50,该属性指向主要实体IfcColumn,通过递归的调用属性抽取算法,获取该主要实体ID之后跳出循环,继续遍历关系实体的其他引用即可获取所有引用实体的属性集合。

图9为本发明实施例中的BIM子模型数据结构重建的实现流程图。

在步骤51中,根据步骤4的结果,加载属性字典。

在步骤52中,遍历属性字典的Key值(即主要实体的ID)值,对每个ID进行处理。

在步骤53中,根据步骤52的结果,提取Key值对应的属性集合。

在步骤54中,根据步骤2、步骤53的结果,依照用户需求、BIM项目实施阶段模型需求或BIM参与软件数据需求等将主要实体的及其属性重组成需要的数据结构。

在步骤55中,判断属性字典ID是否遍历完毕,如果是则结束该流程,否则继续遍历。

在步骤56中,根据上述步骤,导出BIM子模型。

图10为应用本发明子模型生成方法,通过输入空间结构为电缆沟的子模型需求抽取的BIM子模型结果图。

以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。

此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1