一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种IFC子模型提取方法与流程

2021-10-29 22:30:00 来源:中国专利 TAG:提取 模型 方法 信息化 建筑

技术特征:
1.一种ifc子模型提取方法,其特征在于,该方法包括以下步骤:步骤1、读入过滤条件t,t=(te,tp,tv),根据过滤条件t从ifc完整模型lc中提取核心实体e1,lc={c
i
,{e
ij
}},c
i
是实体名称,0={e
ij
}是实体类型为c
i
的ifc实例的集合;步骤2、分析核心实体e1,若核心实体e1为空则结束提取;若te是产品实体,直接进入步骤3;若te是过程实体,则计算并提取核心实体e1中的过程实体的ifc实例集合;若te是组织、控制、生产资料和分组实体,则计算并提取核心实体e1中的组织、控制、生产资料和分组实体的ifc实例集合;若te是类型实体,则计算并提取核心实体e1中的类型实体的ifc实例集合;若te是项目实体,则根据mvd从ifc完整模型lc中提取实体级子模型,mvd={c
j
};若te是属性实体,则计算并提取核心实体e1中的属性实体的ifc实例集合;步骤3、计算并提取核心实体e1的相关ifc实例,结束提取。2.根据权利要求1所述的一种ifc子模型提取方法,其特征在于,提取核心实体e1时,包括以下步骤:1.1、读入过滤条件t,t=(te,tp,tv);1.2、条件从lc中提取c
i
=te的元素(te,{e
ij
});1.3遍历{e
ij
}中各个实例e
ij
,如果e
ij
的tp属性的值等于tv或包含tv,则将e
ij
加入核心实体e1,e1={e
ij
};否则继续遍历{e
ij
}。3.根据权利要求1所述的一种ifc子模型提取方法,其特征在于,提取过程实体的ifc实例时包括以下步骤:2.1、根据过滤条件t提取过程实体的ifc实例的集合p1,p1=e1,p1={p
i
};2.2、递归遍历p1中各个实例p
i
,提取p
i
反向属性isnestedby的值rv={r
nj
},进入步骤2.3;遍历结束进入步骤2.4;2.3、遍历rv中所有关系实例r
nj
,提取r
nj
的relatedobjects属性的值{p
j
}加入p2;p2中实例为p1实例的子过程;设置p1=p1∪p2;遍历结束返回步骤2.2;2.4、计算e1=e1∪p1,并将e1和步骤2.2提取的所有关系实例rv加入到子模型m1。4.根据权利要求3所述的一种ifc子模型提取方法,其特征在于,计算并提取核心实体e1中的组织、控制、生产资料和分组实体的ifc实例时,包括以下步骤:3.1、设置集合e
o
=e1,e
o
={e
i
};分析te实体类型,若为组织实体,进入步骤3.2;若为控制实体,进入步骤3.3;若为分组实体,进入步骤3.4;若为生产资料实体,进入步骤3.5;3.2、遍历e
o
中各元素e
i
,提取e
i
的反向属性isactingupon的值{r
ij
}加入rv;遍历完后进入步骤3.6;3.3、遍历e
o
中各元素e
i
,提取e
i
的反向属性controls的值{r
ij
}加入rv;遍历完后进入步骤3.6;3.4、遍历e
o
中各元素e
i
,提取e
i
的反向属性isgroupedby的值{r
ij
}加入rv;遍历完后进入步骤3.6;3.5、遍历e
o
中各元素e
i
,提取e
i
的反向属性resourceof的值{r
ij
}加入rv;遍历完后进入步骤3.6;3.6、遍历rv中各关系实例r
ij
,提取r
ij
的次要实体属性relatedobjects值{e
i
}加入e
o
;遍历完成后进入步骤3.7;3.7、根据实体类型将e
o
中实体分为产品实例集合e
oe
、过程实例集合e
op
和其他实体实例
e
o
;e
o
=e
oe
e
op
;3.8、递归计算并提取e
op
中过程实例p
i
的所有子过程p2,e
op
=e
op
∪p2;3.9、计算并提取核心实体e1中的组织、控制、生产资料和分组实体的ifc实例集合e1=e
op
∪e
oe
∪e
o
,将e1和上述步骤3.2

