Purge IfcWindow/DoorStyle/IfcTypeProduct #4137

This commit is contained in:
Andrej730
2023-12-21 14:13:25 +05:00
parent 46454c5c94
commit 7c438b6b9b
2 changed files with 10 additions and 3 deletions
+7 -1
View File
@@ -59,7 +59,13 @@ class Type(blenderbim.core.tool.Type):
@classmethod
def get_model_types(cls):
return tool.Ifc.get().by_type("IfcElementType")
ifc_file = tool.Ifc.get()
types = ifc_file.by_type("IfcElementType")
# exclude IfcSpatialElementType
types += ifc_file.by_type("IfcTypeProduct", include_subtypes=False)
types += ifc_file.by_type("IfcWindowStyle")
types += ifc_file.by_type("IfcDoorStyle")
return types
@classmethod
def get_object_data(cls, obj):
+3 -2
View File
@@ -118,8 +118,9 @@ class TestGetModelTypes(NewFile):
def test_run(self):
ifc = ifcopenshell.file()
tool.Ifc.set(ifc)
wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType")
assert subject.get_model_types() == [wall_type]
type_classes = ("IfcWallType", "IfcDoorStyle", "IfcWindowStyle", "IfcTypeProduct")
types = [ifcopenshell.api.run("root.create_entity", ifc, ifc_class=c) for c in type_classes]
assert set(subject.get_model_types()) == set(types)
class TestGetObjectData(NewFile):