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
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
mathutils.Matrix.Scale(-1, 4, (1.0, 0.0, 0.0)) we construct a matrix scaled
-1 along X.