From 14ed4d1d08de5340d5df03531d16349cda6cd359 Mon Sep 17 00:00:00 2001 From: falken10vdl Date: Tue, 2 Sep 2025 17:14:18 +0200 Subject: [PATCH] feat: add comparison property to ifc_filter in draw_filter and update search query logic --- src/bonsai/bonsai/bim/helper.py | 1 + src/bonsai/bonsai/tool/search.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/bonsai/bonsai/bim/helper.py b/src/bonsai/bonsai/bim/helper.py index d18de2121d..49f49582b4 100644 --- a/src/bonsai/bonsai/bim/helper.py +++ b/src/bonsai/bonsai/bim/helper.py @@ -556,6 +556,7 @@ def draw_filter( elif ifc_filter.type == "query": row = box.row(align=True) row.prop(ifc_filter, "name", text="", icon="POINTCLOUD_DATA") + row.prop(ifc_filter, "comparison", text="") row.prop(ifc_filter, "value", text="") elif ifc_filter.type == "instance": row = box.row(align=True) diff --git a/src/bonsai/bonsai/tool/search.py b/src/bonsai/bonsai/tool/search.py index b304fe7b81..29e862b6b0 100644 --- a/src/bonsai/bonsai/tool/search.py +++ b/src/bonsai/bonsai/tool/search.py @@ -121,7 +121,8 @@ class Search(bonsai.core.tool.Search): filter_group_query.append(f"parent{comparison}{value}") elif ifc_filter.type == "query": keys = cls.wrap_value(ifc_filter, ifc_filter.name) - comparison, value = cls.get_comparison_and_value(ifc_filter) + comparison = ifc_filter.comparison or "=" + value = cls.wrap_value(ifc_filter, ifc_filter.value) filter_group_query.append(f"query:{keys}{comparison}{value}") query.append(", ".join(filter_group_query)) return " + ".join(query)