# can't mirror objects on other side

i'm trying to mirror 3 still objects that are: shoulder, biceps and forearm. i remember it was like this: select all of them, center the cursor to world origin (shift + c), duplicate, scale, x, -1. but the rotation screws up for some reason. same for the legs

• maybe apply the rotation of your object before making the mirror – moonboots May 6 '19 at 16:45

## 1 Answer

I agree, it seems counterintuitive, how SX-1 or ⎈ CtrlM work in this case.

You can always apply a mirror matrix to the object matrix. Simply select the object and execute the following script.

import bpy
import mathutils

ob = bpy.context.object

mat_mirror = mathutils.Matrix.Scale(-1, 4, (1.0, 0.0, 0.0))
ob.matrix_world = mat_mirror @ ob.matrix_world

# For Blender 2.79 and previous, use the * symbol for matrix multiplication.
#ob.matrix_world = mat_mirror * ob.matrix_world


With mathutils.Matrix.Scale(-1, 4, (1.0, 0.0, 0.0)) we construct a matrix scaled -1 along X.