Hi,
I use Eagle (free Demo version) to design the boards, it has a free ULP called PCB-to-Gcode that generates Gcode from
the artwork and then I use Autoleveller to tweak the Gcode to accomodate any minor twist or bow in the PCB blank.
I've been doing this for six years and for the last year almost daily.
I have investigated Kicad (open source) and Flatcam (free) but have yet to make the switch, both seem good, I just have that
much 'momentum' with Eagle and pcb-gcode.
Craig