I'm trying to put together a simple program that will let me visualize a series of consecutive cuts on a wood panel using a router with a particular cutting head.  I'm trying to find a geometry library that is capable of subtractively modifying 3D shapes or solids by sweeping other 3D solids through them.
Specifically, I'd like to be able to define a rectangular solid (the wood panel) and then define a bit profile shape, and take cuts through the rectangular solid (sometimes on a straight line, sometimes on a circular arc).  Does anyone know of anything that will do this?
While not exactly a library, one way of doing this might be to build on top of the 2D-to-3D extrusion ability that most of these libraries do support.   A tentative algorithm for doing this might be:

Get bit profile as a 2D shape (you're likely to have this already).
Extrude that profile along the line or arc that is the toolpath, creating a 3D solid that is the shape of the cut.
At each vertex (say, where a straight path joins a curved one), do a "rotate extrude" or "revolve extrude" of the bit profile to generate the corner radius -- most libraries should support this operation as well.
Repeat from 2 until done with all toolpaths.
Do a CSG boolean subtraction of (workpiece - set_of_toolpaths).

That algorithm seems like it might be fraught with edge cases, but I haven't been able to think of any so far.   I'm wondering why, if it's this simple, there aren't more packages already doing it.
Subtractively sweep a solid through another in python (or C++)