From 204a1b1dc6565917a66c0ac9e7faff70a68c389a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Perdig=C3=A3o?= Date: Mon, 11 Nov 2024 21:13:16 -0300 Subject: [PATCH] Measure tool - Add UI button to clear measurement from the screen --- .../bonsai/bim/module/project/__init__.py | 1 + .../bonsai/bim/module/project/operator.py | 17 +++++++++++++++++ .../bonsai/bim/module/project/workspace.py | 2 ++ 3 files changed, 20 insertions(+) diff --git a/src/bonsai/bonsai/bim/module/project/__init__.py b/src/bonsai/bonsai/bim/module/project/__init__.py index 6f10f434c7..6d0eb432f9 100644 --- a/src/bonsai/bonsai/bim/module/project/__init__.py +++ b/src/bonsai/bonsai/bim/module/project/__init__.py @@ -44,6 +44,7 @@ classes = ( operator.LoadProject, operator.LoadProjectElements, operator.MeasureTool, + operator.ClearMeasurement, operator.NewProject, operator.QueryLinkedElement, operator.RefreshClippingPlanes, diff --git a/src/bonsai/bonsai/bim/module/project/operator.py b/src/bonsai/bonsai/bim/module/project/operator.py index 0e2d194545..9274ee1efb 100644 --- a/src/bonsai/bonsai/bim/module/project/operator.py +++ b/src/bonsai/bonsai/bim/module/project/operator.py @@ -2492,3 +2492,20 @@ class MeasureTool(bpy.types.Operator, PolylineOperator): def invoke(self, context, event): super().invoke(context, event) return {"RUNNING_MODAL"} + + +class ClearMeasurement(bpy.types.Operator): + bl_idname = "bim.clear_measurement" + bl_label = "Clear measurement from the screen" + bl_options = {"REGISTER", "UNDO"} + + @classmethod + def poll(cls, context): + return len(context.scene.BIMPolylineProperties.measurement_polyline) > 0 + + + def execute(self, context): + context.scene.BIMPolylineProperties.measurement_polyline.clear() + MeasureDecorator.uninstall() + tool.Blender.update_viewport() + return {"FINISHED"} diff --git a/src/bonsai/bonsai/bim/module/project/workspace.py b/src/bonsai/bonsai/bim/module/project/workspace.py index f7125c494d..39187a3fae 100644 --- a/src/bonsai/bonsai/bim/module/project/workspace.py +++ b/src/bonsai/bonsai/bim/module/project/workspace.py @@ -68,6 +68,8 @@ class ExploreTool(bpy.types.WorkSpaceTool): op.hotkey = "S_M" row = layout.row(align=True) row.prop(prop, "measurement_type", text="Measure Type", expand=True, icon_only=True, emboss=True) + row = layout.row(align=True) + op = row.operator("bim.clear_measurement", text="", icon="X") class ExploreHotkey(bpy.types.Operator):