3.5中提取的所有关系实例rv加入到m1中。5.根据权利要求4所述的一种ifc子模型提取方法,其特征在于,计算并提取核心实体e1中的类型实体的ifc实例时,包括以下步骤:4.1、设置类型实体实例集合t1=e1,t1={t
i
},e1设为空集;4.2、遍历t1中各实例t
i
,提取t
i
的反向属性types的值rv={r
nj
},r
nj
是ifcreldefinesbytype实体的实例,进入步骤4.3;遍历完t1后,进入步骤4.4;4.3、遍历rv的各个元素r
nj
,提取r
nj
的relatedobjects属性的值t2,全部加入实例集合e1,即e1=e1∪e2;rv遍历完成后,返回步骤4.2;4.4、根据实体类型提取e1中过程实例集合e
1p
和生产资料实体实例集合e
rp
;4.5、递归计算并提取e
1p
中过程实例p
i
的所有子过程p2,设置e
1p
=e
1p
∪p2;进入步骤4.7;4.6、计算生产资料实体实例集合e
rp
中实例相关的核心实例结合p2,设置e
rp
=e
rp
∪p2;进入步骤4.7;4.7、计算得到的核心实体集合e1=e1∪t1∪e
rp
∪e
ip
;将e1和过程中提取的关系实例rv添加到子模型m1。6.根据权利要求5所述的一种ifc子模型提取方法,其特征在于,计算并提取核心实体e1中的属性实体的ifc实例时,包括以下步骤:5.1、设置属性实体实例集合s1=e1,s1={s
i
},e1设为空集;5.2、遍历s1中各实例s
i
,提取s
i
的反向属性definesoccurrence的值{r
nj
}加入rv,r
nj
是ifcreldefinesbyproperties实体的实例;遍历完进入步骤5.3;5.3、遍历rv的各个元素r
nj
,提取r
nj
的relatedobjects属性的值p1,加入核心实体集合e1,即e1=e1∪p1;遍历完成后,进入步骤5.4;5.4、遍历s1中各实例s
i
,提取s
i
的反向属性的definestype的值t1={t
i
},t
i
是类型实体的实例;遍历完成后,进入步骤5.5;5.5、提取t1中各个类型实例t
i
相关的核心实体t2,e1=e1∪t1∪t2;5.6、计算得到核心实体集合e1=e1∪s1∪p1;将e1和过程中提取的关系实例rv添加到子模型m1。7.根据权利要求6所述的一种ifc子模型提取方法,其特征在于,所述步骤3包括以下步骤:6.1、遍历e1中各个e
i
,提取e
i
的所有反向属性的值{r
ij
}加入rv,把rv添加到子模型m1,进入步骤6.2;e1遍历完后,进入步骤6.7;6.2、遍历rv中各个元素r
ij
;若r
ij
实体是关联关系实体或r
ij
的实体类型不在mvd中或m1中已包括r
ij
,则继续遍历;否则,把r
ij
添加到子模型m1;若e
i
是r
ij
的主要实体,进入步骤6.3;若e
i
是r
ij
的次要实体,且不是聚合关系,则进入步骤6.4;若e
i
是r
ij
的次要实体,且r
ij
是聚合关系实体,则继续遍历;rv遍历完后进入步骤6.6;6.3、获得r
ij
的次要实体relatedobjects属性值p2={p
j
};进入步骤6.5;
6.4、获得r
ij
的主要实体relatingobject属性值p2={p1};进入步骤6.5;6.5、遍历p2中各个元素p
j
,若p
j
的实体类型不属于mvd,则从p2删除;p2遍历完后返回步骤6.2;6.6、设置e1=e1∪p2;设置m1=m1∪e1;返回步骤6.1;6.7、提取m1中所有元素的资源实体类型的属性,提取结束。

技术总结
本发明涉及一种IFC子模型提取方法,包括:1、读入过滤条件t,根据t从IFC完整模型Lc中提取核心实体E1;2、分析核心实体E1,若核心实体E1为空则结束提取;若te是产品实体,直接进入步骤3;若te是过程实体,则提取过程实体的IFC实例集合;若te是组织、控制、生产资料和分组实体,则提取组织、控制、生产资料和分组实体的IFC实例集合;若te是类型实体,则提取类型实体的IFC实例集合;若te是项目实体,则根据MVD从IFC完整模型Lc中提取实体级子模型,MVD={c


技术研发人员:余芳强 张铭 彭阳 许璟琳 高尚 黄轶 李晨辉 高丙博
受保护的技术使用者:上海建工四建集团有限公司
技术研发日:2021.08.02
技术公布日:2021/10/28
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