从IFC文件中提取或删除构件的方法.pdf

上传人:狗** 文档编号:10509192 上传时间:2021-06-22 格式:PDF 页数:13 大小:1.24MB
收藏 版权申诉 举报 下载
从IFC文件中提取或删除构件的方法.pdf_第1页
第1页 / 共13页
从IFC文件中提取或删除构件的方法.pdf_第2页
第2页 / 共13页
从IFC文件中提取或删除构件的方法.pdf_第3页
第3页 / 共13页
文档描述:

《从IFC文件中提取或删除构件的方法.pdf》由会员分享,可在线阅读,更多相关《从IFC文件中提取或删除构件的方法.pdf(13页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010208755.6 (22)申请日 2020.03.23 (71)申请人 广州地铁设计研究院股份有限公司 地址 510000 广东省广州市越秀区环市西 路204号 (72)发明人 曾文驱张耘琳袁泉农兴中 史海欧王建 (74)专利代理机构 成都点睛专利代理事务所 (普通合伙) 51232 代理人 葛启函 (51)Int.Cl. G06F 30/13(2020.01) G06F 16/532(2019.01) G06F 16/51(2019.01) G06F 16/58(2。

2、019.01) (54)发明名称 一种从IFC文件中提取或删除构件的方法 (57)摘要 本发明提供了一种从IFC文件提取或删除构 件的方法, 涉及数据删除与提取技术领域。 首先 从IFC文件中, 根据具有关键字字样的实例行, 将 所有包含在原IFC文件中的实例行找到, 每个实 例行的第五个实例属性项内容为构件编号, 将所 有构件编号存入数据库Lib1; 选择数据库Lib1中 的需要提取的构件并将构件编号存入数据库 Lib0, 从原IFC文件中提取构件相关信息保存至 数据库Lib2; 以实例行为父节点, 生成这个实例 行引用数据信息的结构树, 将该结构树的所有实 例行保存至数据库Lib2; 再根。

3、据实体名的构成判 断该结构树中的所有实体名, 在IFC文件中找该 到引用实体名编号的所有实例行。 权利要求书2页 说明书6页 附图4页 CN 111553001 A 2020.08.18 CN 111553001 A 1.一种从IFC文件中提取或删除构件的方法, 包含以下步骤: 步骤一、 首先从支持IFC标准的建筑行业商业软件导出的IFC文件中, 根据具有关键字 IFCRELCONTAINEDINSPATIALSTRUCTURE字样的实例行, 将所有包含在原IFC文件中IFCRELC ONTAINEDINSPATIALSTRUCTURE的实例行找到, 每个实例行的第五个实例属性项内容为构件 编。

4、号, 将所有构件编号存入数据库Lib1; 步骤二、 选择数据库Lib1中的需要提取的构件并将构件编号存入数据库Lib0, 分以下 两种情况从原IFC文件中提取构件相关信息保存至数据库Lib2; 一、 对于引用拟提取构件的实例行, 判断每一行的实体名称: 1、 如果实体名为IFCRELASSOCIATESMATAERIAL, 以该实例行为父节点, 生成这个实例 行引用数据信息的结构树, 将该结构树的所有实例行保存至数据库Lib2; 再根据实体名的 构成判断该结构树中的所有实体名, 如果实体名为IFCMATERIAL, 则在IFC文件中找该到引 用实体名IFCMATERIAL编号的所有实例行, 如。

5、果包含有IFCMATERIALDEFINITIONREPRESENT ATION实体, 则需要将在原IFC文件中找到的IFCMATERIALDEFINITIONREPRESENTATION实例 行及其引用数据信息的结构树提取并存入数据库Lib2; 2、 如果实体名为IFCRELAGGREGATES, 则提取该实例行及其引用数据信息的结构树存 入数据库Lib2, 同时以该实例行实例属性项第六位括号内的每一个编号为关键字, 在原IFC 文件中进行查找, 如果实例行包含上述这些关键字, 则同时提取这些实例行及其引用数据 信息的结构树存入数据库Lib2; 3、 否则, 按照如下规则进行提取: 如果引用。

6、拟提取构件实例行的实例属性项包含拟提取构件编号, 则提取以该实例行 为父节点生成的引用数据信息的结构树存入数据库Lib2; 如果引用拟提取构件实例行的实例属性项包含带括号且括号内只有拟提取构件编 号, 则提取以该实例行为父节点生成的引用数据信息的结构树存入数据库Lib2; 如果引用拟提取构件实例行的实例属性项包含带括号且括号内除了具有拟提取的 构件编号还有其他构件编号, 则提取该实例行为父节点生成的引用数据信息的结构树存入 数据库Lib2,执行完步骤四以后, 在数据库Lib2中删除该实例行实例属性项中其他构件编 号; 上述遍历提取时, 数据库Lib1中构件编号的实例属性项的引用信息不存入数据 。

7、库Lib2; 二、 对于拟提取构件引用的实例行: 以拟提取构件引用的实例行为父节点, 生成其引用 的信息结构树, 并将所有信息提取存入数据库Lib2; 对提取到的每一实例行所有信息, 在原 IFC文件中判断其父节点名称是否为IFCSTYLEDITEM, 如果是, 则以IFCSTYLEDITEM的实例行 为父节点生成其引用信息结构树, 并提取存入数据库Lib2; 构件删除方法是在构件提取的基础上, 判断需要删除的信息, 将需要删除的实例行在 原IFC文件中删除; 步骤三、 判断数据库Lib2中需要删除的实例行: 根据关键字IFCREL判断数据库Lib2中每一实例行的实体名, 如果实体名是以IFC。

8、REL开 头的, 则提取该实例行至数据库Lib3, 如果实体名不是以IFCREl开头的, 则提取该实例行至 数据库Lib4: 权利要求书 1/2 页 2 CN 111553001 A 2 1、 对于数据库Lib3中的实例行, 通过以下规则判断是否可以被删除: 如果数据库Lib3中的实例行的某个实例属性是被删除构件的编号, 则该实例行需要 被删除, 将该实例行的信息保存到数据库Lib5; 如果数据库Lib3中的实例行的某个实例属性是带括号且括号内只有删除构件编号, 则该实例行需要被删除, 将该实例行的信息保存到数据库Lib5; 如果数据库Lib3中的实例行的某个实例属性是带括号且括号内不只有删除。

9、构件编 号, 其中包括被删除构件的编号, 则该实例行不能被删除; 但是, 在执行步骤四删除时, 需要 在该实例属性中删除被删构件的编号, 将该实例行信息保存到数据库Lib7; 2、 对于数据库Lib4中的实例行, 则在原IFC文件和数据库Lib2中分别找到数据库Lib4 中实例行的父节点, 如果在原IFC文件中的父节点数量等于在数据库Lib2中父节点的数量, 则表示该实例行可以被删除, 将该实例行保存到数据库Lib5; 步骤四、 首先在原IFC文件中删除数据库Lib5中的所有实例行, 然后在原文件中找到数 据库Lib7中的所有实例行, 删除这些实例行属性中被删除构件的编号; 将删除后的IFC文。

10、件 另存为数据库Lib8。 权利要求书 2/2 页 3 CN 111553001 A 3 一种从IFC文件中提取或删除构件的方法 技术领域: 0001 本发明涉及数据删除与提取技术领域。 背景技术: 0002 建筑信息模型(BIM)技术是在计算机辅助设计(CAD)技术基础上发展起来的三维 信息集成技术, 正在引发建筑行业从基于点线面的二维表达向基于对象的三维形体与信息 表达的转变, 目的是为了实现整个建筑行业协同工作。 BIM的核心是建筑信息的共享与重 用, 而工业基础类(IFC, 目前IFC标准已经更新到了IFC4版本)标准是实现建筑信息共享与 重用的基础。 建筑完整的生命周期包括多个阶段。。

11、 在每个阶段, 和建筑相关的领域比如结 构、 机电等都会产生很多信息, 因此, 完整的IFC文件非常大, 这就阻碍了建筑信息的共享与 重用。 子模型提取是从一个原始完整的IFC模型中抽取部分的建筑信息模型以满足业务需 求, 子模型的提取可以应用于很多场景, 如结构分析, 能耗分析, 建筑规范的模型检查等, 此 外, 从安全性和保密性的角度考虑, 建筑模型的设计者应该按照参与者的需求进行信息分 发, 其它无关的信息应当保留在原始模型中防止泄露。 综上所述, 从完整的IFC模型中提取 用户需要的子模型对于BIM领域的应用是非常必要和迫切的。 0003 目前在子模型提取领域, 主要分为如下三大类别,。

12、 0004 一、 基于数据库的子模型提取 0005 目前存在一些BIM数据库, BIM数据库的主要作用是接收和存储IFC数据。 而基于数 据库, 往往采用查询语言的方式进行子模型提取。 一方面, 目前尚未出现适用于所有数据库 的子模型提取方法, 另一方面, 其中的某些查询语言也只能局限于固定信息的子模型提取, 比如空间关系。 0006 二、 基于本体的子模型提取 0007 本体是计算机中用来表达某一领域概念, 概念和概念之间关系的描述。 OWL和RFD 都是本体的描述语言。 Beetz提出了一种基于OWL/RDF描述图的查询方法, 该方法使用特定 的查询语言在OWL/RDF描述的图数据库中进行。

13、子模型提取, 但该方法只能提取几何信息和 拓扑信息。 Zhang提出的方法也是将IFC文件转换成本体, 使用本体的推理技术来进行子模 型的提取。 该方法对本体进行两次遍历, 第1次遍历, 找到所有与要提取子模型相关的信息 并加入到容器中, 第2次遍历, 从当前容器向下查找, 补全所有子模型信息。 Lee为了进行建 筑造价估计, 将BIM转换成本体, 进行造价中工作项的查询和推理并得到相应结果, 但该算 法只能应用于造价领域。 基于本体的研究方法会受制于IFC Schema的限制, 如果IFC Schema的版本更新, 那么这些方法也需要做相应调整。 而且有些方法目前只能针对IFC中部 分实体,。

14、 所以并不适用。 另外, 本体也是使用比较耗时的查询方式进行子模型提取。 0008 三、 基于IFC文件的子模型提取。 0009 Won和Lee提出了两种基于.IFC文件的子模型提取方法, 其一是基于提取需求递归 的提取出IFC物理实例及其相关实例; 其二是基于原始文件删除物理实例及关系实例。 0010 Won提出了一种与IFC Schema无关的子模型提取算法, 该算法首先提取所有的物 说明书 1/6 页 4 CN 111553001 A 4 理实例, 再基于物理实例提取关系实例, 并修改关系实例的属性后提取其它实例。 这种提取 方式是和IFC Schema无关的, 不需要随着IFC Sch。

15、ema的版本更新做调整。 即使IFC Schema 发布了新版本, 该算法依然鲁棒。 这种基于IFC文件进行子模型提取不会改变原来的格式, 直接在IFC文件上按照子模型提取需求进行。 这更加利于数据的共享和交换。 但该算法仍然 有一些可以改进: 第一, 该算法是冗余敏感的, 尽管一个IFC文件在进行去冗余操作后在利 用该算法进行子模型提取, 仍会有冗余实例产生; 第二, 该算法效率比较低, 因为在每次递 归的入口, 有太多的冗余实例导致复杂度比较高, 内存消耗大; 。 发明内容 0011 本发明的目的是提供了一种从IFC文件中提取或删除构件的方法, 它能有效地解 决IFC标准的信息共享与重用的。

16、技术问题。 0012 本发明的目的是通过以下技术方案来实现的: 一种从IFC文件中提取或删除构件 的方法, 包含以下步骤: 0013 步骤一、 首先从支持IFC标准的建筑行业商业软件导出的IFC文件中, 根据具有关 键字IFCRELCONTAINEDINSPATIALSTRUCTURE字样的实例行, 将所有包含在原IFC文件中IFC RELCONTAINEDINSPATIALSTRUCTURE的实例行找到, 每个实例行的第五个实例属性项内容为 构件编号, 将所有构件编号存入数据库Lib1; 0014 步骤二、 选择数据库Lib1中的需要提取的构件并将构件编号存入数据库Lib0, 分 以下两种情。

17、况从原IFC文件中提取构件相关信息保存至数据库Lib2; 0015 一、 对于引用拟提取构件的实例行, 判断每一行的实体名称: 0016 1、 如果实体名为IFCRELASSOCIATESMATAERIAL, 以该实例行为父节点, 生成这个实 例行引用数据信息的结构树, 将该结构树的所有实例行保存至数据库Lib2; 再根据实体名 的构成判断该结构树中的所有实体名, 如果实体名为IFCMATERIAL, 则在IFC文件中找该到 引用实体名IFCMATERIAL编号的所有实例行, 如果包含有IFCMATERIALDEFINITIONREPRESE NTATION实体, 则需要将在原IFC文件中找到。

18、的IFCMATERIALDEFINITIONREPRESENTATION实 例行及其引用数据信息的结构树提取并存入数据库Lib2; 0017 2、 如果实体名为IFCRELAGGREGATES, 则提取该实例行及其引用数据信息的结构树 存入数据库Lib2, 同时以该实例行实例属性项第六位括号内的每一个编号为关键字, 在原 IFC文件中进行查找, 如果实例行包含上述这些关键字, 则同时提取这些实例行及其引用数 据信息的结构树存入数据库Lib2; 0018 3、 否则, 按照如下规则进行提取: 0019 如果引用拟提取构件实例行的实例属性项包含拟提取构件编号, 则提取以该实 例行为父节点生成的引用。

19、数据信息的结构树存入数据库Lib2; 0020 如果引用拟提取构件实例行的实例属性项包含带括号且括号内只有拟提取构 件编号, 则提取以该实例行为父节点生成的引用数据信息的结构树存入数据库Lib2; 0021 如果引用拟提取构件实例行的实例属性项包含带括号且括号内除了具有拟提 取的构件编号还有其他构件编号, 则提取该实例行为父节点生成的引用数据信息的结构树 存入数据库Lib2,执行完步骤四以后, 在数据库Lib2中删除该实例行实例属性项中其他构 件编号; 说明书 2/6 页 5 CN 111553001 A 5 0022 上述遍历提取时, 数据库Lib1中构件编号的实例属性项的引用信息不存入 数。

20、据库Lib2; 0023 二、 对于拟提取构件引用的实例行: 以拟提取构件引用的实例行为父节点, 生成其 引用的信息结构树, 并将所有信息提取存入数据库Lib2; 对提取到的每一实例行所有信息, 在原IFC文件中判断其父节点名称是否为IFCSTYLEDITEM, 如果是, 则以IFCSTYLEDITEM的实 例行为父节点生成其引用信息结构树, 并提取存入数据库Lib2; 0024 构件删除方法是在构件提取的基础上, 判断需要删除的信息, 将需要删除的实例 行在原IFC文件中删除; 0025 步骤三、 判断数据库Lib2中需要删除的实例行: 0026 根据关键字IFCREL判断数据库Lib2中每。

21、一实例行的实体名, 如果实体名是以 IFCREL开头的, 则提取该实例行至数据库Lib3, 如果实体名不是以IFCREl开头的, 则提取该 实例行至数据库Lib4: 0027 1、 对于数据库Lib3中的实例行, 通过以下规则判断是否可以被删除: 0028 如果数据库Lib3中的实例行的某个实例属性是被删除构件的编号, 则该实例行 需要被删除, 将该实例行的信息保存到数据库Lib5; 0029 如果数据库Lib3中的实例行的某个实例属性是带括号且括号内只有删除构件 编号, 则该实例行需要被删除, 将该实例行的信息保存到数据库Lib5; 0030 如果数据库Lib3中的实例行的某个实例属性是带括。

22、号且括号内不只有删除构 件编号, 其中包括被删除构件的编号, 则该实例行不能被删除; 但是, 在执行步骤四删除时, 需要在该实例属性中删除被删构件的编号, 将该实例行信息保存到数据库Lib7; 0031 2、 对于数据库Lib4中的实例行, 则在原IFC文件和数据库Lib2中分别找到数据库 Lib4中实例行的父节点, 如果在原IFC文件中的父节点数量等于在数据库Lib2中父节点的 数量, 则表示该实例行可以被删除, 将该实例行保存到数据库Lib5; 0032 步骤四、 首先在原IFC文件中删除数据库Lib5中的所有实例行, 然后在原文件中找 到数据库Lib7中的所有实例行, 删除这些实例行属性。

23、中被删除构件的编号; 将删除后的IFC 文件另存为数据库Lib8。 0033 本发明的有益效果: 0034 本发明与基于数据库和本体进行子模型提取算法相比, 本算法可以生成子模型的 IFC文件, 这对于基于IFC标准的信息共享与重用是很有必要的。 与现有的基于IFC文件的子 模型提取算法相比, 该所算法不仅可以同时做到按需删除与按需提取, 且提取效率和精度 更高。 附图说明 0035 图1为本发明实施流程图 0036 图2为IFC文件结构截图 0037 图3为本发明特征标识示意截图 0038 图4为本发明特征标识示意截图 0039 图5为本发明特征标识示意截图 0040 图6为本发明特征标识示。

24、意截图 说明书 3/6 页 6 CN 111553001 A 6 0041 图7为本发明特征标识示意截图 0042 具体实施方法 0043 IFC SPF(STEP Physical File)文件是IFC标准所使用的主要数据交换文件, STEP 标准规定的IFC物理文件包括头文件和数据区两部分。 如图2所示, 在每一个IFC交换文件中 必须有头文件, 头文件以关键字HEADER开始, 以ENDSEC结束, 然而, 头文件中的信息并 没有具体的语义含义, 因此在生成子模型IFC文件时, 只需要将原文件中的头文件保留至子 模型的IFC文件即可。 数据区是基于IFC标准生成的, 以关键字DATA开。

25、始, 以ENDSEC结 束, 数据区由多条数据实例组成, 每条数据实例以 “#” 开头, 以 “; ” 结尾, 每条数据实例由实 例编号如 “#110” , 实体名如 “IFCPROJECT” 和数据实例属性项组成。 实例属性项中的属性又 可分为全局唯一标识如 “1oeLNWdyvD2xBpFQTGTp9a” 、 引用信息如 “#207” 和实例属性如 “.SPACE.” 此外, IFC文件中的数据实例顺序的改变并不会影响IFC文件的结构。 0044 图1为本发明实施流程图, 包含以下步骤: 0045 步骤一、 首先从支持IFC标准的建筑行业商业软件导出的IFC文件中, 根据具有关 键字IFC。

26、RELCONTAINEDINSPATIALSTRUCTURE字样的实例行, 将所有包含在原IFC文件中IFC RELCONTAINEDINSPATIALSTRUCTURE的实例行找到, 每个实例行的第五个实例属性项内容为 构件编号, 将所有构件编号存入数据库Lib1, 如图3所示; 0046 步骤二、 选择数据库Lib1中的一个或多个需要提取的构件并将构件编号存入数据 库Lib0, 以图3中的#945为例, 分以下两种情况从原IFC文件中提取构件相关信息保存至数 据库lib2; 0047 一、 对于引用拟提取构件的实例行, 判断每一行的实体名称, 对于引用构件#945的 实例行: 0048 1。

27、、 如图4所示, 如果实体名为IFCRELASSOCIATESMATAERIAL, 以该实例行为父节点, 生成这个实例行引用数据信息的结构树, 将该结构树的所有实例行保存至数据库Lib2, 再 根据实体名的构成判断该结构树中的所有实体名, 如果实体名为IFCMATERIAL, 则在IFC文 件中找该到引用实体名IFCMATERIAL编号的所有实例行, 如果包含有IFCMATERIALDEFINIT IONREPRESENTATION实体, 则需要将在原IFC文件中找到的IFCMATERIALDEFINITIONREPRES ENTATION实例行及其引用数据信息的结构树提取至数据库Lib2, 。

28、引用#945的实例行#1020 实体名为IFCRELASSOCIATESMATAERIAL, 以该实例行为父节点, 生成这个实例行引用数据信 息的结构树, 将该结构树的所有实例行保存至数据库Lib2, 再根据实体名的构成判断该结 构树中的所有实体名, #790的实体名为IFCMATERIAL, 则在IFC文件中找该到引用实体名 IFCMATERIAL编号的所有实例行, #932引用了#790且实体名为IFCMATERIALDEFINITIONREP RESENTATION, 则需将#932实例行及其引用数据信息的结构树也提取至数据库Lib2; 0049 2、 如图5所示, 如果实体名为IFCR。

29、ELAGGREGATES, 则提取该实例行及其引用数据信 息的结构树存入数据库Lib2, 同时以该实例行实例属性项第六位括号内的每一个编号为关 键字, 在原IFC文件中进行查找, 如果实例行包含上述这些关键字, 则同时提取这些实例行 及其引用数据信息的结构树存入数据库Lib2, 引用构件#43182的#2257063实例行的实体名 为IFCRELAGGREGATES, 则需提取该实例行及其引用数据信息的结构树存入数据库Lib2, 同 时以#2257063实例行实例属性项第六位括号内的每一个编号如#41355, #42362等, 在原IFC 文件中进行查找包含上述编号的实例行如#43226, #。

30、43265, #43270等, 提取#43226, # 说明书 4/6 页 7 CN 111553001 A 7 43265, #43270等实例行及其引用数据信息的结构树存入数据库Lib2; 0050 3、 否则, 按照如下规则进行提取, 如图4所示, 即引用#945的实例行实体名为其它 情况: 0051 如果引用拟提取构件实例行的实例属性项包含拟提取构件编号, 则提取以该实 例行为父节点生成的引用数据信息的结构树存入数据库Lib2, 引用#945的实例行#1085的 实例属性项包含拟提取构件编号#945, 则提取以该实例行为父节点生成的引用数据信息的 结构树存入数据库Lib2; 0052 。

31、如果该引用拟提取构件实例行的实例属性项包含带括号且括号内只有拟提取 构件编号, 则提取以该实例行为父节点生成的引用数据信息的结构树存入数据库Lib2, 引 用#945的实例行#10101的实例属性项包含带括号且括号内只有拟提取构件编号#945, 则提 取以该实例行为父节点生成的引用数据信息的结构树存入数据库Lib2; 0053 如果引用拟提取构件实例行的实例属性项包含带括号且括号内除了具有拟提 取的构件编号还有其他构件编号, 则提取该实例行为父节点生成的引用数据信息的结构树 存入数据库Lib2并在数据库Lib2中删除该实例行实例属性项中其他构件编号, 引用#945的 实例行#306415的实例。

32、属性项包含带括号且括号内除了具有拟提取的构件编号#945还有其 他构件编号#10156、 #16620、 #17111, 则提取该实例行为父节点生成的引用数据信息的结构 树存入数据库Lib2, 执行完步骤四以后, 在数据库Lib2中删除该实例行实例属性项中其他 构件编号#10156、 #16620、 #17111。 0054 上述遍历提取实例行时, 首先通过与数据库Lib1对比判断实例行的实例编 号是否存在于数据库Lib1, 如果是, 则该实例行及其引用信息不提取, 如果不是, 则提取该 实例行至数据库Lib2, 如引用#945的#17670的实例属性项#17111, 中的#10156、 #1。

33、6620、 # 17111, 都是数据库Lib1中的构件编号, 则这些实例属性项的引用信息不存入数据库Lib2。 0055 二、 如图6所示对于拟提取构件引用的实例行: 以拟提取构件引用的实例行为父节 点, 即#945开头的实例行为父节点, 生成其引用的信息结构树, 并将所有信息提取存入数据 库Lib2; 对提取到的每一实例行, 根据关键字IFCSTYLEDITEM在原IFC文件中判断其父节点 名称是否为IFCSTYLEDITEM, 如果是, 则以IFCSTYLEDITEM的实例行为父节点生成其引用信 息结构树, 并提取存入数据库Lib2, 如#945的结构树下#1007的父节点#10092的。

34、实体名为 IFCSTYLEDITEM, 则#10092实例行及其引用信息结构树也需提取存入数据库Lib2中; 0056 构件删除方法是在构件提取的基础上, 判断需要删除的信息, 将需要删除的实例 行在原IFC文件中删除; 0057 步骤三、 判断数据库Lib2中需要删除的实例行: 0058 根据关键字IFCREL判断数据库Lib2中每一实例行的实体名, 如果实体名是以 IFCREL开头的, 则提取该实例行至数据库Lib3, 如果实体名不是以IFCREl开头的, 则提取该 实例行至数据库Lib4: 0059 1、 对于数据库Lib3中的实例行, 通过以下规则判断实例行是否可以被删除: 如图7 所。

35、示: 0060 如果数据库Lib3中实例行的某个实例属性是被删除构件的编号, 则该实例行需 要被删除, 将该实例行的信息保存到数据库Lib5, 即对比判断数据库Lib3中的每一实例行 的引用信息是否在数据库Lib1中存在, 如果存在, 则数据库Lib3中引用信息存在于数据库 说明书 5/6 页 8 CN 111553001 A 8 Lib1的实例行需要被删掉, 将该实例行的信息保存到数据库Lib5, 实例行#1080的实例属 性#945是被删除构件的编号, 则实例行#1080是需要被删除的, 将该实例行的信息保存到数 据库Lib5; 0061 如果数据库Lib3中实例行的某个实例属性是带括号且。

36、括号内只有被删除构件 编号, 则该实例行需要被删除, 即为数据库Lib1中的每一构件编号添加一个括号,存入数据 库Lib6, 对比判断数据库Lib3中的每一实例行的引用信息是否在数据库Lib6中存在, 如果 存在, 则数据库Lib3中引用信息存在于数据库Lib1的实例行需要被删掉, 将该实例行的信 息保存到数据库Lib5, 实例行#10101的实例属性(#945)只是由被删除构件的编号构成, 则 实例行#10101是需要被删除的, 将该实例行的信息保存到数据Lib5; 0062 如果数据库Lib3中实例行的某个实例属性是带括号且括号内不只有被删除构 件编号, 其中包括被删除构件的编号, 则该实。

37、例行不能被删除, 但是在步骤四删除时需要在 该实例属性中删除被删构件的编号, 即对比数据库Lib3和Lib5, 将在Lib3但是不在Lib5的 实例行信息保存到数据库Lib7, 如实例行#306415的实例属性(#945, #10156, #16620, # 17111)由多个构建编号构成, 其中包括被删除构件的编号#945, 则#306415该实例行不能被 删除, 但是在步骤四删除时, 需要在该实例行实例属性中删除被删构件的编号#945; 0063 2、 对于数据库Lib4中的实例行, 则在原IFC文件和数据库Lib2中分别找到数据库 Lib4中实例行的父节点, 如果在原IFC文件中的父节点。

38、数量等于在数据库Lib2中父节点的 数量, 则表示该实例行可以被删除, 将该实例行保存到数据库Lib5; 0064 步骤四、 首先在原IFC文件中删除数据库Lib5中的所有实例行, 然后在原文件中找 到数据库Lib7中的所有实例行, 删除这些实例行属性中数据库Lib0中存储的构件编号; 将 删除后的IFC文件另存为数据库Lib8。 说明书 6/6 页 9 CN 111553001 A 9 图1 说明书附图 1/4 页 10 CN 111553001 A 10 图2 说明书附图 2/4 页 11 CN 111553001 A 11 图3 图4 说明书附图 3/4 页 12 CN 111553001 A 12 图5 图6 图7 说明书附图 4/4 页 13 CN 111553001 A 13 。

展开阅读全文
内容关键字: IFC 文件 提取 删除 构件 方法
关于本文
本文标题:从IFC文件中提取或删除构件的方法.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/10509192.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1