diff --git a/src/bonsai/bonsai/bim/module/drawing/decoration.py b/src/bonsai/bonsai/bim/module/drawing/decoration.py index 705fabfcf9..2587b20704 100644 --- a/src/bonsai/bonsai/bim/module/drawing/decoration.py +++ b/src/bonsai/bonsai/bim/module/drawing/decoration.py @@ -1788,7 +1788,7 @@ class CutDecorator: # Handle both old float64 and new float32 checksums for version compatibility rot_checksum_bytes: bytes = eval(DecoratorData.camera_rotation_checksum) - rot_check = tool.Blender.np_frombuffer_legacy(rot_checksum_bytes, 9) + rot_check = tool.Blender.np_frombuffer_legacy(rot_checksum_bytes, 9).reshape(3, 3) rot_real = tool.Blender.np_array_legacy(obj.matrix_world.to_3x3()) rot_dot = np.dot(rot_check, rot_real.T) angle_rad = np.arccos(np.clip((np.trace(rot_dot) - 1) / 2, -1, 1)) diff --git a/src/bonsai/bonsai/bim/module/drawing/operator.py b/src/bonsai/bonsai/bim/module/drawing/operator.py index 2cddf46f9e..bdfeda0f5e 100644 --- a/src/bonsai/bonsai/bim/module/drawing/operator.py +++ b/src/bonsai/bonsai/bim/module/drawing/operator.py @@ -3185,7 +3185,10 @@ class EditText(bpy.types.Operator, tool.Ifc.Operator): bl_options = {"REGISTER", "UNDO"} def _execute(self, context): - core.edit_text(tool.Drawing, obj=tool.Blender.get_active_object()) + obj = tool.Blender.get_active_object() + if not tool.Drawing.get_text_props(obj).is_editing: + return + core.edit_text(tool.Drawing, obj=obj) tool.Blender.update_viewport() diff --git a/src/bonsai/bonsai/core/drawing.py b/src/bonsai/bonsai/core/drawing.py index 42b0f77fbb..fc010e09f4 100644 --- a/src/bonsai/bonsai/core/drawing.py +++ b/src/bonsai/bonsai/core/drawing.py @@ -44,6 +44,7 @@ def edit_text(drawing: type[tool.Drawing], obj: bpy.types.Object) -> None: drawing.edit_text_wrap_length(obj, drawing.export_wrap_length(obj)) drawing.edit_text_symbol(obj, drawing.export_symbol(obj)) drawing.edit_text_literals(obj, literal_attributes) + drawing.edit_text_alignment(obj, drawing.export_alignment(obj)) drawing.disable_editing_text(obj)