HELP-How can I solve this problem when I get this message 'where the face normal differs substantially from the vertex normals"?


I am new in Rhino and I try to use Rhino as a input for other software and I need to be familiar with meshing and try to have good mesh. I noticed this message :smile:

" Mesh has 2 faces where the face normal differs substantially from the vertex normals.
Although this does not necessarily mean that the mesh is bad,
these normals can cause problems if the ultimate goal is for rendering or boolean purposes.
Mesh has 2 pairs of faces that intersect each other. Although this does not
necessarily mean that the mesh is bad, it can cause problems if you’re doing mesh boolean operations with it. "

However, I have no idea how to deal with it in order to fix this problem and make it clean. I would appreciate if anyone can help me out.

Many Thanks,


Hi Hossein- chances are there are no serious problems with the mesh - you can try UnifyMeshNormals and RebuildMesh and see how that works.


Thanks Pascal,

I used them already but problem is still there (In fact All face normals are already oriented in the same direction). I would appreciate if you have more ideas to help me out.


Hi Hossein- is there a problem other than the report itself? Is the error causing a problem?


Thank Pascal, I just shared the file. could you be so kind and have look at it.

Thanks, Hossein

Hi Hossein,

in this thread, see the post of @gianpaolo_savio and download his script named, which he posted on 23.April. If you run this script on your mesh it will find a line where the selfintersection occurs. (Use Zoom Selected after the script completed). The selfintersection is caused by 3 faces, closely inspect them and remove the faces using the _DeleteMeshFaces command. Then close the remaining hole in the mesh using _FillMeshHoles command. The errors will then be gone if you run _Check. Below is the fixed mesh.

Tutorial4-1.3dm (101.5 KB)


GREAT, that works very well and I appreciate both you and @gianpaolo_savio for sharing the script.


Hi guys,

Since this thread, is there now a way in Rhino to locate face normals that differ from the vertex normals. I can usually see them from their abnormal shading but with complex meshes, it can be tedious and sometimes impossible to find. In this example, I’ve been able to find 8 except for one. UnifyMesh Normals sometimes makes things.


Hello - testMeshDir will show both face and vertex normals - it might be a bit of a jumble to find what you are looking for- perhaps the shaded view anomalies will narrow the scope of the search.

Hi Pascal, too many arrows. I can’t see the wood for the trees. Thanks for your quick reply though (as always).

Hi @hayden and @pascal,

i have a very old script which might be handy to visually show the deviation as mesh vertex colors. It is not the fastest but helped me during the last years to inspect problematic areas in 3D scanned meshes:

MeshColorNormalDeviation.rvb (8.3 KB)

There is some code commeted out in line 165 to mark angles > 90 degree with a point in case the vertex colors are not enough.