24

I have an object which is rotated and not parallel to any axis. The picture shows how it looks if I scale four vertices along the y-axis. How can I extend the vertices along the local axis of the object?

transform along global axes

David
  • 49,291
  • 38
  • 159
  • 317
Adam
  • 609
  • 1
  • 6
  • 13

5 Answers5

27

When you are in edit mode, select the desired vertices, press S, and then press either X, Y, or Z twice in a row.

After the first press it will transform along the global orientation as usual:

default

After the second press it will use the transform orientation selected in 3D view > header, which is set to local by default:

new

If the orientation is set to global pressing the axis key (X,Y,Z) twice will still use the corresponding local axis.

This solution does not work if the vertices were rotated in edit mode. For that you may have to change the transform orientation to normal, and manually move the edges.

J Sargent
  • 19,269
  • 9
  • 79
  • 131
  • 1
    Not sure about the last bit, setting the transform orientation to local won't make it any different than if it was set to global. Did you mean normal? – gandalf3 Nov 06 '14 at 20:44
  • Thank you for also including a solution when the object was rotated in edit mode. – Adam Nov 08 '14 at 11:47
10

Change your transform orientation to Local, then you can use the 3D Manipulator set to Scale.

enter image description here

iKlsR
  • 43,379
  • 12
  • 156
  • 189
10

In addition to iKlsR's answer, you can hit Y (or X or Z) twice after hitting G (or S or R), this will move along the object's local y, x, or z axis.

PGmath
  • 25,106
  • 17
  • 103
  • 199
  • I don't think this is correct, G Z Z with the orientation set to local still moves vertices along the local axes for me. – gandalf3 Nov 06 '14 at 20:41
  • @gandalf3 you're right! I am pretty sure I remember doing something like that to transform along vertices' normals and I thought that was it. I will do some experimenting and see if I can find it again, for now I edited that out. – PGmath Nov 07 '14 at 14:48
  • Did you have the transform orientation set to normal? – gandalf3 Nov 07 '14 at 19:02
8

By default, all you have to do is press the axis key twice, e.g. SYY.

enter image description here

In most cases, pressing the axis key twice will use the transform orientation specified in 3D view > Header:

enter image description here

However there is one exception, as you can see in the gif above. Even though the transform orientation is set to Global, SYY uses the Local orientation.

This is probably because pressing the axis key once (SY) always uses global axes, and it would be pointless to have a setting where SY and SYY do the same thing.


Transform orientations are quite useful, and I recommend you have a look at the wiki if you haven't already.

Also note that you can define custom orientations with ⎈ Ctrl⎇ AltSpace, e.g.:

enter image description here

gandalf3
  • 157,169
  • 58
  • 601
  • 1,133
  • Btw, custom transform orientations can be deleted in *Transform OrientationsinN`, and they are not updated when the source (like the face here, or axes, etc.) change. Many thanks @gandalf3 for the hint with custom orientations! – Simon A. Eugster Apr 17 '17 at 09:27
3

You can change the transform handle space with the marked button: enter image description here Changing it to local will make the transform in the objects local space.

If you change it to normal it will force to Z-axis to be parallel to the face's normal which is useful if the mech is rotated in edit mode.

To access the different spaces using keyboard shortcuts, after selecting one from the drop down menu you might need to double press the constrain axis

Michal
  • 610
  • 5
  • 13