Capping a mesh?

Hello again, I downloaded a few stl files they are all flat emblem type models but there is no back which = open mesh …any way they can be ‘capped’ to close the mesh …rhino 6


As a test I made a cylinder, deleted the bottom surface . meshed, then tried fillmeshhole …didn’t work…

Adding a few screenshots could help discern where the problem is.

mesh with no bottom (it’s planer) …open mesh…basically what I get on some of the stl’s I’ve downloaded no bottom surface even though it’s planer

“The FillMeshHole command fills a selected hole in a mesh.”
It appears the boundary of the hole must be selected in order to fill it.

Hi @pschmidt
Post the file - makes it so much easier to troubleshoot :slight_smile:

1 Like

Can’t seem to be able to add stl file (too big?) anyway the files basically look like cookie cutters no bottoms if it was just a openpoly srf I would cap it …looking to do the same thing only on a mesh…I made a base underneath the model could not be booleoned because open mesh and printed one but not what I really want to do …or if I could dup edge but the dup mesh edge doesn’t work in this case …

Here’s a simple mesh like to know how to ‘cap’ mesh tube mesh.stl (15.7 MB)

…dup border seams to work

FillMeshHole (singular) asks for a selection of an edge on the hole - this is hard with a very dense mesh - the selection does not filter for open edges, perhaps it can, I’ll check. But FillMeshHoles (plural) asks for an object selection and fills all the holes it can find - try that one.


When I have a complex mesh hole to fill, I often try to subdivide the hole into smaller pieces using PatchSingleFace before I use FillMeshHole. This could also help discern where Rhino is failing to find a closed edge loop to fill.

Hi @pschmidt an @ryan.odom, the commands _FillMeshHole and FillMeshHoles will both fail with the geometry shown in your last picture as they are designed to fill a single planar area only.

To create a fill mesh similar to the cap command, i would suggest to first to make sure your mesh is fully welded using _Weld 180 degrees, then duplicate the 2 naked edge border curves which are polylines:

Next run the command _PlanarMesh to create a mesh cap:

Next, select the cap mesh (red in above image) and make sure it’s normals are pointing in the desired direction, you can do this using the _Flip option of the _Dir command . Once done, join and export as STL for 3d printing.

Note: if _PlanarMesh does not give you the desired result, it is either that the 2 input polylines are not closed or not in the same plane.


1 Like

@clement While I agree with your method, I think it assumes that the user has a continuous loop of naked edges to start with. In this case, the user has a found STL file which could be riddled with gaps and other issues.

FillMeshHole works just fine on non-planar holes and I suspect is not the problem here.

@pschmidt Could you run the “ShowEdges” command on your complex mesh, set it to “Naked Edges” and screenshot us the result in shaded view?

Of course.