Thanks.
For me, using polylines means I didn't have to figure out how to join lines and arcs. The downside is that it forces the user to know exactly what he wants to do, as you basically are drawing your toolpaths. It took me about a week to get that magic number (Bulge) into IJ g-code.

I try to avoid as much math as possible. So there's no pocketing, other than circles, which are easy. I rarely do any other pocketing, and if I need to, it only takes a minute or two to draw the pocket toolpaths. (A few offsets, and then trace with a polyline).

I have a test version that let's me assign machining order to entities, and have plans for multiple tools. But I'll probably need to learn VB.net first, as I've found that 64bit AutoCAD does not run VBA code as efficiently as 32bit AutoCAD does.