diff --git a/object_print3d_utils/mesh_helpers.py b/object_print3d_utils/mesh_helpers.py index 7d23a0786a48f2749b27ee1c5f906baa7ed7787c..444df1f11069e1dbf93950355d8a0f4cc78fa0f0 100644 --- a/object_print3d_utils/mesh_helpers.py +++ b/object_print3d_utils/mesh_helpers.py @@ -32,7 +32,13 @@ def bmesh_copy_from_object(obj, transform=True, triangulate=True, apply_modifier # would save ram if transform: - bm.transform(obj.matrix_world) + matrix = obj.matrix_world.copy() + if not matrix.is_identity: + bm.transform(matrix) + # Update normals if the matrix has no rotation. + matrix.translation.zero() + if not matrix.is_identity: + bm.normal_update() if triangulate: bmesh.ops.triangulate(bm, faces=bm.faces)