Help setting Object Origin to Cursor position and ORIENTATION

This is one difficulty I often run into and I’d like to hear if there are better workarounds than the ones I use.

The problem is best illustrated by example.


In the first picture I drew a simple cube with some colors that match those of the default axis to face normals.

Let’s now grab an edge and drag it along the x-axis to create a slanted face as in the 2nd figure.


I’ve placed my cursor on the red slanted face and used the cursor tool in the noob menu on the left (which I think is unfortunately the only way to do this quickly) to orient the cursor Z-axis to the face
normal and center it using Shift-S.

What steps would you now use to set the object’s transform origin to the cursor position and orientation?

(Shift-c and “Selection to cursor” in Global coordinates would then allow one to place the object so that the face is oriented on the X-Y plane as in the 3rd figure.)

As far as I know there is no easy way to do this in Blender, because “Set Origin to 3D Cursor” doesn’t respect the cursor rotation. (The align toolbox addon isn’t much help here either.) This type of misbehavior appears to be an oversight, and I’ve been trying it in the alpha versions as well hoping it’s been fixed. But if I missed something, I’d love to know of good ways to deal with this issue, which pops up fairly often, not just with complex objects, but also when dealing with curves and modifiers in modeling workflow.

So you want it that if you now add another cube for example that it is flush with the side of the other cube? Or do want to rotate the cube so one side is parallel to the ground?