Remove bottom holes and grooves from solids?

I do need to cull the hole faces that are conected to the bottom face of the geometries and retain only the ones that are connected to the top face and the ones which are passing through. Also, if possible I do need to highlight in red the geometries that have holes connected to the bottom face because that means that I need to flip that piece upside-down and make mechanisations also in that face.

6f87d56695862e0107bac131a96066543dbd3930_2_690x391

Holes_Connected_to_top_surface.3dm (1.6 MB)

Is there a reason you’re not just doing this in Rhino or some other CAD? Why grasshopper?

Extract all edges, join and get their centroid. Evaluate the z-coordinate of the centroids and use this to filter your holes.

I am nesting this 3D parts into sheets using OpenNest, and from there I do need to extract the contours and put them in different layers for CNC mechanization. I already created a quite complex definition, the only issue it is that I can’t find a way to sort the bottom mechanizations so I end-up with all the holes and grooves on the top face which it is not what I need. If I can filter-out the holes and grooves that are connected to the bottom face, then I can easily generate my layers with the contours I do need.

And how I can filter the ones connected only to the bottom face? I do made something similar and I ended up with all the holes and grooves into mechanization.

Check the file attached. It uses the breps from your file above.

holes.gh (22.3 KB)

1 Like

It is good, but unfortunately it is not detecting all the holes. Also this approach it is not detecting the grooves which also I do need to filter.

It finds all the holes now.

holes.gh (22.0 KB)

1 Like

Wonderful. It is possible to do the same thing for the grooves?

I will attach just a little modified file. I do need to sort-out also the grooves for mechanisation.

Holes_Connected_to_top_surface2.3dm (1.4 MB)

don’t know if this might help, it relies on the the assumption that your breps are always perfectly oriented along XY-plane (flat)

it will find any surface that is not on top-level or bottom-level, and will show you what is “pointing up” (red) and what is “pointing down” (blue)

it won’t recognize pass-through holes tho, but only blind ones

filter_middle_features.gh (23.0 KB)
[the GH file should work on your last Rhino file, I believe I didn’t use any external plugin for this]
[edit: it works on multiple Breps, if you are to analyze a single brep just bypass the TrimTree]

3 Likes

Yes, they are. Are pieces that I do need to cut from the same thickness material. In this case I am using 18mm MDF.

Yes, works wonderful, for now. I will test-it with more pieces when I will have a few minutes os spare time.

an important note I forgot to mention: because of this TrimTree it only works on multiple Breps

if you want to use it on single breps, just bypass it

1 Like

Yes, I realized on your previous definition when I got an error from “Trim Tree”, that needs at least two pieces to make-it work properly.

A huge thank you for all the support, because now I can ditch AlphaCAM! Basically this definitions are doing what AlphaCAM it does with their SolidExtraction module:

P.S. I don’t need to search my network and locate the AC license anymore!

1 Like