How to flatten quad faces?

Hi, is there any function or script to flatten all faces of non-planar quads.
I modeled some “simple” mesh that I wanted unfold it for paper model.
Like this it’s a bit problematic.

Any Tips?
(I don’t want to triangulate it.)
(Scale via Z Normal to 0 works only for one face)

Thanks for help.

You mean that you wanna unwrap it?

ArMan: no, it’s not the same thing
ajm: I came from your link, but if I didn’t miss something - emu recommend only triangulate (that I don’t need) or Scale to Zero that can works only for one face, for all connected faces it change planar faces to non-planar (so it’s more messy)

hmm . . .

Try scaling the vertices rather than the faces. If you scale them on one axis they should line up and therefore flatten the faces. It works best if the faces are facing x, y, or z, of course…otherwise you may need to do some rotation as well.

. . . to prevent similar helps, see attachment - it’s not about global or local orienation. My question is about algorythm (script) that set Z axis to zero in NORMAL orientation for each face - get all faces planar (flaten?) in their normal direction. Thank you


if you want a script then go to the python forum and ask there

but don’t remember if there is one yet!

there was a script in 2.49 to check if faces were co planar
but not certain if you can make it planar!

but can be done with mathutil functions i guess!

tri are always co planar = minimum face in 3D
but quad are not = co planar in any 3D soft

only way i know is to add quad in one of the std views like ZY or ZX or XY viewport
then you can rotate as you want and be in Ortho mode not perspective mode !

I believe the ‘flatten’ tool in Crouch’s Loop Tools will do what you need:

@RickyBlender: first I wanted to ask for function that already exist in blender that I didn’t notice.
Thanks for your answers.

@MikeJ: sorry, It doesn’t look like right one, from video it looks like one axis flattening, but thanks I will try to ask author

Edit: OK with RC2 I was able to run this AddOn.
You are right, it works :slight_smile:
But only with one face selected, that’s shame.
But it’s steel usefull, flattening one face doesn’t change flattenes other faces (like classic Scale Z Normal to zero deos).
Thanks for Tip :slight_smile:

It is not an easy thing to do actually and Blender can´t do it out of the box.
If you got a quad which triangles do not share the same surface normal, you got one problem.
You can calculate the average normal out of those two triangles, but what then?
you can either move one of the vertices that is off, or two, you can move all 4 to flatten it, but do you move all in the same direction, or do you average over their position.
Also changing the vertices of one quad, means you create a triangular fold in the adjecant quad, then you got to flatten this one.

In the end you´ll have a recursive algorithm, rushing over the whole mesh, flattening one quad, and then flattening the 8 quads next to it, which got wonky for flattening one, those 8 again, effect 8 each, also the one you initially flattened.
In the end you got an exponentional algorithm, running recursive towards a termination condition like, stop if all the quads are “almost” flat.
And on top of that you´ll have a completely changed geometry and your mesh will look nothing like what it did.

thanks, I understood the problem of calculation in general. Flatten feature of LoopTool script (that is pack as AddOn in RC2) works like you said.
Script calculates average normal of these two triangles and if I repeatlly continue in flattening it comes “almost” flat. Also you are right it change geometry, but no so much in my case.

So what can be your recommendation to create a paper model with flat faces?
Most of a classic paper models use four and more vertecies for face.
How can be done this job?

Thank you.

I have used Pepakura Designer, it´s a great software (not free but cheap, 38 USD). It handles triangles, but you can hide edges under a user defined angle.

Have fun!

thanks but for now there is only PC version (a bit problem for Mac user)

I was looking for a way in blender. But if there is not chance, who knows :slight_smile:
Thanks Anyway

Select 4 “twisted” vertices then:

Mesh (tab top left)> clean up > make planar faces

This will twist the faces adjacent unless they are selected also

If quadrants are actually triangulated dissolve rather than delete the central edge so as to retain the convex/concave face beforehand, doesn’t seem to work without a face.

I have transformation orientation set to local, dunno whether this affects this technique…

Blender 2.83.1 btw