diff --git a/src/blenderbim/blenderbim/bim/module/drawing/decoration.py b/src/blenderbim/blenderbim/bim/module/drawing/decoration.py index 07ce208e95..d1d6a2ce70 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/decoration.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/decoration.py @@ -525,10 +525,7 @@ class BaseDecorator: return matrix.inverted()[i].to_3d().normalized() text_dir_world_x_axis = get_basis_vector(obj.matrix_world) - camera_matrix = camera.matrix_world.copy() - camera_matrix[0][0] = 1 - camera_matrix[1][1] = 1 - camera_matrix[2][2] = 1 + camera_matrix = camera.matrix_world.normalized() text_dir = (camera_matrix.inverted().to_quaternion() @ text_dir_world_x_axis).to_2d().normalized() pos = location_3d_to_region_2d(region, region3d, text_world_position) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index fed4e484b6..90265113f4 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -802,11 +802,7 @@ class SvgWriter: text_dir_world_x_axis = get_basis_vector(text_obj.matrix_world) # RCP cameras may be scaled, so reset scales. - camera_matrix = self.camera.matrix_world.copy() - camera_matrix[0][0] = 1 - camera_matrix[1][1] = 1 - camera_matrix[2][2] = 1 - + camera_matrix = self.camera.matrix_world.normalized() text_dir = (camera_matrix.inverted().to_quaternion() @ text_dir_world_x_axis).to_2d().normalized() angle = math.degrees(-text_dir.angle_signed(Vector((1, 0)))) diff --git a/src/blenderbim/blenderbim/tool/geometry.py b/src/blenderbim/blenderbim/tool/geometry.py index 6795def93d..84f18ad061 100644 --- a/src/blenderbim/blenderbim/tool/geometry.py +++ b/src/blenderbim/blenderbim/tool/geometry.py @@ -59,9 +59,7 @@ class Geometry(blenderbim.core.tool.Geometry): # Note that clearing scale has no impact on cameras. if (obj.scale - Vector((1.0, 1.0, 1.0))).length > 1e-4: if not obj.data: - obj.matrix_world[0][0] = 1 - obj.matrix_world[1][1] = 1 - obj.matrix_world[2][2] = 1 + obj.matrix_world.normalize() elif obj.data.users == 1: context_override = {} context_override["object"] = context_override["active_object"] = obj