I have wanted this quite a number of times over the years, but not least because even with the laborious creation of geometry, there are still serious problems with some of the toolpaths that I have been able to make in mastercam and also Fusion. But most of all, it is an enormous amount of boring, unredeeming work.

But now I'm making molds that often have 10 layers or more, stacked up. I have to CAM each of these layers, many surfaces per layer, and we only make a few parts per mold. The labor input for the cam process is massive, and very rote.

I've encountered the desire many times, especially in 4 axis milling. The 3 problems that I dub rollover (tool going over and around the surface top) rollaround (tool going around almost behind a vertical wall), and stabbing (tool going way down to the machining bottom past the edge of a surface) are especially a problem with 4 axis. I want the tool to go only where needed and nowhere else, ever, basically. Fundamental stuff. I don't know why it's not like that already. Every time I slave away making geometry, it's only in aid of this one thing. Pretty much. Well mostly. I know they can be partly prevented by various means involving tool boundary etc. but they are all far from ideal.

There are quite a few documents on google scholar that discuss the automatic generation of CAM toolpaths, but not usually with rest milling.

People tell me "oh, that's advanced stuff, maybe other software has it". I've never seen it though.

I'm thinking I might be able to collaborate with a software developer to make a plugin for fusion 360... Ideally something that you give a set of tools, each with an associated rpm, feed, and max total tool engagement, (so different "tools" for roughing and finishing etc.). Then tell it which tool to use for each stage (roughing semi roughing and finishing, or skip the semi roughing) . Then point at the surface or set of surfaces you want done, and any avoid surfaces. And it gives you back a set of toolpaths, with tool change operations in between them. Always making the tool go only where needed, and nowhere else. There would be a few more user supplied parameters like the stock to leave, but most of the time the defaults would be fine.

But I don't get why I seem to be the only one who wants this. It seems to be fundamental to the milling progress: send the tool where it needs to go, and nowhere. else. That naturally reduces or eliminates gouges, gouging nearby surfaces, tool wear, reduces milling time (the lack of finishing paths suitable for bull nose end mills is another story, they can slash finishing time by a factor of 8 on a 25 degree surface for the same cusp height according to some documents).

I think historically the computational requirements were pretty onerous for this, but if the process is parallelized ... fusion can parallelize toolpath creation over the network. Or do it in the cloud? Or heck if it takes 20 minutes, that's the computer huffing and puffing away, not me.