23

I want to be able to lock my translation/scale operations to two axes at a time, say xy, xz or yz. It currently takes two operations (one for each axis).

Example, say for a cylinder, I would like to reduce the radius. I currently have to scale on the x axis first, then on the y axis, or I have to manually input the scale values in the object properties panel.

This option is easily accessible in 3dsmax via the axis constraints command bar. Or I can click the intersecting area between the 3d manipulator of the axes in question and move in that plane.

iKlsR
  • 43,379
  • 12
  • 156
  • 189

1 Answers1

39

While Blender doesn't have widgets to do this, its fairly straightforward.

  • Using the Manipulator: Hold Shift and click on the Grab/Scale handles,
    X locks YZ,
    Y locks XZ,
    Z locks XY
  • Using Transform keys: Grab with G or Scale with S,
    ShiftX locks YZ,
    ShiftY locks XZ,
    ShiftZ locks XY

As @sambler notes, you can do G Shift X,X move along the objects Local YX axis, works for any axis of course.

ideasman42
  • 47,387
  • 10
  • 141
  • 223
  • 1
    The keyboard shortcuts also carry through to local transforms eg Shift X twice will lock on YZ local axes. – sambler Mar 04 '14 at 10:26
  • 2
    ...and three times will lock to the view's x axis ;-) Essentially, typing an axis after starting a transform cycles through the Global, Local, and View coordinate systems in that order. So if you press g xxxx it will constrain to the global x-axis. – Matt Mar 04 '14 at 16:36