I have written this attached script for using with LinuxCNC, formerly EMC2. I setup it for my machine, so I don't know how well it work for others. I have been testing it on and off with various cuts and seems to be holding up well.
In the future I would like to add some more options, like choosing between CCW or CW arcs, and toggling dwell times on or off. Then maybe automate the generation of the tool path for the shortest path between objects, and to cut contours from inside to out. Right now it is setup for the user to select the objects in order of the cuts. If you use this script please be advised to look through the code and simulate your g-code before actually performing a cut.
The one thing I would like to do is compound all the user inputs into one input box with multiple fields for variables, instead of a series of pop up windows. I am unclear on how to create an input box with multiple fields for variables. Any help would be greatly appreciated. Thanks.