Selecting Multiple Flipped Surfaces (script or shortcut?)

Hello Everyone,

My first time posting here and hoping to get some help from the very talented users here on the forum. I work for a footwear company and we have started to use 3D files of soles/bottoms from an overseas Mold Shop for design purposes at our headquarters. The issue we have though is that the mold shop’s files have a random amount of surfaces normals flipped and we have to manually go in and flip them to the correct direction for rendering purposes in other software.

As of now I just have the flip command hotkeyed and go from one surfaces to another but this is taking too long especially if the bottom is more complex like the attached picture. Has anyone developed a selection script that can just select all the reversed surface normal or has a faster solution than what I currently am using? I also have grasshopper if anyone has a program in there.

Thanks,

Matt

Hi Matthew - setting up a display mode with colored backfaces will help a lot in locating the ones to flip - then at least you can select bunches at once and flip em all in one go.

-Pascal

Is there any reason you can’t join a majority of the sole? SelLayer (or maybe SelColor depending on how the model is organized) and join, that should unify the constituent parts’ surface normals.

Sam

Hey Pascal,

Yes I actually do have that set up at the moment. The pink surfaces are the backfaces.

Hey Sam,

I have tried to join them but the these models have very loose tolerances because their Milling/CNC machines don’t need to read small holes. This means most of the surfaces will not join together :frowning2:

You can try one of the following…

UnifyNormalsZ.py (1.4 KB)
UnifyNormalsView.py (1.3 KB)

Will attempt to make all surface normals point World “upward” (first script) or face towards the camera direction (second script). Only works on unjoined surfaces.

HTH, --Mitch

1 Like

Thanks will give it a try!

@Helvetosaur

Hi, Mitch. How do I automatically find the polysurface, and point the surfaces upwards

Not sure exactly what you want, the script is designed for single, planar surfaces - the only ones that are guaranteed to have a single same normal over the entire object. A curved surface or a polysurface can have a collection of normals pointing in any direction so it’s not really possible to figure out exactly which way should point ‘up’…

@Helvetosaur
I want the script to automatically find and flip polysurface like the image

So you want to simply flip all polysurfaces? You can do that in rhino with the Flip command…

@Helvetosaur
there are many subjects. I cannot select individual subjects. The objects are located in different positions