How to mirror an object along with its local transform orientation? So I need to mirror an object along a single axis, and this object has been rotated in object mode and therefore has a local orientation that differs from global. I need to keep this local transform because some constraints will apply to those objects for an animation. See the examples below:



The source is the red object and green one is the transformation result. This is what happens when using the mirror modifier, then separating geometry and resetting origin to geometry. The placement is fine, this is exactly where I want the object, however, the transform orientation itself matches that of the red object and has not been mirrored.



Now this is what happens when trying to mirror the object itself along the X axis using the 3d cursor as the pivot point (scaling -1 along global X). The transform orientation is then well aligned, but I wouldn't exactly call this a mirror! Now of course if I had applied the rotation before mirroring, the mirror would have worked, but the local orientation would have been reset so this is no use either. 

This seems like a very basic thing to do and I'm wondering what I'm overlooking. I know that I can use other orientations like "normal" for modeling but this will not work with constraints. I will need to use constraints on local axes afterwards.

Any help is greatly appreciated.
Mirror Rotation too

While performing the scaling upon the 3D cursor as pivot, you are basically mirroring both the Location (e.g. from X to -X) and the Scale of the object. The only trasformation not affected by the operator is the Rotation. 

I don't think that currently (2.77) there's an operator capable of doing all in one shot, but for the provided example it can be done manually by multipying the X-rotation channel value by -1 as shown in the image sequence below: