CNC machines use NC programs to precisely control machining operations. NC programs can be generated manually using codes like RS274D or automatically using CAD/CAM software. The CNC controller interprets and executes the NC program in small blocks, directing servo motors to move machine axes. This allows for complex and repeatable machining of parts with improved accuracy over manual machines. DNC systems are used for very large NC programs by having an external computer "drip feed" blocks of code to the CNC controller as needed.