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.


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.

  • 1
    $\begingroup$ The keyboard shortcuts also carry through to local transforms eg Shift X twice will lock on YZ local axes. $\endgroup$ – sambler Mar 4 '14 at 10:26
  • 2
    $\begingroup$ ...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. $\endgroup$ – Matt Mar 4 '14 at 16:36

Your Answer

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