We do not actually own a CNC machine ourselves (the wife said no again today as I was browsing the used ShopBot listings), but we create DXF files to send out to CNC machines, and we use MasterCAM to generate CNC code for a regular customer that owns two shopbots.
My wife used to write G-code for her ex-employers KOMO CNC and the shops metal working CNC that was used to build custom machines. But there are many flavors of G-Code, based on the vendors enhancements.
We use Sheet Layout and CutList Plus (based on customers preference) for those jobs that will be manufactured without CNC, and MasterCAM for those jobs that will be manufactured on a ShopBot. We send out the DXF files for use by job shops that have their own nesting software, and the Thermwood CNC machines will nest all DXF files automatically with the built in controller software. They have a very nice layering scheme that is easy to support with Alibre.
We are providing DXF files and ShopBot code for cabinets that use BlindDado joinery, and where the CNC mills all holes and pockets. These models are bit slow even on an AMD Athlon X2 6000+, but when it comes off the CNC it is ready to assemble with puzzle like precision and does not require any secondary operations such as biscuits for pocket screw holes.
On the other end of the spectrum, we use a much simpler and faster model for creating rectangular parts that will be cut on a table or panel saw and assembled with screws or other fasteners. Here we do use Sheet Layout as it provides faster nesting results than by hand. We also use sheet layout to do preliminary nesting of CNC jobs to get an estimate of material quantities required.
A good program for creating G-Code (or ShopBot code) is VCarve Pro. It is quite powerful and affordable, but does not yet have nesting capability. Unfortunately, to get nesting and code generation, you are probably talking at least $3500. We looked at ArtCAM, EnRoute, AlphaCAM and finally bought MasterCAM. The cost was justified by the ongoing use with the ShopBot customer. Once VCarve Pro adds nesting, or Sheet Layout releases the Commercial Version with code generation, the big guys will have to watch out.
While I keep drooling over the used ShopBots, I will probably not be purchasing a machine myself as there is such a large community of ShopBot owners available to do contract work, various other job shops willing to do CNC work, and quite a few Thermwood job shops available for work through the eCabinets network. Besides, we started doing design work for other shops because I got tired of lifting sheets of plywood in my own shop. Ideally, I would get a lift cart, and better yet let the eldest grandson shove the material around the shop. For now I will continue to labor over Extrude Boss and Cut, with many Linear Patterns to create joinery and multiples of parts for custom Kitchens and Entertainment Centers.