Changing the mesh by normals to a certain side in geometry nodes

Hi. I can’t figure out how to do a seemingly simple manipulation. Basically it’s a single mesh and it only needs to be resized along one of its own axes. That is, when you change a parameter and these 3 planes shrink equally.

A bit more information is needed of what determines your side?

Is it just the “Z-lowest” edge like in you sketch? Then you may can determine them to be used as an axis in scale elements.

Or maybe calculating the face tangent will be sufficent, depends on your usecase.

Here i use a groupnode from higgsas to determine the facetangent:
But it can vary dependend on the winding order of your faces:

2 Likes

I’m doing in Blender 3.6.4 how to replace face tangent?

This is an alternative to @moshus’ method without node-groups:

Basically by weighting the face-corner by -Z you are ordering the face-corners by Z-coord… so the lowest corners will be picked. Then just extracting the edge and using that as scale axis like in moshus’ example. Same thing though in that the winding order may change things so keep your normals consistent for this to work.

Good luck.

3 Likes

Getting non determistic results with that method, probably because the sort does not always give the first facecorner of the lowest edge:

When calculating the lowest edge from the two lowest face corners it seems fine:

3 Likes