Selecting Multiple Flipped Surfaces (script or shortcut?)

polysurface
script
rhinoscript
grasshopper
rhino5

#1

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


(Pascal Golay) #2

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


#3

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


#4

Hey Pascal,

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


#5

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:


#6

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


#7

Thanks will give it a try!