From f48c7d6af54f69845c143a924662e3c8fcdc6cc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Perdig=C3=A3o?= Date: Sun, 1 Sep 2024 11:20:14 -0300 Subject: [PATCH] Fix polytool issue with distance input while snapping above the xy plane. --- src/bonsai/bonsai/bim/module/model/decorator.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/bonsai/bonsai/bim/module/model/decorator.py b/src/bonsai/bonsai/bim/module/model/decorator.py index e3b15e8327..4a28f7e2de 100644 --- a/src/bonsai/bonsai/bim/module/model/decorator.py +++ b/src/bonsai/bonsai/bim/module/model/decorator.py @@ -477,14 +477,21 @@ class PolylineDecorator: def calculate_x_y_and_z(cls, context): try: polyline_data = context.scene.BIMModelProperties.polyline_point + default_container_elevation = tool.Ifc.get_object(tool.Root.get_default_container()).location.z last_point_data = polyline_data[len(polyline_data) - 1] last_point = Vector((last_point_data.x, last_point_data.y, last_point_data.z)) except: + default_container_elevation = 0 last_point = Vector((0, 0, 0)) snap_prop = context.scene.BIMModelProperties.snap_mouse_point[0] snap_vector = Vector((snap_prop.x, snap_prop.y, snap_prop.z)) + if cls.use_default_container: + snap_vector = Vector((snap_prop.x, snap_prop.y, default_container_elevation)) + else: + snap_vector = Vector((snap_prop.x, snap_prop.y, snap_prop.z)) + if len(polyline_data) > 1: second_to_last_point_data = polyline_data[len(polyline_data) - 2] second_to_last_point = Vector(