diff --git a/src/bonsai/bonsai/bim/module/model/wall.py b/src/bonsai/bonsai/bim/module/model/wall.py index d7dae2a9ec..1d3c31c6ae 100644 --- a/src/bonsai/bonsai/bim/module/model/wall.py +++ b/src/bonsai/bonsai/bim/module/model/wall.py @@ -378,7 +378,7 @@ class DrawPolylineWall(bpy.types.Operator): tool.Blender.update_viewport() if event.value == "RELEASE" and event.type == "LEFTMOUSE": - tool.Snap.insert_polyline_point() + tool.Snap.insert_polyline_point(self.input_panel) tool.Blender.update_viewport() if event.value == "PRESS" and event.type == "C": @@ -448,7 +448,7 @@ class DrawPolylineWall(bpy.types.Operator): if self.is_input_on and event.value == "RELEASE" and event.type in {"RET", "NUMPAD_ENTER", "RIGHTMOUSE"}: self.recalculate_inputs(context) - tool.Snap.insert_polyline_point(float(self.input_panel["X"]), float(self.input_panel["Y"])) + tool.Snap.insert_polyline_point(self.input_panel) self.is_input_on = False self.input_type = "OFF" self.number_input = [] diff --git a/src/bonsai/bonsai/tool/snap.py b/src/bonsai/bonsai/tool/snap.py index 44ac7a8a34..5368be3ecb 100644 --- a/src/bonsai/bonsai/tool/snap.py +++ b/src/bonsai/bonsai/tool/snap.py @@ -118,11 +118,14 @@ class Snap(bonsai.core.tool.Snap): @classmethod def insert_polyline_point(cls, input_panel): - x = float(input_panel['X']) - y = float(input_panel['Y']) - z = float(input_panel['Z']) - d = input_panel['D'] - a = input_panel['A'] + x = float(input_panel["X"]) + y = float(input_panel["Y"]) + try: + z = float(input_panel["Z"]) + except: + z = Vector((0, 0, 0)) + d = input_panel["D"] + a = input_panel["A"] snap_vertex = bpy.context.scene.BIMModelProperties.snap_mouse_point[0] if cls.use_default_container: @@ -371,7 +374,6 @@ class Snap(bonsai.core.tool.Snap): else: return None, None, None - try: polyline_data = bpy.context.scene.BIMModelProperties.polyline_point last_polyline_point = polyline_data[len(polyline_data) - 1]