How do I rotate an object around the local axis using python?

Maybe something like this answer.


2 Answers 2


I found this question

and from it I got this:

import bpy
import numpy
from mathutils import Euler

def set_loc_rotation(obj, value):
    rot = Euler(value, 'ZYX')
    obj.rotation_euler = (obj.rotation_euler.to_matrix() @ rot.to_matrix()).to_euler(obj.rotation_mode)

set_loc_rotation(obj, numpy.radians([30,0,0])) #rotates by 30 deg on local x axis
set_loc_rotation(obj, numpy.radians([0,0,30])) #rotates by 30 deg on local z axis

is that what you are looking for?

bpy.data.objects['Cube'].rotation_euler[0] = 1.5 # x

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .