Blender Stack Exchange is a question and answer site for people who use Blender to create 3D graphics, animations, or games. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question

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.

share|improve this answer
The keyboard shortcuts also carry through to local transforms eg Shift X twice will lock on YZ local axes. – sambler Mar 4 '14 at 10:26
...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 4 '14 at 16:36

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.