diff --git a/src/bonsai/bonsai/bim/module/clash/__init__.py b/src/bonsai/bonsai/bim/module/clash/__init__.py index fa6acf5b47..a3ada1bc72 100644 --- a/src/bonsai/bonsai/bim/module/clash/__init__.py +++ b/src/bonsai/bonsai/bim/module/clash/__init__.py @@ -24,6 +24,7 @@ classes = ( operator.AddClashSource, operator.ExecuteIfcClash, operator.ExportClashSets, + operator.HideClash, operator.ImportClashSets, operator.LoadSmartGroupsForActiveClashSet, operator.RemoveClashSet, diff --git a/src/bonsai/bonsai/bim/module/clash/operator.py b/src/bonsai/bonsai/bim/module/clash/operator.py index 4509c0083a..19ee3d076a 100644 --- a/src/bonsai/bonsai/bim/module/clash/operator.py +++ b/src/bonsai/bonsai/bim/module/clash/operator.py @@ -443,6 +443,27 @@ class SelectClash(bpy.types.Operator): return {"FINISHED"} +class HideClash(bpy.types.Operator): + bl_idname = "bim.hide_clash" + bl_label = "Hide Clash" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Hide the clash decorator" + + @classmethod + def poll(cls, context): + if not ClashDecorator.is_installed: + cls.poll_message_set("No clash selected.") + return False + return True + + def execute(self, context): + ClashDecorator.uninstall() + for area in context.screen.areas: + if area.type=="VIEW_3D": + area.tag_redraw() + return {"FINISHED"} + + class SmartClashGroup(bpy.types.Operator): bl_idname = "bim.smart_clash_group" bl_label = "Smart Group Clashes" diff --git a/src/bonsai/bonsai/bim/module/clash/ui.py b/src/bonsai/bonsai/bim/module/clash/ui.py index f0ad45baa3..5e3711efe0 100644 --- a/src/bonsai/bonsai/bim/module/clash/ui.py +++ b/src/bonsai/bonsai/bim/module/clash/ui.py @@ -165,6 +165,7 @@ class BIM_PT_ifcclash(Panel): layout.template_list("BIM_UL_clashes", "", props.active_clash_set, "clashes", props, "active_clash_index") row = layout.row() row.operator("bim.select_clash") + row.operator("bim.hide_clash", text="", icon="HIDE_ON") else: row.label(text="Clashes Are Not Loaded", icon="PIVOT_CURSOR")