From 50ed75fcc253e020bfe8529724f6cbeafe7a0828 Mon Sep 17 00:00:00 2001 From: Gorgious56 Date: Mon, 13 Jan 2025 09:32:23 +0100 Subject: [PATCH] Fix potential bug where a class doesn't have a predefined type --- src/bonsai/bonsai/bim/module/model/data.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/bonsai/bonsai/bim/module/model/data.py b/src/bonsai/bonsai/bim/module/model/data.py index 7d5a914b46..df2e66dc7c 100644 --- a/src/bonsai/bonsai/bim/module/model/data.py +++ b/src/bonsai/bonsai/bim/module/model/data.py @@ -73,7 +73,7 @@ class AuthoringData: cls.data["prev_page"] = cls.prev_page() cls.data["paginated_relating_types"] = cls.paginated_relating_types() - cls.data["type_thumbnail"] = cls.type_thumbnail() + cls.data["type_thumbnail"] = cls.type_thumbnail() # Only after .relating_type_id_current() cls.data["is_voidable_element"] = cls.is_voidable_element() cls.data["has_visible_openings"] = cls.has_visible_openings() cls.data["has_visible_boundaries"] = cls.has_visible_boundaries() @@ -139,14 +139,16 @@ class AuthoringData: @classmethod def type_elements_filtered(cls): search_query = cls.props.search_name.lower() + def filter_element(element): if search_query in (element.Name or "Unnamed").lower(): return True if search_query in (element.Description or "").lower(): return True - if search_query in ifcopenshell.util.element.get_predefined_type(element).lower(): + if search_query in (ifcopenshell.util.element.get_predefined_type(element) or "").lower(): return True return False + elements = cls.data["type_elements"] if cls.props.search_name: return [e for e in elements if filter_element(e)]