I could be wrong about any/all of this, but if you want to rotate around a non origin axis, I would stay you should translate the object away from the origin and then rotate as normal. The effect this has is equal to what you want and gives you complete control. With 6 degrees of freedom (trans x y z, rot xy,yz, zx) you should be able to accomplish any possible 3D affine transformation.
Now using this strategy to make good designs can be tricky, and depending on exactly what you want might be the wrong approach. Say you want a bolt hole pattern, but you need the holes to be square (if they were cylindrical the rotation wouldn't matter) then you would need to rotate them around an axis outside of their shape. wrap this in a for loop to make say 10 holes a fixed radius from the origin.
> I could be wrong about any/all of this, but if you want to rotate around a
> non origin axis, I would stay you should translate the object away from
> origin and then rotate as normal.
I'm aware that I can do that. My question is whether it is possible just
using the rotate() command - in other words, maybe I have missed a feature
of the rotate() command.
I have designed something with two parts, one rotates loosely within the other. It would be nice to be able to rotate the part around its pivot just to get an idea of whether the "arms" touch where they should not.