Adding aligned tabs for CNC parts with Grasshopper

Maybe someone will find this useful. I have an application where I need to leave my parts connected with tabs on a CNC Router, I have software that adds the tabs, but I need all the tabs to be aligned to each other, as the sticks between the parts are not always strong enough to hold everything. so, I came up with this grasshopper method to solve the problem.

You can move the sliders to position the ramp profiles where you need them then it projects the toolpath onto the ramps. It also generates a cutoff path where I come back with a much smaller tool and cut the tabs off. that leaves part of the tab on the part, but I don’t need to worry about damaging the part with the router bit when it breaks free. I cut off the remainders of the tab with a flush trim router later.

It works pretty well, but I think there is a better way. For the cutoff, I can just combine all the cutoffs together and they are fine, but for the ramps I need to run the output of one into the input of the next otherwise I end up with overlapping toolpaths with one ramp each instead of all the ramps on a single path. I’m cutting the original path and combining it with the ramp, then I take the combined new path with the ramp and send it to the next stage.

I also now need to add a rough pass and finish pass to this and I would like to keep them separate. I can generate the rough pass with another offset and just feed it into the same input and I do get both paths out, but I haven’t been able to figure out how to separate them when they are done so they can be on separate layers and have separate colors. I could start duplicating the part of the script that does the ramp, but it seems like I should be able to just send 2 copies of paths in and get 2 copies of paths out. I thought Entwine might get the two sets in, but then I need the reverse of it to get split the output back into two sets… I’m not exactly sure what that would be.

Tabbed Parts.gh (15.8 KB)

Here’s a sample file, any help is greatly appreciated.

2 Likes

I ended up needing to change my ramps so I decided to make the geometry for the ramps in Grasshopper so I can easily change them as needed. There’s probably a better way to do this but I thought I would share it anyway.

Tabbed Parts With Parametric Ramps.gh (23.6 KB)

1 Like

I fixed it! I figured out how to split the rough and finish toolpaths back out so I can get them on their own layers. It turns out my original version was making a huge tree structure; I added some simplify options as well as some trim tree components to keep the tree tidy and now I can just use tree branch to separate out the 2 tool paths.

I also noticed it getting quite slow if I had horizontal and vertical ramps… but I figured out that I only need to do the bounding box once on the original ramp version and then just move it the same way I move the ramps, moves are a lot faster than making new bouding boxes, so it performs a LOT better now.

Here is the updated version. I hope someone finds it useful.
Tabbed Parts With Parametric Ramps.gh (24.5 KB)

1 Like

@Joseph_Oster I figured there was a better way, that’s why I said, “There’s probably a better way to do this…”

My idea was to draw a profile with lines and then project them. but I don’t know how to do something like trim in grasshopper. So, I found the intersection and drew new lines.

I would be happy to re-do it, would you have a suggestion on a better approach I could take to get me started in the right direction?

1 Like