Getting Euler rotations for an object and exporting them Currently I have add-on that gets rotations from an object, converts angles into a matrix and saves it in a particular format into a text file.

This is what code for that looks like:

rot = tuple(chain(*obj.matrix_world.to_3x3().normalized().transposed()))

dump += ['"rotation" "{}"'.format(" ".join(str(r) for r in rot)),]

self.write(self.filepath, "\n".join(dump))


I also need to have Euler angles written after "rotation" in the following format:

"angles" "Y Z X"

Where Y, Z and X are angles in degrees.

How would I do that, following analogy with rotation matrix ? Thanks.
Should be as simple as:

from math import degrees

"{:f} {:f} {:f}".format(*map(degrees, obj.matrix_world.to_euler()))
# '-90.224203 -10.379210 -11.433244'


to_euler() converts a matrix to an Euler object, with order XYZ (regardless of what is set for rotation_mode). The angles are given in radians, but they can be simply converted to degrees using math.degrees().