7
$\begingroup$

This seems like it should be easy, but I've searched SE and YouTube to no avail so far...

I have a mesh in my scene, representing a vehicle's drive shaft. Here it is, with everything else hidden:

enter image description here

However, the local axis (shown here) lines up with the scene's global axis, which isn't going to be useful when I try rotating the shaft around its length.

How can I transform the mesh's local axes so that, say, the x axis aligns with the drive shaft's length?

And if that's possible, are there any hints on how to make it exactly lined up so the shaft doesn't wobble when rotating? Thanks!

$\endgroup$
  • $\begingroup$ You can change the transform orientation to local or normal. Is that what you're looking for? $\endgroup$ – Timaroberts Dec 15 '16 at 22:41
  • $\begingroup$ I don't think so. When I select the normal axis, it's identical to the local one. Maybe there's a way to tell the normal axis to snap to a face, or something? $\endgroup$ – Dan Bennett Dec 15 '16 at 22:48
11
$\begingroup$

You may add a custom transform orientation based on your object's current orientation. In your case select the object in Object Mode, press Ctrl+Alt+Spacebar (or click a '+' button in a Transform Orientations panel of the Properties Shelf (N). It'll add a new orientation according to your object's position.
enter image description here

If you have more complicated object with the normals facing in different directions you may select the face/faces with desired angle/angles in Edit Mode and then press the buttons mentioned above. It'll orient the 3d gizmo according to the faces' position. enter image description here

The newly added orientations (you may add as many as you like) are available in the Transform Orientation tab at the bottom bar of the 3D window. enter image description here

$\endgroup$
  • 1
    $\begingroup$ Thanks! Actually, for some reason, just adding a custom transform orientation to the object came close, but wasn't exactly lined up, so the shaft wobbled when rotating. So I went into edit mode and selected a face and created an orientation from that. With the pivot point at the object's median point, rotating around the custom x axis is perfect. Thanks! $\endgroup$ – Dan Bennett Dec 16 '16 at 17:07
7
$\begingroup$

This is a workaround.

  1. Select an edge loop perpendicular to the required axis. Alt+Click
    Duplicate the vertices. Shift+D
    Separate them (by selection). P > By Selection
    enter image description here
  2. Enter edit mode of the newly created object. Tab
    Select all vertices. A
    Make a face. F
    enter image description here
  3. In object mode, add a helper object (e.g. a cube). Shift+A > Cube
  4. Enable Snap during Transform.
    Set the Snap Element to Face.
    Activate the last to buttons.
    enter image description here
  5. Snap the helper object (cube) to the face by moving it over. G
    You probably have to hide all other objects.
    enter image description here
  6. Disable Snap during Transform.
    Delete the helper object (cube).X
    Reset the helper object's location. Alt+G. This helper object now holds the new orientation.
    enter image description here
  7. Select the original object. Shift select the helper object and join them. Ctrl+J.
    Delete the vertices of the helper object.
    enter image description here
$\endgroup$
  • 1
    $\begingroup$ Wish I could upvote this 10 times. I've been searching for this for a very long time. $\endgroup$ – Papouh Oct 22 '18 at 12:21
  • $\begingroup$ This will alter the local axis permanently, which is exactly what I was looking for. Thanks! $\endgroup$ – ecv Dec 19 '18 at 14:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.