From 745c8e173ac8227f0beab0e827bcb686f7049fd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Perdig=C3=A3o?= Date: Mon, 21 Oct 2024 10:46:26 -0300 Subject: [PATCH] Small fix after 14917d2c3 --- src/bonsai/bonsai/bim/module/model/decorator.py | 9 ++++++--- src/bonsai/bonsai/tool/snap.py | 6 +++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/bonsai/bonsai/bim/module/model/decorator.py b/src/bonsai/bonsai/bim/module/model/decorator.py index 9c5a77b265..6ec9d911c9 100644 --- a/src/bonsai/bonsai/bim/module/model/decorator.py +++ b/src/bonsai/bonsai/bim/module/model/decorator.py @@ -26,7 +26,7 @@ from math import sin, cos, radians, degrees, atan2, acos from bpy.types import SpaceView3D import math from bpy_extras import view3d_utils -from mathutils import Vector, Matrix +from mathutils import Vector, Matrix, Quaternion from gpu_extras.batch import batch_for_shader from gpu_extras.presets import draw_circle_2d from typing import Union @@ -564,9 +564,12 @@ class PolylineDecorator: rl = 0 snap_prop = context.scene.BIMPolylineProperties.snap_mouse_point[0] mouse_point = Vector((snap_prop.x, snap_prop.y, snap_prop.z)) - snap_obj = bpy.data.objects[snap_prop.snap_object] + try: + snap_obj = bpy.data.objects[snap_prop.snap_object] + except: + snap_obj = None snap_element = tool.Ifc.get_entity(snap_obj) - rot_mat = Vector((0.0, 0.0, 0.0)) + rot_mat = Quaternion() if snap_element and snap_element.is_a("IfcWall"): rot_mat = snap_obj.matrix_world.to_quaternion() diff --git a/src/bonsai/bonsai/tool/snap.py b/src/bonsai/bonsai/tool/snap.py index 7193a249cb..f8299bc1d0 100644 --- a/src/bonsai/bonsai/tool/snap.py +++ b/src/bonsai/bonsai/tool/snap.py @@ -112,7 +112,11 @@ class Snap(bonsai.core.tool.Snap): snap_vertex.y = snap_point[1] snap_vertex.z = snap_point[2] snap_vertex.snap_type = snap_type - snap_vertex.snap_object = snap_obj.name + if snap_obj: + snap_vertex.snap_object = snap_obj.name + else: + snap_vertex.snap_object = '' + @classmethod def clear_snapping_point(cls):