CNC mills use computer controls to cut different materials. They are able to translate programs consisting of specific numbers and letters to move the spindle (or workpiece) to various locations and depths. Many use G-code, which is a standardized programming language that many CNC machines understand, while others use proprietary languages created by their manufacturers. These proprietary languages, while often simpler than G-code, are not transferable to other machines. CNC mills have many functions including face milling, shoulder milling, tapping, drilling and some even offer turning. Standard linear CNC mills are limited to 3 axis (X, Y, and Z), but others may also have one or more rotational axes. Today, CNC mills can have 4 to 6 axes.
Computer Numeric Control (CNC) is the automation of machine tools that are operated by precisely programmed commands encoded on a storage medium (computer command module, usually located on the device) as opposed to controlled manually by hand wheels or levers, or mechanically automated by cams alone. Most NC today is computer (or computerized) numerical control (CNC), in which computers play an integral part of the control.
In modern CNC systems, end-to-end component design is highly automated using computer-aided design (CAD) and computer-aided manufacturing (CAM) programs. The programs produce a computer file that is interpreted to extract the commands needed to operate a particular machine by use of a post processor, and then loaded into the CNC machines for production. Since any particular component might require the use of a number of different tools – drills, saws, etc. – modern machines often combine multiple tools into a single "cell". In other installations, a number of different machines are used with an external controller and human or robotic operators that move the component from machine to machine. In either case, the series of steps needed to produce any part is highly automated and produces a part that closely matches the original CAD design.