For those doing more complicated work than cutting simple shapes, have a look at http://openscam.org/
From the webpage:
OpenSCAM is an Open-Source software which simulates 3-axis CNC milling or engraving. It is a fast, flexible and user friendly simulation software for the DIY and Open-Source community. OpenSCAM works on Linux, OS-X and Windows.
My jewel box project means I have to cut parts on the CNC mill then transfer them to the Emblazer for finishing. By adding the milling gcode to the laser gcode I can generate and exact reproduction of what is going to occur before I start, it has saved me quite a few dumb mistakes.