CNC's have come a Long way in the last few years. At present we can Machine 60-80 Cubic inches a Minute in Aluminum, 20-40 in steel, 10-15 in stainless. Its the cutting tool itself, as well as the advancements in raw number crunching that has brought this about.
In general the programmer takes the blueprint ( if a electronic file was not forwarded along with paperwork) and generates a graphic model of the part itself. the computer then translates this graphic model into mathmatical representations. Then the tool data must be input; size, how many cutting surfaces, cutting speeds and feeds, then this is translated into machine code that the CNC itself can understand. Then the proper tool order and the distances from the tool changer to the actual work piece must be set. A common location(reference point) is set BEFORE you begin this process somewhere on the part itself. ALL referenced are set from this location, and it can be moved ( floated) to any location at any time, after you load the original reference.
we have 5 axis machines, capable of machining all five sides in one set up. It still amazes me when we crank these machines up. The most powerfull has a 60 horsepower motor that will send a 6.0 diameter cutter across stainless steel 1/4 deep at a time. the chips coming off are red hot, as the heat and distortion are sent into the chips, and away from the tool and the material.
friggin wonderfull