I want to scale outwards, which scale does not do... it is biased with the faces on the left/right sides the mesh is wide / not perfectly square. This is my mesh before doing anything.

enter image description here

This is after scaling with S. It is not 100% uniform, but the corner edges are perfect.enter image description here

Now after that didn't do what I wanted, I found out about Alt+S, which almost did what I want, it made scaling 100% uniform for all the faces:

enter image description here

But on closer inspection, you can see the edges are completely messed up! as seen in this picture:

enter image description here

How do I get the uniform scaling of Alt+S Shrink/Fatten but the correct edges of S Scale?

  • $\begingroup$ Did you try "Even thickness" in the Alt+S operation? (Toggled with (S)) $\endgroup$ – Leander May 8 '17 at 18:42
  • $\begingroup$ Yes, that only effects how much it goes, not the corners. $\endgroup$ – Accumulator May 8 '17 at 18:54
  • $\begingroup$ In this case you can stick with simple scale operation, press Shift+Z aster activating scale tool and scale. As to scaling along normals try applying transforms with Ctrl+A. $\endgroup$ – Mr Zak May 8 '17 at 18:55
  • $\begingroup$ @MrZak I'm in edit mode, there is no Ctrl+A. But I already tried Ctrl+A outside of edit mode. And shift Z shows me rendered viewport. $\endgroup$ – Accumulator May 8 '17 at 18:58
  • $\begingroup$ As above, press Shift+Z after activating scale tool, so press S, then Shift, then Z (or any axis you want to block). Ctrl+A was meant to be used as applying transforms which is in Object mode (it could be that it's not the reason, but scaling along normals should work normal in this simple case). $\endgroup$ – Mr Zak May 8 '17 at 19:06

After extruding the face loop, with the loop selected.

Short answer:

Select the edge loops and scale them with their individual origins.

  1. Hide all other faces. ⇧ ShiftH
  2. Switch to edge mode. ⎈ Ctrl↹ Tab > Edge E
  3. Deselect all. A
  4. Select the two edge loops. ⎇ AltRMB RMB, ⇧ Shift⎇ AltRMB RMB
  5. Set the Pivot center for rotating/scaling to Individual Origins. ⎈ Ctrl.
  6. Scale with S.

enter image description here

Outset Even

You can't outset in Blender without geometry outside. This means we'll have to add some geometry.

  1. Make a face for both edge loops.
  2. Duplicate the faces and hide everything else.
  3. Extrude the edge only and scale them with individual centers.
  4. Select the faces we want to outset.
  5. Inset I, with outsetO.

enter image description here

  1. Delete the helper edge loops.
  2. Delete the extra faces.
  3. Bridge the unconnected edge loops.
  4. Remove doubles.

enter image description here

  • $\begingroup$ I followed your instructions exactly. It results in this, you can see or measure that the scaled faces on the left/right are still thicker than on the top and bottom. imgur.com/a/A2Mct I wanted to make it like this, stretched image but you get the idea: imgur.com/a/qJg7c $\endgroup$ – Accumulator May 8 '17 at 19:50

When I want to achieve what you seem to want, that is to scale (or extrude or grab) by a fixed distance, I do not use the scale tool, but rather, I make use of the values in the transform panel in the tool shelf (the N key) in the 3D viewport in edit mode, and plan to do a little math. In the case you present, what I do is to set the pivot point to the median value of the part I want to scale, and make note of the co-ordinates (x, y, and z, as needed) of the median point, with all of the vertices selected that I want to have moved. Then I move the vertices making up the edge or face on one side of the object to where I want them, and note the difference in the value along the axis. So, suppose I start by moving one side along the y axis. Having made note of the median value, I determine the difference between the y value in the new location, and the y value of the median point. Then I select the vertices on the opposite side of the first. In the box for the value for the y co-ordinate for the selected vertices, I subtract the calculated difference between the old and new locations. So, if the difference between the locations on the y axis was 2.5 in one direction, I select all of the vertices on the opposite side that I want to move, and subtract the 2.5 from the y co-ordinate of those vertices. Then to do the vertices in the perpendicular direction to the first, I select all of the vertices on the x axis (in this case) and add 2.5 to the value in one direction, and when I have selected the vertices for the opposite direction, I subtract 2.5 from their median value.

This is the most effective way to achieve what I understand you are wanting to achieve.


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.