2
$\begingroup$

Plane

Extruded

Scaled

I am extruding plane surfaces along surface normals by selecting the plane, then hitting Option-E (Alt-E), then selecting Extrude Faces Along Normals.

That is all fine, but I also want to shrink the object along the two local axes that are perpendicular to the Normal. So, as the plane gets thicker in one direction, it gets smaller in the other two directions.

I would be grateful for any pointers.

$\endgroup$
7
  • $\begingroup$ Akin to inset then translate inset face along normal? $\endgroup$ – batFINGER Apr 27 at 7:58
  • $\begingroup$ Truth be told, I do not know. If we call the Normal, the local Z, then I want to shrink in X and Y. The angles should remain right angles. This works with Scale, I can edit in X,Y, and Z. But the Z does not exist until I have extruded the plane along its normal. As I do that, I want to also scale the two dimensions of the plane. $\endgroup$ – Paul St George Apr 27 at 9:38
  • $\begingroup$ is this what you wanna do? youtu.be/UViI4VKy-Ww $\endgroup$ – Chris Apr 27 at 9:54
  • $\begingroup$ @Chris Not quite. I want the sides to go in without the angles changing. So not a cuboid becoming a truncated pyramid, but a plane extruding into a cuboid and then scaling down in the two directions that are perpendicular to the normals. $\endgroup$ – Paul St George Apr 27 at 10:13
  • $\begingroup$ can you show with two pictures what you want? $\endgroup$ – Chris Apr 27 at 10:15
2
$\begingroup$

Uniform scale around individual origins then extrude along normals.

Imagine the simple case: six square faces arranged as if they were the six faces of a cube. I would want to scale the 'top' surface in X and Y and not Z. I would want to scale the 'front' surface in X and Z but not Y. I would want to scale the sides in Y and Z and not X. And so on.

Here is the default cube, rotated arbitrarily in edit mode, and after applying edge split modifier to make each face a plane as described.

enter image description here

Uniform scale each by half S 0.5

Extrude along normal by 1 AltE 1

Notice the zero dimension along normal of each plane remains unaffected by scaling.

$\endgroup$
1
  • $\begingroup$ -To sum up for those who want to do this: -Starting from the planes. Select all in Object Mode. -Go to Edit Mode. -Choose Face Selection method, Select All. -Transform Pivot Point, Individual Origins. -Then Scale (S) and after, Extrude Faces along Normals (Option-E). -Thanks batFINGER and @Robin Betts Please edit my summary if needs be. Now to do it in Python! $\endgroup$ – Paul St George Apr 27 at 19:16
3
$\begingroup$

If you think about this one the other way round..

enter image description here

The I Inset operator has a 'Depth' setting, which you can adjust in its F9 panel.

If you need further adjustments, perpendicular to normals, for unconnected faces, you could set Pivot to 'Individual Origins', Transform Orientation to 'Normal', and scale in the per-face XY... SShiftZ.

$\endgroup$
2
  • $\begingroup$ Oops, just read the commentary, but the second half might still apply. $\endgroup$ – Robin Betts Apr 27 at 11:12
  • 1
    $\begingroup$ Lol, thought exactly the same thing. Was also thinking solidify modifier thickness driving scale. $\endgroup$ – batFINGER Apr 27 at 11:35
2
$\begingroup$

in edit mode:

  1. extrude with E and move the mouse up (so you got 4 vertices) - you know this

  2. Tap A to select all vertices

  3. Tap S to scale

  4. Tap Shift Z to scale only on x and y axis - > move your move to your desired scale

$\endgroup$
5
  • $\begingroup$ An issue will be in scaling step if the face normal is not axis aligned.., which kinda warrants going in other order, uniform scale then extrude. $\endgroup$ – batFINGER Apr 27 at 10:44
  • $\begingroup$ @batFINGER You correctly anticipate what I am trying to avoid, but I have problems with the uniform scale. I have a large number of these planes, all at different orientations. I can select them all and extrude along their normals. Easy. $\endgroup$ – Paul St George Apr 27 at 11:54
  • $\begingroup$ If I try to do uniform scale on all the planes, I have a problem even if I pivot around individual origins. Imagine the simple case: six square faces arranged as if they were the six faces of a cube. I would want to scale the 'top' surface in X and Y and not Z. I would want to scale the 'front' surface in X and Z but not Y. I would want to scale the sides in Y and Z and not X. And so on. $\endgroup$ – Paul St George Apr 27 at 11:54
  • $\begingroup$ If it helps, I will be doing this in Python so perhaps I can scale only along axes that are not zero? $\endgroup$ – Paul St George Apr 27 at 11:55
  • $\begingroup$ @Chris Thanks! That is working nicely for one object. I need to spend some time to see if I can do this on many objects at the same time. $\endgroup$ – Paul St George Apr 27 at 12:03

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.