Extrude a solid along a path to make a new solid?

I’m trying to create a model of what the result would be if I did a ramp cut down into a part with an endmill. When you do this, you end up with an odd shape that is not what you might expect, it has kind of a curve on the bottom but it’s not the radius of the endmill, it’s not even round, it’s some kind of ellipse shape that is different depending on the ramp angle.

Here is a screenshot that shows what I am trying to do.

I drew the red cylinder at the start point, and I want to drag it along the path I have drawn so that the end position of the cylinder is where the purple cylinder is, creating a solid that represents the area between the start and end positions. Then I could use a Boolean Subtract operation to remove the resulting solid from the blue block. But I haven’t been able to figure out how to do the “extrusion” on a solid like that exactly.

I’m not sure ‘Extrude’ is the correct term for what I am trying to achieve here. I have come up with some convoluted ways of kind of getting something to work, like extruding the top circle and the bottom circle and trying to piece it all together, but it’s just making a complicated mess, and nothing is joining to make a solid that I can use for the boolean operation.

I have often wanted to model what happens by doing a 3D cut into some material with various shaped bits, and it seems like this should be possible, but the method of how to accomplish this kind of thing eludes me.

Any suggestions?

Here is my sample file:
remove toolpath.3dm (200.4 KB)

Hi James - is this the thing you are after?

image

remove toolpath_Maybe.3dm (165.2 KB)

-Pascal

2 Likes

Yes, exactly. How did you do that?

Hi James, I’ll make a file with some steps… - it is fairly/somewhat/kinda straightforward with a linear path.
@James_Richters see if the attached makes any sense.
remove toolpath_Solid.3dm (372.1 KB)

-Pascal

1 Like

There are quite a few topics about cnc simulation.

Here’s how I would do it with an Anemone loop in Grasshopper:

1 Like

@pascal Thank you! I appreciate the help. That does work very well and was a lot easier to get the shape I wanted to be a closed polysurface than anything I was trying to do.

@martinsiegrist Wow! That is quite a bit more than I was wanting to do with this pocket screw hole… but this is quite fascinating to me. My CAM program does have toolpath simulation, and it does a decent job of showing what the result of the machining will be, and it can even output a file… but it has one problem: the only kind of file it can output is a .STL mesh file, and those are impossible to work with as they are just a whole lot of tiny triangles.

It looks to me like your Grasshopper simulator would leave me with a solid that would still be editable which is what I was trying to do here and why I was trying to do this. My plan is to take this pocket geometry, with the screw and merge it into a lot of different parts.

I am going to have to investigate doing full toolpath simulations in Rhino as it would produce much more accurate models, because you just can’t get round bits into square corners, and when you start moving in 3D, the resulting shape is difficult to predict.

Thank you for the suggestion!

Thanks for your reply. I don’t have access to a CAM program and needed to evaluate router bits and toolpath strategies for various applications.

The result of my approach is a solid where the tool is subtracted repetively. It isn’t a clean sweep. There are discussions about sweeping tools in this forum somewhere…

I am trying to use Grasshopper to automate this task. I have mostly duplicated the geometry needed with Grasshopper but I don’t know how to combine all the elements into a solid for the final Boolean Subtract.

I am hoping to get this Grasshopper method to be able to work with more complex tool paths, like zig-zags or arc shaped tool paths.

I have 2 Cylinders, those do work with the subtraction, but they are connected by 2 extrusions and 2 surfaces. Grasshopper doesn’t seem to have something like the Rhino _OffsetSrf with an option to output a solid. I thought if I could do something like that, maybe I could do a Boolean union of all the separate solids and use the result of that for the subtraction.

Any ideas on how to make this work?

ToolPath Removal.gh (18.0 KB)