diff --git a/src/blenderbim/blenderbim/tool/blender.py b/src/blenderbim/blenderbim/tool/blender.py index 2bd43c1f39..1b2efa6e90 100644 --- a/src/blenderbim/blenderbim/tool/blender.py +++ b/src/blenderbim/blenderbim/tool/blender.py @@ -740,10 +740,14 @@ class Blender(blenderbim.core.tool.Blender): return {"PASS_THROUGH"} @classmethod - def get_layer_collection( - cls, collection: bpy.types.Collection, view_layer: Optional[bpy.types.ViewLayer] = None - ) -> Union[bpy.types.LayerCollection, None]: - return cls.get_layer_collections_mapping([collection], view_layer).get(collection) + def get_layer_collection(cls, collection: bpy.types.Collection) -> Union[bpy.types.LayerCollection, None]: + project = tool.Ifc.get_object(tool.Ifc.get().by_type("IfcProject")[0]) + project_collection = project.BIMObjectProperties.collection + for layer_collection in bpy.context.view_layer.layer_collection.children: + if layer_collection.collection == project_collection: + for layer_collection2 in layer_collection.children: + if layer_collection2.collection == collection: + return layer_collection2 @classmethod def get_layer_collections_mapping( diff --git a/src/ifcopenshell-python/ifcopenshell/util/element.py b/src/ifcopenshell-python/ifcopenshell/util/element.py index 22fb74deb5..fb76b72f89 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/element.py +++ b/src/ifcopenshell-python/ifcopenshell/util/element.py @@ -468,7 +468,7 @@ def get_type(element: ifcopenshell.entity_instance) -> Union[ifcopenshell.entity schema = element.file.schema if schema != "IFC2X3": - if is_typed_by := element.IsTypedBy: + if is_typed_by := getattr(element, "IsTypedBy", []): return is_typed_by[0].RelatingType return