ExtrudeSrf Direction


I start with a solid object, when I use the Dir command all normals are pointing outwards. I then explode the object and get a collection of surfaces. For some surfaces the normals are pointing outwards and for other surfaces the normals are pointing inwards. I tired using the Flip commands to flip the inwards normals so they are pointing outwards. I double check that they normals on a surface are pointing outwards with the Dir command. However when I extrude the surface along the normal the direction Rhino Extruders the surface inwards. This is very confusing?

I can manually change the direction but I want to have a script extrude all surfaces automatically along the outwards normal. Is there any way for fix the normal direction for the Extrude command?



please post some example code and geometry to show how you obtain the normal direction of your extrusion.




Here is an example where this happens. I attach the Rhino 3dm file. These are some sceenshots illustrating the problem. When the sphere is a solid object all the normals are pointing outwards. When I explode it the normals are still pointing outwards but when I extrude the surfaces some surfaces are extruded outwards while other are extruded inwards. For those that are extruded inwards the normals are pointing outwards.


Nikosgeodesic sphere.3dm (2.5 MB)



without seeing how you obtain the normals it is hard to imagine where the error is in your script. I would suggest to ShrinkTrimmedSrf your geodesic sphere first, then run this script on the polysurface without exploding:

BrepFaceNormals.py (1.6 KB)

It creates some lines with arrowheads pointing in the normal direction of every face in the polysurface (brep). I’ve also commented out some code to show how to create the extrusions using these lines.

To see where a potential error is with obtaining the normal of every surface in the brep, run the above script on your geodesic sphere without using ShrinkTrimmedSurface before. It should mess things up.


ExtractSrf into different name surfaces

How do I execute the python script? I am running Rhino 5.1 on Mac OS.


Hi @Nikolaos_Beratlis, i guess you use drag & drop or _RunPythonScript command.
Have you written some own scripts yet ?