I use Inkscape for the design work (2D) then send the SVG file to the JSCut website which produces the G-code. I have to edit the code to insert the M03 & M05, but that's all. I then use GBRL to control the CNC router.
Although it is aimed at the printing market, I find Inkscape can produce...