Solid Difference

Hi, I want to get solid difference between the the rectangle and the other geometries. The solid difference is keep failing. can any one tell me what is the wrong?

ball bit (460.5 KB)

Put a flatten on the B input of the difference.

I was getting an “Invalid Brep” until I added a little room by making the box bigger and moving the ball cylinders slightly. Made a few other changes while I was at it…

ball (461.9 KB)

Adding an extra SUnion reduces the Profiler time. I have no idea why these files are so large!?

ball (461.5 KB)

Notice the increased Profiler time without the two intermediate SUnion components:

The file name is ball bit, hence I guess you want to simulate a toolpath.

That is tricky when you feed the boolean difference with all the objects you want to subtract at once.

My solution is a loop with Anemone. You can tweak the parameters to simulate step over.

ball bit (19.9 KB)

1 Like

OH!!! There is a bunch of extra code off to the right that I didn’t even see! Removed below:

ball (6.6 KB)
ball (14.2 KB)
ball (6.5 KB)

1 Like

I love Anemone and couldn’t resist adding a curved tool path to your model:

ball bit (14.1 KB)

You can change the Pipe radius and Z depth (path height) while the loop is running.


Here’s a bad screenshot from three years ago. Used this technique with Anemone to simulate 3-axis cnc wheel wells on a longboard… I haven’t tried changing the radius while the loop is running but probably will play around with this soon again. Thanks for the tip!

Yeah, the tool path thing is fun but as you know, sometimes using a loop to SDiff (or SUnion) one geometry at a time is the only way they will work, “tool path” or not.

1 Like

Thank you very much. i think Anemone is much better than my previous way.

Thank you. I don’t know why i couldn’t run it, can you please tell me if i should modify something?

On the Loop End component, you need to set the Toggle to False to run the loop, True to end.

Then click on the button connected to the T input on the Loop Start component.

Really thank you, appreciate your help :slight_smile:

I’ve never tried to make a tool path using Grasshopper before. Don’t like Anmeone though (component-to-component iterations quite slow) so I tried using the Slider animation instead, and expanding a horizontal Pipe along the curve (evaluating a new extended sub curve at each anim step), then split off upper part of the pipe, keeping only the lower half, then extruding the edges upwards, and Boolean Difference the full “tool path” at each step. Looks a bit smoother than “dip cutting” at each step, although I don’t know if this approach is useful for anything apart from the groove looking a bit smoother.

Inspiration taken from Josephs definition " ball bit" which I modified (removed Anemone replacing it with a slider animation):

Milling With Ball Point_2

A step-wise prolonged Brep (half-pipe + extrusion) does the milling:

Milling With Ball Point_extrusion

Milling With Ball (21.1 KB)

// Rolf


Hah! Very creative and surprisingly fast and effective. :+1:

1 Like

Simple solution for a simple problem :slight_smile:

Has anyone looked at voxel based tool-path removal?
I am wondering how to speed up such NURBS applications for real case machining.

Is there any available rhino resources for that?