# How do I mirror across anything other than X, Y, or Z axis?

I'm trying to mirror an object on the X-axis, Y-axis, and X+Y-axis. Unfortunately, there's no check mark for that last one. How do I mirror along it?

• The mirror modifier works with local axes, so try rotating the object without applying the rotation. (I'm assuming that by X+Y axis, you mean diagonally through the XY plane). – user7952 Jan 20 '15 at 21:52

## 3 Answers

Use two mirror modifiers, both one along the X+Y axis. Once you have the Y and X mirrored once, then you can add an empty and use it as a mirror object to mirror it along the x+y for your second modifier. Simply position the empty to where you want to objects to be mirrored. The empty will essentially replace the object's origin for the mirror modifier. • I can do that. My problem is the X+Y axis. I'm trying to get 8-fold symmetry, not 4-fold. – DanielLC Jan 20 '15 at 21:33
• That sounds like you're mirroring across a different position. I'm trying to mirror across a different direction. – DanielLC Jan 20 '15 at 21:49
• Your picture does not have the symmetry I'm trying to make. Under the reflections I want, if you made a single box, you'd end up with eight of them arranged in an octagon. If you stuck it exactly half-way between the x- and x+y-axes (at an 11.25 degree angle), you'd get a regular octagon. – DanielLC Jan 20 '15 at 22:43

I'm surprised the solution proposed here was not proposed. The idea is simple:

1. Create a place and place/rotate it: this plane (or more precisely its Z axis) will be your axis of symmetry.
2. Add a mirror modifier with this plane as the Mirror Object, and ensure that the Z axis is selected (it will take the Z axis of the plane as the mirror axis).
3. hide your plane in the top right window (ensure it's hidden in both the viewport and the render). I think you are trying to "mirror along the diagonal", i.e reflected in X + Y but you want to to only end up with two instances of your mesh.

The answer is "array modifier + empty scaled to negative 1 in X and Y"

1. Create an object "A".
2. Create an empty "E".
3. Scale "E" in X to -1, and in Y to -1.
4. Add a modifier "Array" to object "A".
5. In the Array modifier, set count to "2" Disable "Relative Offset".
6. In Array modifier, Enable "Object Offset" and select empty "E" as the offset object.

The same effect in a different way can be achieved by "array modifier + empty rotated 180 degrees in Z":

1. Create an object "A".
2. Create an empty "E".
3. Rotate "E" 180 degrees on the Z-axis.
4. Add an Array modifier to object "A".
5. In Array modifier, set count to "2", and disable "Relative Offset".
6. In Array modifier, enable "Object Offset" and select empty "E" as the offset object.

Finally extra credit: for a "kaleidescope" effect you can create a "radially symmetrical" object with ""array modifier + empty rotated 60 degrees in Z":

1. Create an object "A".
2. Create an empty "E".
3. Rotate "E" 60 degrees on the Z-axis.
4. Add an Array modifier to object "A".
5. In Array modifier, set count to "6", and disable "Relative Offset".
6. In Array modifier, enable "Object Offset" and select empty "E" as the offset object.
7. Animate the value of the Empty's rotation to get a cool motion graphic effect.

Note if you are trying to create contiguous i.e. manifold objects using radial symmetry, enable "Merge" and "First Last" in the Array modifier.