Can I get unsheared dimensions on an object?

I would like to be able to get the original dimensions of an object after shear has been applied.

The dimensions of the new object are now different from the original cube. Can I determine what the original dimensions are from Python? I've read in other stack exchange questions that I can find the object's original size from the object's mesh (such as from this question: How to get the base dimensions of an object (ignoring all of it's modifiers)?) But when I look at the vertices of the mesh as explained in the answer, the vertices refer to the sheared object and not the original object.

• How did you apply the shear? If you applied it with A > Visual Geometry to Mesh, there's no way to get the original dimensions unless you assume that the original shape was a cuboid with all angles equal to 90 degrees. Is that the assumption you are making? Then it should be solvable. Jan 9, 2023 at 3:58
• What will you do with the original dimensions once you shear the cube? Jan 9, 2023 at 13:25
• I am using bpy.ops.transform.shear to apply the shear. I was thinking that I could possibly use the transform matrix to find the original dimensions of the cube. Or, perhaps I could use a modifier to apply shear and then just temporarily remove the modifier. I am using Blender to visualize geometry for a scientific simulation, which needs the original dimensions of the object (not necessarily a cube).
– SJK
Jan 9, 2023 at 14:16
• Would it be possible to use the inverse of the transformation matrix to get the original dimensions of the object and then reapply the transformation matrix? I am not sure how to apply the steps to try this. Or, I'll try to remove the shear, get the object dimensions, and then reapply it.
– SJK
Jan 9, 2023 at 19:57