What's the easiest way to rotate around an edge that is not parallel to a primary axis?

First, the screenshots:

Given the highlighted edge in the left excerpt of the screenshot collage above, is there a quicker way to be able to rotate the cube around that edge than rotating the whole cube so that the active edge is parallel to one of the primary axes, making the rotation, and then rotating the cube back to its original position?

How about if the cube is chosen, but instead forming the diagonal of one of the faces, one selects the first vertex, and for the other end of the new edge, selects the vertex opposite of the first, along the diagonal of the cube. The new edge referred to is the active edge in the right half of the screenshot excerpt above. Again, is there a faster or more efficient way to rotate around the diagonal, than rotating the cube so the diagonal aligns with one of the primary axes, making the rotation, and then rotating the cube back to its original position?

In both cases, I want to rotate the cube around and perpendicular to the highlighted edge, as in the results screenshots below.

Here is another way ( without effecting the pivot element ):

• switch to (Pivot : cursor, Transform orientation : view, View : orthographic ).
• select the element and press Shift+S->cursor to selected.
• press Shift+(1 or 3 or 7) to go to one of the ortho views aligned to the selected element.
• when in the desired view press Ctrl+I then rotate the object according to the view ( use RXX ..).

You can rotate along normal if the edge is part of a face.

Change Pivot Point to Active Element, switch Transform Orientation to Normal and Edge Select mode.

Then select the cube while the edge that the cube rotated around selected last, then hit R button to rotate the cube and Y button twice to rotate around the active edge.

• What would I change in the method you describe if the diagonal was one of the two faces adjacent to the face I originally selected, where there the axis had "x" and "z" components, but no "Y'? – brasshat Jul 18 '15 at 5:07
• It doesn't matter how the edge is oriented, the Normal axis that is going along the edge is "Y" – Denis Jul 18 '15 at 5:14
• @brasshat you have to create a temporary face for that edge to be able to rotate along that edge. – Denis Jul 18 '15 at 5:26

This is super easy with my addon, Mesh Align Plus. Select two verts (doesn't need to be an edge), type an amount, and hit apply. GIF:

More advanced rotations are also possible (you can shift the axis around, rotate around a vert and the 3d cursor, rotate a piece of a mesh, etc.), but that's for another day...