From e48050af4bf464a4d84498312df76e291c27e331 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Perdig=C3=A3o?= Date: Fri, 6 Sep 2024 17:23:20 -0300 Subject: [PATCH] Fix #5336 --- src/bonsai/bonsai/bim/module/model/wall.py | 2 ++ src/bonsai/bonsai/bim/module/project/operator.py | 1 + src/bonsai/bonsai/tool/snap.py | 5 +++++ 3 files changed, 8 insertions(+) diff --git a/src/bonsai/bonsai/bim/module/model/wall.py b/src/bonsai/bonsai/bim/module/model/wall.py index a50573f20d..b1b9680c26 100644 --- a/src/bonsai/bonsai/bim/module/model/wall.py +++ b/src/bonsai/bonsai/bim/module/model/wall.py @@ -543,9 +543,11 @@ class DrawPolylineWall(bpy.types.Operator): def invoke(self, context, event): if context.space_data.type == "VIEW_3D": PolylineDecorator.install(context) + tool.Snap.clear_snapping_point() tool.Snap.set_use_default_container(True) PolylineDecorator.set_use_default_container(True) tool.Polyline.set_use_default_container(True) + tool.Snap.set_snap_axis_method(None) tool.Snap.set_snap_plane_method("XY") PolylineDecorator.set_instructions(self.instructions) PolylineDecorator.set_input_ui(self.input_ui, self.input_type) diff --git a/src/bonsai/bonsai/bim/module/project/operator.py b/src/bonsai/bonsai/bim/module/project/operator.py index 07a83d439b..dff315ec52 100644 --- a/src/bonsai/bonsai/bim/module/project/operator.py +++ b/src/bonsai/bonsai/bim/module/project/operator.py @@ -2527,6 +2527,7 @@ class MeasureTool(bpy.types.Operator): def invoke(self, context, event): if context.space_data.type == "VIEW_3D": PolylineDecorator.install(context) + tool.Snap.clear_snapping_point() tool.Snap.set_use_default_container(False) PolylineDecorator.set_use_default_container(False) tool.Polyline.set_use_default_container(False) diff --git a/src/bonsai/bonsai/tool/snap.py b/src/bonsai/bonsai/tool/snap.py index e75db3aadc..ccad90a2e6 100644 --- a/src/bonsai/bonsai/tool/snap.py +++ b/src/bonsai/bonsai/tool/snap.py @@ -109,6 +109,10 @@ class Snap(bonsai.core.tool.Snap): snap_vertex.z = snap_point[2] snap_vertex.snap_type = snap_type + @classmethod + def clear_snapping_point(cls): + bpy.context.scene.BIMModelProperties.snap_mouse_point.clear() + @classmethod def update_snapping_ref(cls, snap_point, snap_type): try: @@ -413,6 +417,7 @@ class Snap(bonsai.core.tool.Snap): # TODO It only work for XY plane. Make it work also for None plane_method rot_intersection = None + cls.snap_angle = None if not cls.snap_plane_method: if cls.snap_axis_method == "X": cls.snap_angle = 180