Mirroring Meshes in GH or via Rhinocommon always results in flipped normals

Dunno if intentional for some reason or not, but mirroring meshes causes flipped normals. Makes sense theoretically, however model wise I don’t think it does. For instance, mirroring directly in Rhino does not flip the normals.

1 Like

Any way to check the normals direction, compare them to the original and flip them if there is difference?

Yeah, the Mirror command must do some additional logic. Logged under RH-45369.

Also, Mirror transform in Rhinocommon flips open brep normals as well. The gh mirror component however does not.

rcMirror.gh (2.9 KB)

No I flip brep normals in GH, the problem was not the normals, it was mesh face orientation for meshes. Vertex and face normals were flipped already, but face orientation wasn’t.

So the winding direction?, which of course makes sense in a “mirror”. I see in the tracking it is being fixed in gh. Might I ask what the fix is if wanting to use mirror in a script with meshes. If there some method or common procedure for that? I was fixing it by recomputing the normals which is why I thought it was normals initially. Is that the way to go?

I used Mesh.Flip(true, true, false) after a mirror transform, should have been Mesh.Flip(true, true, true).