CN111553001A - 一种从ifc文件中提取或删除构件的方法 - Google Patents
一种从ifc文件中提取或删除构件的方法 Download PDFInfo
- Publication number
- CN111553001A CN111553001A CN202010208755.6A CN202010208755A CN111553001A CN 111553001 A CN111553001 A CN 111553001A CN 202010208755 A CN202010208755 A CN 202010208755A CN 111553001 A CN111553001 A CN 111553001A
- Authority
- CN
- China
- Prior art keywords
- database
- instance
- component
- row
- deleted
- 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.)
- Granted
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/5866—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Mathematics (AREA)
- Structural Engineering (AREA)
- Library & Information Science (AREA)
- Civil Engineering (AREA)
- Architecture (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种从IFC文件提取或删除构件的方法,涉及数据删除与提取技术领域。首先从IFC文件中,根据具有关键字字样的实例行,将所有包含在原IFC文件中的实例行找到,每个实例行的第五个实例属性项内容为构件编号,将所有构件编号存入数据库Lib1;选择数据库Lib1中的需要提取的构件并将构件编号存入数据库Lib0,从原IFC文件中提取构件相关信息保存至数据库Lib2;以实例行为父节点,生成这个实例行引用数据信息的结构树,将该结构树的所有实例行保存至数据库Lib2;再根据实体名的构成判断该结构树中的所有实体名,在IFC文件中找该到引用实体名编号的所有实例行。
Description
技术领域:
本发明涉及数据删除与提取技术领域。
背景技术:
建筑信息模型(BIM)技术是在计算机辅助设计(CAD)技术基础上发展起来的三维信息集成技术,正在引发建筑行业从基于点线面的二维表达向基于对象的三维形体与信息表达的转变,目的是为了实现整个建筑行业协同工作。BIM的核心是建筑信息的共享与重用,而工业基础类(IFC,目前IFC标准已经更新到了IFC4版本)标准是实现建筑信息共享与重用的基础。建筑完整的生命周期包括多个阶段。在每个阶段,和建筑相关的领域比如结构、机电等都会产生很多信息,因此,完整的IFC文件非常大,这就阻碍了建筑信息的共享与重用。子模型提取是从一个原始完整的IFC模型中抽取部分的建筑信息模型以满足业务需求,子模型的提取可以应用于很多场景,如结构分析,能耗分析,建筑规范的模型检查等,此外,从安全性和保密性的角度考虑,建筑模型的设计者应该按照参与者的需求进行信息分发,其它无关的信息应当保留在原始模型中防止泄露。综上所述,从完整的IFC模型中提取用户需要的子模型对于BIM领域的应用是非常必要和迫切的。
目前在子模型提取领域,主要分为如下三大类别,
一、基于数据库的子模型提取
目前存在一些BIM数据库,BIM数据库的主要作用是接收和存储IFC数据。而基于数据库,往往采用查询语言的方式进行子模型提取。一方面,目前尚未出现适用于所有数据库的子模型提取方法,另一方面,其中的某些查询语言也只能局限于固定信息的子模型提取,比如空间关系。
二、基于本体的子模型提取
本体是计算机中用来表达某一领域概念,概念和概念之间关系的描述。OWL和RFD都是本体的描述语言。Beetz提出了一种基于OWL/RDF描述图的查询方法,该方法使用特定的查询语言在OWL/RDF描述的图数据库中进行子模型提取,但该方法只能提取几何信息和拓扑信息。Zhang提出的方法也是将IFC文件转换成本体,使用本体的推理技术来进行子模型的提取。该方法对本体进行两次遍历,第1次遍历,找到所有与要提取子模型相关的信息并加入到容器中,第2次遍历,从当前容器向下查找,补全所有子模型信息。Lee为了进行建筑造价估计,将BIM转换成本体,进行造价中工作项的查询和推理并得到相应结果,但该算法只能应用于造价领域。基于本体的研究方法会受制于IFC Schema的限制,如果IFCSchema的版本更新,那么这些方法也需要做相应调整。而且有些方法目前只能针对IFC中部分实体,所以并不适用。另外,本体也是使用比较耗时的查询方式进行子模型提取。
三、基于IFC文件的子模型提取。
Won和Lee提出了两种基于.IFC文件的子模型提取方法,其一是基于提取需求递归的提取出IFC物理实例及其相关实例;其二是基于原始文件删除物理实例及关系实例。
Won提出了一种与IFC Schema无关的子模型提取算法,该算法首先提取所有的物理实例,再基于物理实例提取关系实例,并修改关系实例的属性后提取其它实例。这种提取方式是和IFC Schema无关的,不需要随着IFC Schema的版本更新做调整。即使IFC Schema发布了新版本,该算法依然鲁棒。这种基于IFC文件进行子模型提取不会改变原来的格式,直接在IFC文件上按照子模型提取需求进行。这更加利于数据的共享和交换。但该算法仍然有一些可以改进:第一,该算法是冗余敏感的,尽管一个IFC文件在进行去冗余操作后在利用该算法进行子模型提取,仍会有冗余实例产生;第二,该算法效率比较低,因为在每次递归的入口,有太多的冗余实例导致复杂度比较高,内存消耗大;。
发明内容
本发明的目的是提供了一种从IFC文件中提取或删除构件的方法,它能有效地解决IFC标准的信息共享与重用的技术问题。
本发明的目的是通过以下技术方案来实现的:一种从IFC文件中提取或删除构件的方法,包含以下步骤:
步骤一、首先从支持IFC标准的建筑行业商业软件导出的IFC文件中,根据具有关键字IFCRELCONTAINEDINSPATIALSTRUCTURE字样的实例行,将所有包含在原IFC文件中IFCRELCONTAINEDINSPATIALSTRUCTURE的实例行找到,每个实例行的第五个实例属性项内容为构件编号,将所有构件编号存入数据库Lib1;
步骤二、选择数据库Lib1中的需要提取的构件并将构件编号存入数据库Lib0,分以下两种情况从原IFC文件中提取构件相关信息保存至数据库Lib2;
一、对于引用拟提取构件的实例行,判断每一行的实体名称:
1、如果实体名为IFCRELASSOCIATESMATAERIAL,以该实例行为父节点,生成这个实例行引用数据信息的结构树,将该结构树的所有实例行保存至数据库Lib2;再根据实体名的构成判断该结构树中的所有实体名,如果实体名为IFCMATERIAL,则在IFC文件中找该到引用实体名IFCMATERIAL编号的所有实例行,如果包含有IFCMATERIALDEFINITIONREPRESENTATION实体,则需要将在原IFC文件中找到的IFCMATERIALDEFINITIONREPRESENTATION实例行及其引用数据信息的结构树提取并存入数据库Lib2;
2、如果实体名为IFCRELAGGREGATES,则提取该实例行及其引用数据信息的结构树存入数据库Lib2,同时以该实例行实例属性项第六位括号内的每一个编号为关键字,在原IFC文件中进行查找,如果实例行包含上述这些关键字,则同时提取这些实例行及其引用数据信息的结构树存入数据库Lib2;
3、否则,按照如下规则进行提取:
①如果引用拟提取构件实例行的实例属性项包含拟提取构件编号,则提取以该实例行为父节点生成的引用数据信息的结构树存入数据库Lib2;
②如果引用拟提取构件实例行的实例属性项包含带括号且括号内只有拟提取构件编号,则提取以该实例行为父节点生成的引用数据信息的结构树存入数据库Lib2;
③如果引用拟提取构件实例行的实例属性项包含带括号且括号内除了具有拟提取的构件编号还有其他构件编号,则提取该实例行为父节点生成的引用数据信息的结构树存入数据库Lib2,执行完步骤四以后,在数据库Lib2中删除该实例行实例属性项中其他构件编号;
上述①②③遍历提取时,数据库Lib1中构件编号的实例属性项的引用信息不存入数据库Lib2;
二、对于拟提取构件引用的实例行:以拟提取构件引用的实例行为父节点,生成其引用的信息结构树,并将所有信息提取存入数据库Lib2;对提取到的每一实例行所有信息,在原IFC文件中判断其父节点名称是否为IFCSTYLEDITEM,如果是,则以IFCSTYLEDITEM的实例行为父节点生成其引用信息结构树,并提取存入数据库Lib2;
构件删除方法是在构件提取的基础上,判断需要删除的信息,将需要删除的实例行在原IFC文件中删除;
步骤三、判断数据库Lib2中需要删除的实例行:
根据关键字IFCREL判断数据库Lib2中每一实例行的实体名,如果实体名是以IFCREL开头的,则提取该实例行至数据库Lib3,如果实体名不是以IFCREl开头的,则提取该实例行至数据库Lib4:
1、对于数据库Lib3中的实例行,通过以下规则判断是否可以被删除:
①如果数据库Lib3中的实例行的某个实例属性是被删除构件的编号,则该实例行需要被删除,将该实例行的信息保存到数据库Lib5;
②如果数据库Lib3中的实例行的某个实例属性是带括号且括号内只有删除构件编号,则该实例行需要被删除,将该实例行的信息保存到数据库Lib5;
③如果数据库Lib3中的实例行的某个实例属性是带括号且括号内不只有删除构件编号,其中包括被删除构件的编号,则该实例行不能被删除;但是,在执行步骤四删除时,需要在该实例属性中删除被删构件的编号,将该实例行信息保存到数据库Lib7;
2、对于数据库Lib4中的实例行,则在原IFC文件和数据库Lib2中分别找到数据库Lib4中实例行的父节点,如果在原IFC文件中的父节点数量等于在数据库Lib2中父节点的数量,则表示该实例行可以被删除,将该实例行保存到数据库Lib5;
步骤四、首先在原IFC文件中删除数据库Lib5中的所有实例行,然后在原文件中找到数据库Lib7中的所有实例行,删除这些实例行属性中被删除构件的编号;将删除后的IFC文件另存为数据库Lib8。
本发明的有益效果:
本发明与基于数据库和本体进行子模型提取算法相比,本算法可以生成子模型的IFC文件,这对于基于IFC标准的信息共享与重用是很有必要的。与现有的基于IFC文件的子模型提取算法相比,该所算法不仅可以同时做到按需删除与按需提取,且提取效率和精度更高。
附图说明
图1为本发明实施流程图
图2为IFC文件结构截图
图3为本发明特征标识示意截图
图4为本发明特征标识示意截图
图5为本发明特征标识示意截图
图6为本发明特征标识示意截图
图7为本发明特征标识示意截图
具体实施方法
IFC SPF(STEP Physical File)文件是IFC标准所使用的主要数据交换文件,STEP标准规定的IFC物理文件包括头文件和数据区两部分。如图2所示,在每一个IFC交换文件中必须有头文件,头文件以关键字"HEADER"开始,以"ENDSEC"结束,然而,头文件中的信息并没有具体的语义含义,因此在生成子模型IFC文件时,只需要将原文件中的头文件保留至子模型的IFC文件即可。数据区是基于IFC标准生成的,以关键字"DATA"开始,以"ENDSEC"结束,数据区由多条数据实例组成,每条数据实例以“#”开头,以“;”结尾,每条数据实例由实例编号如“#110”,实体名如“IFCPROJECT”和数据实例属性项组成。实例属性项中的属性又可分为全局唯一标识如“1oeLNWdyvD2xBpFQTGTp9a”、引用信息如“#207”和实例属性如“.SPACE.”此外,IFC文件中的数据实例顺序的改变并不会影响IFC文件的结构。
图1为本发明实施流程图,包含以下步骤:
步骤一、首先从支持IFC标准的建筑行业商业软件导出的IFC文件中,根据具有关键字IFCRELCONTAINEDINSPATIALSTRUCTURE字样的实例行,将所有包含在原IFC文件中IFCRELCONTAINEDINSPATIALSTRUCTURE的实例行找到,每个实例行的第五个实例属性项内容为构件编号,将所有构件编号存入数据库Lib1,如图3所示;
步骤二、选择数据库Lib1中的一个或多个需要提取的构件并将构件编号存入数据库Lib0,以图3中的#945为例,分以下两种情况从原IFC文件中提取构件相关信息保存至数据库lib2;
一、对于引用拟提取构件的实例行,判断每一行的实体名称,对于引用构件#945的实例行:
1、如图4所示,如果实体名为IFCRELASSOCIATESMATAERIAL,以该实例行为父节点,生成这个实例行引用数据信息的结构树,将该结构树的所有实例行保存至数据库Lib2,再根据实体名的构成判断该结构树中的所有实体名,如果实体名为IFCMATERIAL,则在IFC文件中找该到引用实体名IFCMATERIAL编号的所有实例行,如果包含有IFCMATERIALDEFINITIONREPRESENTATION实体,则需要将在原IFC文件中找到的IFCMATERIALDEFINITIONREPRESENTATION实例行及其引用数据信息的结构树提取至数据库Lib2,引用#945的实例行#1020实体名为IFCRELASSOCIATESMATAERIAL,以该实例行为父节点,生成这个实例行引用数据信息的结构树,将该结构树的所有实例行保存至数据库Lib2,再根据实体名的构成判断该结构树中的所有实体名,#790的实体名为IFCMATERIAL,则在IFC文件中找该到引用实体名IFCMATERIAL编号的所有实例行,#932引用了#790且实体名为IFCMATERIALDEFINITIONREPRESENTATION,则需将#932实例行及其引用数据信息的结构树也提取至数据库Lib2;
2、如图5所示,如果实体名为IFCRELAGGREGATES,则提取该实例行及其引用数据信息的结构树存入数据库Lib2,同时以该实例行实例属性项第六位括号内的每一个编号为关键字,在原IFC文件中进行查找,如果实例行包含上述这些关键字,则同时提取这些实例行及其引用数据信息的结构树存入数据库Lib2,引用构件#43182的#2257063实例行的实体名为IFCRELAGGREGATES,则需提取该实例行及其引用数据信息的结构树存入数据库Lib2,同时以#2257063实例行实例属性项第六位括号内的每一个编号如#41355,#42362等,在原IFC文件中进行查找包含上述编号的实例行如#43226,#43265,#43270等,提取#43226,#43265,#43270等实例行及其引用数据信息的结构树存入数据库Lib2;
3、否则,按照如下规则进行提取,如图4所示,即引用#945的实例行实体名为其它情况:
①如果引用拟提取构件实例行的实例属性项包含拟提取构件编号,则提取以该实例行为父节点生成的引用数据信息的结构树存入数据库Lib2,引用#945的实例行#1085的实例属性项包含拟提取构件编号#945,则提取以该实例行为父节点生成的引用数据信息的结构树存入数据库Lib2;
②如果该引用拟提取构件实例行的实例属性项包含带括号且括号内只有拟提取构件编号,则提取以该实例行为父节点生成的引用数据信息的结构树存入数据库Lib2,引用#945的实例行#10101的实例属性项包含带括号且括号内只有拟提取构件编号#945,则提取以该实例行为父节点生成的引用数据信息的结构树存入数据库Lib2;
③如果引用拟提取构件实例行的实例属性项包含带括号且括号内除了具有拟提取的构件编号还有其他构件编号,则提取该实例行为父节点生成的引用数据信息的结构树存入数据库Lib2并在数据库Lib2中删除该实例行实例属性项中其他构件编号,引用#945的实例行#306415的实例属性项包含带括号且括号内除了具有拟提取的构件编号#945还有其他构件编号#10156、#16620、#17111,则提取该实例行为父节点生成的引用数据信息的结构树存入数据库Lib2,执行完步骤四以后,在数据库Lib2中删除该实例行实例属性项中其他构件编号#10156、#16620、#17111。
上述①②③遍历提取实例行时,首先通过与数据库Lib1对比判断实例行的实例编号是否存在于数据库Lib1,如果是,则该实例行及其引用信息不提取,如果不是,则提取该实例行至数据库Lib2,如引用#945的#17670的实例属性项#17111,③中的#10156、#16620、#17111,都是数据库Lib1中的构件编号,则这些实例属性项的引用信息不存入数据库Lib2。
二、如图6所示对于拟提取构件引用的实例行:以拟提取构件引用的实例行为父节点,即#945开头的实例行为父节点,生成其引用的信息结构树,并将所有信息提取存入数据库Lib2;对提取到的每一实例行,根据关键字IFCSTYLEDITEM在原IFC文件中判断其父节点名称是否为IFCSTYLEDITEM,如果是,则以IFCSTYLEDITEM的实例行为父节点生成其引用信息结构树,并提取存入数据库Lib2,如#945的结构树下#1007的父节点#10092的实体名为IFCSTYLEDITEM,则#10092实例行及其引用信息结构树也需提取存入数据库Lib2中;
构件删除方法是在构件提取的基础上,判断需要删除的信息,将需要删除的实例行在原IFC文件中删除;
步骤三、判断数据库Lib2中需要删除的实例行:
根据关键字IFCREL判断数据库Lib2中每一实例行的实体名,如果实体名是以IFCREL开头的,则提取该实例行至数据库Lib3,如果实体名不是以IFCREl开头的,则提取该实例行至数据库Lib4:
1、对于数据库Lib3中的实例行,通过以下规则判断实例行是否可以被删除:如图7所示:
①如果数据库Lib3中实例行的某个实例属性是被删除构件的编号,则该实例行需要被删除,将该实例行的信息保存到数据库Lib5,即对比判断数据库Lib3中的每一实例行的引用信息是否在数据库Lib1中存在,如果存在,则数据库Lib3中引用信息存在于数据库Lib1的实例行需要被删掉,将该实例行的信息保存到数据库Lib5,实例行#1080的实例属性#945是被删除构件的编号,则实例行#1080是需要被删除的,将该实例行的信息保存到数据库Lib5;
②如果数据库Lib3中实例行的某个实例属性是带括号且括号内只有被删除构件编号,则该实例行需要被删除,即为数据库Lib1中的每一构件编号添加一个括号,存入数据库Lib6,对比判断数据库Lib3中的每一实例行的引用信息是否在数据库Lib6中存在,如果存在,则数据库Lib3中引用信息存在于数据库Lib1的实例行需要被删掉,将该实例行的信息保存到数据库Lib5,实例行#10101的实例属性(#945)只是由被删除构件的编号构成,则实例行#10101是需要被删除的,将该实例行的信息保存到数据Lib5;
③如果数据库Lib3中实例行的某个实例属性是带括号且括号内不只有被删除构件编号,其中包括被删除构件的编号,则该实例行不能被删除,但是在步骤四删除时需要在该实例属性中删除被删构件的编号,即对比数据库Lib3和Lib5,将在Lib3但是不在Lib5的实例行信息保存到数据库Lib7,如实例行#306415的实例属性(#945,#10156,#16620,#17111)由多个构建编号构成,其中包括被删除构件的编号#945,则#306415该实例行不能被删除,但是在步骤四删除时,需要在该实例行实例属性中删除被删构件的编号#945;
2、对于数据库Lib4中的实例行,则在原IFC文件和数据库Lib2中分别找到数据库Lib4中实例行的父节点,如果在原IFC文件中的父节点数量等于在数据库Lib2中父节点的数量,则表示该实例行可以被删除,将该实例行保存到数据库Lib5;
步骤四、首先在原IFC文件中删除数据库Lib5中的所有实例行,然后在原文件中找到数据库Lib7中的所有实例行,删除这些实例行属性中数据库Lib0中存储的构件编号;将删除后的IFC文件另存为数据库Lib8。
Claims (1)
1.一种从IFC文件中提取或删除构件的方法,包含以下步骤:
步骤一、首先从支持IFC标准的建筑行业商业软件导出的IFC文件中,根据具有关键字IFCRELCONTAINEDINSPATIALSTRUCTURE字样的实例行,将所有包含在原IFC文件中IFCRELCONTAINEDINSPATIALSTRUCTURE的实例行找到,每个实例行的第五个实例属性项内容为构件编号,将所有构件编号存入数据库Lib1;
步骤二、选择数据库Lib1中的需要提取的构件并将构件编号存入数据库Lib0,分以下两种情况从原IFC文件中提取构件相关信息保存至数据库Lib2;
一、对于引用拟提取构件的实例行,判断每一行的实体名称:
1>、如果实体名为IFCRELASSOCIATESMATAERIAL,以该实例行为父节点,生成这个实例行引用数据信息的结构树,将该结构树的所有实例行保存至数据库Lib2;再根据实体名的构成判断该结构树中的所有实体名,如果实体名为IFCMATERIAL,则在IFC文件中找该到引用实体名IFCMATERIAL编号的所有实例行,如果包含有IFCMATERIALDEFINITIONREPRESENTATION实体,则需要将在原IFC文件中找到的IFCMATERIALDEFINITIONREPRESENTATION实例行及其引用数据信息的结构树提取并存入数据库Lib2;
2>、如果实体名为IFCRELAGGREGATES,则提取该实例行及其引用数据信息的结构树存入数据库Lib2,同时以该实例行实例属性项第六位括号内的每一个编号为关键字,在原IFC文件中进行查找,如果实例行包含上述这些关键字,则同时提取这些实例行及其引用数据信息的结构树存入数据库Lib2;
3>、否则,按照如下规则进行提取:
①如果引用拟提取构件实例行的实例属性项包含拟提取构件编号,则提取以该实例行为父节点生成的引用数据信息的结构树存入数据库Lib2;
②如果引用拟提取构件实例行的实例属性项包含带括号且括号内只有拟提取构件编号,则提取以该实例行为父节点生成的引用数据信息的结构树存入数据库Lib2;
③如果引用拟提取构件实例行的实例属性项包含带括号且括号内除了具有拟提取的构件编号还有其他构件编号,则提取该实例行为父节点生成的引用数据信息的结构树存入数据库Lib2,执行完步骤四以后,在数据库Lib2中删除该实例行实例属性项中其他构件编号;
上述①②③遍历提取时,数据库Lib1中构件编号的实例属性项的引用信息不存入数据库Lib2;
二、对于拟提取构件引用的实例行:以拟提取构件引用的实例行为父节点,生成其引用的信息结构树,并将所有信息提取存入数据库Lib2;对提取到的每一实例行所有信息,在原IFC文件中判断其父节点名称是否为IFCSTYLEDITEM,如果是,则以IFCSTYLEDITEM的实例行为父节点生成其引用信息结构树,并提取存入数据库Lib2;
构件删除方法是在构件提取的基础上,判断需要删除的信息,将需要删除的实例行在原IFC文件中删除;
步骤三、判断数据库Lib2中需要删除的实例行:
根据关键字IFCREL判断数据库Lib2中每一实例行的实体名,如果实体名是以IFCREL开头的,则提取该实例行至数据库Lib3,如果实体名不是以IFCREl开头的,则提取该实例行至数据库Lib4:
1>、对于数据库Lib3中的实例行,通过以下规则判断是否可以被删除:
①如果数据库Lib3中的实例行的某个实例属性是被删除构件的编号,则该实例行需要被删除,将该实例行的信息保存到数据库Lib5;
②如果数据库Lib3中的实例行的某个实例属性是带括号且括号内只有删除构件编号,则该实例行需要被删除,将该实例行的信息保存到数据库Lib5;
③如果数据库Lib3中的实例行的某个实例属性是带括号且括号内不只有删除构件编号,其中包括被删除构件的编号,则该实例行不能被删除;但是,在执行步骤四删除时,需要在该实例属性中删除被删构件的编号,将该实例行信息保存到数据库Lib7;
2>、对于数据库Lib4中的实例行,则在原IFC文件和数据库Lib2中分别找到数据库Lib4中实例行的父节点,如果在原IFC文件中的父节点数量等于在数据库Lib2中父节点的数量,则表示该实例行可以被删除,将该实例行保存到数据库Lib5;
步骤四、首先在原IFC文件中删除数据库Lib5中的所有实例行,然后在原文件中找到数据库Lib7中的所有实例行,删除这些实例行属性中被删除构件的编号;将删除后的IFC文件另存为数据库Lib8。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010208755.6A CN111553001B (zh) | 2020-03-23 | 2020-03-23 | 一种从ifc文件中提取或删除构件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010208755.6A CN111553001B (zh) | 2020-03-23 | 2020-03-23 | 一种从ifc文件中提取或删除构件的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111553001A true CN111553001A (zh) | 2020-08-18 |
CN111553001B CN111553001B (zh) | 2022-04-05 |
Family
ID=72004127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010208755.6A Active CN111553001B (zh) | 2020-03-23 | 2020-03-23 | 一种从ifc文件中提取或删除构件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111553001B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559455A (zh) * | 2020-12-22 | 2021-03-26 | 中设数字技术股份有限公司 | 基于语义网络技术的ifc数据管理系统和方法 |
CN113568989A (zh) * | 2021-08-02 | 2021-10-29 | 上海建工四建集团有限公司 | 一种ifc子模型提取方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5826076A (en) * | 1994-05-13 | 1998-10-20 | Liant Software Corporation | Computer-based information access method and apparatus to permit SQL-based manipulation of programming language-specific data files |
CN102609417A (zh) * | 2011-01-21 | 2012-07-25 | 清华大学 | 基于ifc标准的建筑信息模型数据集成与交换引擎装置和方法 |
KR20130134891A (ko) * | 2012-05-31 | 2013-12-10 | 주식회사 썬앤라이트 | 아이에프씨 및 웹을 활용한 일조 분석 방법 |
CN104866590A (zh) * | 2015-05-29 | 2015-08-26 | 卢伟 | 基于ifc标准的监测数据集成系统、表达方法及集成方法 |
CN107193859A (zh) * | 2017-03-29 | 2017-09-22 | 广州地铁设计研究院有限公司 | 一种资料管理方法及资料管理系统 |
TW201814560A (zh) * | 2016-10-11 | 2018-04-16 | 國立高雄應用科技大學 | Ifc工程資訊用於遊戲引擎的方法、內儲程式之電腦程式產品、內儲程式之電腦可讀取記錄媒體及電子裝置 |
CN109145366A (zh) * | 2018-07-10 | 2019-01-04 | 湖北工业大学 | 基于Web3D的建筑信息模型轻量级可视化方法 |
CN109190094A (zh) * | 2018-09-05 | 2019-01-11 | 盈嘉互联(北京)科技有限公司 | 基于ifc标准的建筑信息模型文件切分方法 |
CN109214068A (zh) * | 2018-08-17 | 2019-01-15 | 徐州中煤百甲重钢科技股份有限公司 | 基于bim的底层装配式建筑信息提取方法 |
CN110059086A (zh) * | 2019-03-19 | 2019-07-26 | 西安理工大学 | 基于ifc模式及其映射模型的结构化自动存储方法 |
CN110706345A (zh) * | 2019-08-28 | 2020-01-17 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 一种基于构件实例合并的铁路bim模型轻量化方法及系统 |
-
2020
- 2020-03-23 CN CN202010208755.6A patent/CN111553001B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5826076A (en) * | 1994-05-13 | 1998-10-20 | Liant Software Corporation | Computer-based information access method and apparatus to permit SQL-based manipulation of programming language-specific data files |
CN102609417A (zh) * | 2011-01-21 | 2012-07-25 | 清华大学 | 基于ifc标准的建筑信息模型数据集成与交换引擎装置和方法 |
KR20130134891A (ko) * | 2012-05-31 | 2013-12-10 | 주식회사 썬앤라이트 | 아이에프씨 및 웹을 활용한 일조 분석 방법 |
CN104866590A (zh) * | 2015-05-29 | 2015-08-26 | 卢伟 | 基于ifc标准的监测数据集成系统、表达方法及集成方法 |
TW201814560A (zh) * | 2016-10-11 | 2018-04-16 | 國立高雄應用科技大學 | Ifc工程資訊用於遊戲引擎的方法、內儲程式之電腦程式產品、內儲程式之電腦可讀取記錄媒體及電子裝置 |
CN107193859A (zh) * | 2017-03-29 | 2017-09-22 | 广州地铁设计研究院有限公司 | 一种资料管理方法及资料管理系统 |
CN109145366A (zh) * | 2018-07-10 | 2019-01-04 | 湖北工业大学 | 基于Web3D的建筑信息模型轻量级可视化方法 |
CN109214068A (zh) * | 2018-08-17 | 2019-01-15 | 徐州中煤百甲重钢科技股份有限公司 | 基于bim的底层装配式建筑信息提取方法 |
CN109190094A (zh) * | 2018-09-05 | 2019-01-11 | 盈嘉互联(北京)科技有限公司 | 基于ifc标准的建筑信息模型文件切分方法 |
CN110059086A (zh) * | 2019-03-19 | 2019-07-26 | 西安理工大学 | 基于ifc模式及其映射模型的结构化自动存储方法 |
CN110706345A (zh) * | 2019-08-28 | 2020-01-17 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 一种基于构件实例合并的铁路bim模型轻量化方法及系统 |
Non-Patent Citations (3)
Title |
---|
GANG WEI .ETAL: "Design of building component library based on IFC and PLIB standard", 《IEEE》 * |
JAKOB BEETZ .ETAL: "IfcOWL: A case of transforming EXPRESS schemas into ontologies", 《ARTIFICIAL INTELLIGENCE FOR ENGINEERING DESIGN, ANALYSIS AND MANUFACTURING》 * |
朱明娟: "基于IFC文件实例的BIM子模型提取与模型合并研究", 《中国优秀硕士学位论文全文数据库 (工程科技Ⅱ辑)》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559455A (zh) * | 2020-12-22 | 2021-03-26 | 中设数字技术股份有限公司 | 基于语义网络技术的ifc数据管理系统和方法 |
CN112559455B (zh) * | 2020-12-22 | 2024-02-23 | 中设数字技术股份有限公司 | 基于语义网络技术的ifc数据管理系统和方法 |
CN113568989A (zh) * | 2021-08-02 | 2021-10-29 | 上海建工四建集团有限公司 | 一种ifc子模型提取方法 |
CN113568989B (zh) * | 2021-08-02 | 2024-04-19 | 上海建工四建集团有限公司 | 一种ifc子模型提取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111553001B (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284363B (zh) | 一种问答方法、装置、电子设备及存储介质 | |
CN104205092B (zh) | 通过变换复杂三元组建立本体的方法和系统 | |
CN111506621B (zh) | 一种数据统计方法及装置 | |
CN107798387B (zh) | 一种适用于高端装备全生命周期的知识服务系统及方法 | |
JP2000148461A (ja) | ソフトウェアモデル及び既存のソ―スコ―ドを同期化させる方法及びその装置 | |
CN111553001B (zh) | 一种从ifc文件中提取或删除构件的方法 | |
JP5241738B2 (ja) | 表からツリー構造データを構築する方法及び装置 | |
CN109460354B (zh) | 一种基于rdf推理进行测试用例约简的方法 | |
CN111666468A (zh) | 一种基于团簇属性在社交网络中搜索个性化影响力社区的方法 | |
CN110059086A (zh) | 基于ifc模式及其映射模型的结构化自动存储方法 | |
CN103425789B (zh) | 一种时空数据的查询方法及装置 | |
Han et al. | Structure-function correlations analysis and functional semantic annotation of mechanical CAD assembly model | |
CN117669046A (zh) | 一种面向汽车装配工艺智能决策的数据集成方法及系统 | |
CN114461521A (zh) | 一种基于状态机的plc软件测试用例生成方法和系统 | |
CN110750632B (zh) | 一种改进的中文alice智能问答方法及系统 | |
Wang et al. | Annotation and retrieval system of CAD models based on functional semantics | |
CN107436919B (zh) | 一种基于本体和boss的云制造标准服务建模方法 | |
CN112488642B (zh) | 一种基于结构化标签并以对象为核心的云端文件管理方法 | |
CN103577560B (zh) | 一种输入数据库操作指令的方法和装置 | |
Ta et al. | Improving the formal concept analysis algorithm to construct domain ontology | |
CN114357051B (zh) | 基于原生JSON的SQL与NoSQL数据转换方法 | |
CN112800284A (zh) | 一种基于环境模型数据库的快速查询方法 | |
CN117313149A (zh) | 基于spl的安全数据关联查询方法、装置、设备及介质 | |
Qiao et al. | Generic Structure Construction of 3D Assembly Model Based on Conjugate Subgraph | |
CN113657078A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |