I'm three days into development and I can see the light at the end of the tunnel. I really didn't want to fall into this rabbit hole but I did. The gocde output by FlatCAM really needed this to be efficient. When milling circuit boards, bigger cutters are better for numerous reasons.
In the range of endmill and engraving tools under discussion here the limiting factor is spindle speed, not the surface speed of the cutter tooth. With fixed spindle speed then (the max spindle speed), the fastest way around a circuit board trace is with a cutter with the most teeth and the highest allowable feed per tooth. The biggest endmill takes you around the trace the most quickly.
End mills are well balanced, small engraving tools are not. Engraving tools are noisier and harder on the spindle bearings.
Engraving tools wear out more quickly than endmills.
So, it's important to prioritize big endmills to mill a circuit board quickly and with the least wear on tooling and the milling machine. That's why I first do an isolation routing pass with an endmill and why I so badly wanted to avoid using the engraving cutter except where absolutely necessary.
AirCutCutter is a work in progress. I have an example case consisting of the two isolation milling gcode files to cut a circuit board with a 1/64" endmill isolation pass followed by an isolation routing pass with a 0.005" engraving cutter. AirCutCutter parses the two gcode files and removes the gcode commands from the engraving file that would cut air in about 15 seconds. The runtime of the engraving pass is reduced from 5.2 to 1.9 hours.
There's still room for improvement in AirCutCutter. For one it's a hardcoded mess now and needs to be polished up to make it a good command line tool. Secondly, it doesn't split up any of the gcode commands yet. For example if there's an inch long G1 motion that only cuts copper for little bit AirCutCutter keeps it as is now. I can be extended to split up that G1 command. Once it does that it will be able to reduce program runtime even further. Arcs are supported yet. That can be done though.
I have circuit boards to cut now! I'll work on this more when I have a chance.