国际金融公司实体两次提取

时间:2019-04-11 08:59:47

标签: python extraction ifc bim

我正在与IfcOpenShell和Python合作提取IFC实体。我已经开发了一个Python代码,我想使用该代码从体系结构模型中提取结构模型。但是,由于我是初学者,所以我无法理解和解决这个问题。

当我尝试提取不包含用括号括起来的实体的实体时,代码将准确运行。

for example:- 
#1=IFCPERSON($,$,'',$,$,$,$,$);
#2=IFCORGANIZATION($,'',$,$,$);

但是当我想提取使用括号括起来的先前实体时出现问题

for example:- 
#3=IFCPERSONANDORGANIZATION(#1,#2,$);

问题是,当我尝试提取实体“ IFCPERSONANDORGANIZATION”时,如果我已经按照下面的代码提取了这两个实体,则代码将提取“ IFCPERSON”和“ IFCORGANIZATION”两次。 请帮助我解决此问题。

import ifcopenshell

f = ifcopenshell.open("C:\Users\GURBHEJ SINGH\Desktop\IFC\ModelFull.ifc")
f2 = ifcopenshell.file()

persons = f.by_type("IFCPERSON")
for person in persons:
    f2.add(person)

organizations = f.by_type("IFCORGANIZATION")
for organization in organizations:
    f2.add(organization)

personorganizations = f.by_type("IFCPERSONANDORGANIZATION")
for personorganization in personorganizations:
    f2.add(personorganization)

f2.write("test222.ifc")

预期的结果是,它们不应是任何重复的实体,例如:-

ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('','2019-04-11T13:41:16',(),(),'IfcOpenShell 0.5.0-dev','IfcOpenShell 0.5.0-dev','');
FILE_SCHEMA(('IFC2X3'));
ENDSEC;
DATA;
#1=IFCPERSON($,$,'',$,$,$,$,$);
#2=IFCORGANIZATION($,'',$,$,$);
#3=IFCPERSONANDORGANIZATION(#1,#2,$);
ENDSEC;
END-ISO-10303-21;

0 个答案:

没有答案