From bc70130123566e137dcd357c6c926259ed22fb5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Perdig=C3=A3o?= Date: Mon, 12 Aug 2024 16:01:25 -0300 Subject: [PATCH] Polyline wall - you now can press 'C' to close the polyline --- src/blenderbim/blenderbim/bim/module/model/wall.py | 6 ++++++ src/blenderbim/blenderbim/tool/snap.py | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/model/wall.py b/src/blenderbim/blenderbim/bim/module/model/wall.py index 26f40f2dba..c8d1227892 100644 --- a/src/blenderbim/blenderbim/bim/module/model/wall.py +++ b/src/blenderbim/blenderbim/bim/module/model/wall.py @@ -553,6 +553,12 @@ class DrawPolylineWall(bpy.types.Operator): if event.value == "RELEASE" and event.type == "LEFTMOUSE": tool.Snap.insert_polyline_point() + tool.Blender.update_viewport() + + if event.value == "PRESS" and event.type == "C": + tool.Snap.close_polyline() + WallPolylineDecorator.set_input_panel(self.input_panel, self.input_type) + tool.Blender.update_viewport() if not self.is_input_on: if event.value == "RELEASE" and event.type == "BACK_SPACE": diff --git a/src/blenderbim/blenderbim/tool/snap.py b/src/blenderbim/blenderbim/tool/snap.py index 2028d6ae20..5d3c22668a 100644 --- a/src/blenderbim/blenderbim/tool/snap.py +++ b/src/blenderbim/blenderbim/tool/snap.py @@ -104,6 +104,16 @@ class Snap(blenderbim.core.tool.Snap): polyline_point.y = snap_vertex.y polyline_point.z = default_container_elevation + @classmethod + def close_polyline(cls): + polyline_data = bpy.context.scene.BIMModelProperties.polyline_point + if len(polyline_data) > 2: + first_point = polyline_data[0] + polyline_point = bpy.context.scene.BIMModelProperties.polyline_point.add() + polyline_point.x = first_point.x + polyline_point.y = first_point.y + polyline_point.z = first_point.z + @classmethod def clear_polyline(cls): bpy.context.scene.BIMModelProperties.polyline_point.clear()