Extracting only the outer & visible surfaces of a complex model

Hello everyone,

My basic point is to reduce the file size of some complex 3d models. Sometimes i just need to show these models inside an arrangement, or i just need a render but considering a full-detailed machine, motor, or anything that is modelled for production has many unnecessary surfaces and block instances inside them.

So when i do not change anything and need to use many of these complex models together, naturally fluency of rhinoceros is decreasing dramatically.

Also i am facing this issue mostly when i need to import these models to rhinoceros (e.g. as a step file). After importing mostly i find all surface components defined inside a single “default” layer, which doesn’t allow me to just close unnecessary layers, do my job and live a happy life.

Doing this “clean inside” thing manually consumes a lot of time and requires carefulness, so i am looking for a fast way to simply extract only the outer shell of a complex and full-detailed model.

  • I have tried using drape command, which resulted in funny scenarios.
  • I have tried to use _SelVisible from all 6 angles and again ended up with a result which requires manual deleting/selecting/hiding process. Also there were many small missing surfaces compared to original model.

So i would appreciate any advice/solutions. Also if there is a way that Grasshopper might be useful, im excited to hear about it.

(I am using Rhinoceros 6)

Hello - are the surfaces to extract typically tangent to one another?


I was in a similar situation many times, and the main problem was usually an architect or draftsman who simply didn’t exactly understand how to export geometry.

Hello Pascal. Actually i didn’t get what you mean by “tangent to one another”. Do you mean that they are touching each other by edge? Also i am adding a sample picture about one of the models.

1 Like

And that yellow thing is one object?

Created in which software?

Solidworks has some sort of a simplify command.

Most probably they have been created in solidworks, but there is no way to explain it to the person who models and sends that to me sometimes.

I just don’t want to have a 20TB hard disk and the knowledge of all 3d modeling software to solve all problems by myself :slight_smile:

Hello - I may be able to help in the case of a shell where all the faces are tangent or nearly tangent - ExtractTangentFaces.rhp (40.5 KB)
This plugin will find all tangent faces (with angle tolerance set at the command line) in a single polysurface - it will stop when it hits an edge that is not tangent - as with one side of a thin sheetimetal solid (which is what it was designed for). It may help grab the outer surfaces of the castings in your image - worth a try.
You’ll need to unblock the plug-in (in Windows) then drag and drop it onto Rhino. The command is ExtractTangentFaces.


Thinking out loud here - if one were to use a Drape surface over the assembly, would it be possible to intersect that surface with the assembly and then script a command to extract all of the surfaces that are touched? Perhaps repeating the routine a few times using Drape from different directions?

Why don’t you post a file?