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,


(Pascal Golay) #2

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.


(Pascal Golay) #4

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.