How to make all quads or ngons on your mesh planar (2d)?
First thing first: How to check for non planar faces and amount of their distortion:



Second thing: How to make them planar?

There is no way to make them all planar without changing overall shape of the mesh a lot or the topology. Here is why:

To make faces planar, we need to move the vertices. So for each vertex we will see all the faces around it, get their normals, from each of these normals construct a plane and where those planes intersect store a new vertex. From all these new vertices then make a new mesh with the same topology and switch it for the old one. Very simple, but it has one catch: when a vertex has more than 3 surrounding faces, their planar intersection does not necessarily exist - it would be actually very rate if it did:



To meet them at single point, some plane translation is inevitable and depending on the angles this translation can be huge and ruin the shape of object.

So to create mesh from these intersecting planes (made from normals of faces) one would have to create a different mesh with a totally new topology, different vertex count (depending on the mesh shape) by basically chiseling a solid with these planes (would you accept this solution?).

The other solution is not exact and is an iterative approach to a solution. This solution Blender offers under Mesh > Cleanup > Make Planar Faces. We call these iterative methods to a solution Numerical methods. Each numeric method (which is an algorithm) has it's stability. Making faces planar is in general a very unstable algorithm. You may find your mesh oscillating between different shapes never closing on a solution or vertices getting very far from their original location sliding away to infinity - also never closing on a solution. What will happen depends on the mesh shape and you may actually find meshes that this approach solves and converges to a single solution.

But usually it's best to apply this operator not on the entire mesh, but only to selected parts that you know will solve. That's also why the operator has limited iterations to 200 - if it does not converge in that many steps it's very unlikely it will converge in more.

So to make a mesh from planar faces one must start from the beginning:


Use the Bisect tool to make planar cuts.
Use the F2 Addon to make planar faces:


Rotate faces around edges to keep them planar: What&#39;s the easiest way to rotate around an edge that is not parallel to a primary axis? 
Slide vertices on edges Shift V to maintain planar face (C to extend outside face)