Good evening,
Can someone guide me if there is any way to direct a poly surface, making the ‘NORMAL’ surfaces all facing the outside of the model?
Could this be done with the rhino command or using grasshopper?
Please see the attached image so that you understand my need.
Note: The surfaces cannot be joined, I need them all separated and with the same direction ( Z ), facing
the outside of the model.
It appears that you want to set the normal direction of a number of individual surfaces.
A polysurface is made up of multiple surfaces joined together. The normal direction of each surface in a polysurface will face one side or the other side of the polysurface. The normal direction can be switched using Flip command.
I assume you have multiple surfaces which are not joined together.
One possible method:
Select all the surfaces, then Join command to join the surfaces into a polysurface.
The normal direction of each surface in a polysurface will face one side or the other side of the polysurface.
Use Flip if the normal directions are facing the wrong way.
Explode the polysurface back into the single surfaces.
Since you neglected to post a file of this chaos, I tried to replicate it. Your shape looks roughly convex so what you can try is to take the dot-product of the vectors from the centroid of the shape with the surface normals of each surface. The dot product goes from -1 to 1 so anything less than 0 you can flip.
Good morning,
I tested your code and unfortunately it didn’t work.
You can help me, maybe I did something wrong.
If you can record a video with the example I’m attaching, hey I’ll be grateful.base - modela - one.7z (2.2 MB)
Good afternoon, Thank you so much for taking your time and demonstrating in a great way to understand and also to help. Can you tell me if there is a way to access with command prompt, selection steps, so I can create a button shape shortcut, and speed up access? Thanks for your attention, Leandro
I’m not sure what you’re asking here. I just selected the surfaces that were reversed by using normal selection methods and ran the _Flip command.
If you are using a shaded display mode set up as I’ve shown above while you are creating your model you should be able to keep the directions of your surfaces oriented correctly. Just flip them as soon as they are created if they aren’t facing in desired direction.
As with most things in Rhino, there isn’t really any one “best” way of doing this. You just need to find what works in each situation.
The method suggested by @davidcockey works well in many situations:
Select surfaces with _SelAll command (or another selection method as the situation requires)
Use _Join command
If needed, use the _Flip command to reverse joined surfaces
If you don’t want your surfaces joined together use the _Explode command
Manually select and flip any remaining surfaces that don’t have the desired orientation
As @akilli suggested, scripts can be also be helpful in many situations. The characteristics of your model will determine what script you’ll want to use and how successful it will be.