There are three basic means of CNC programming:
1) Manual data input (MDI) – where a skilled operator will manually enter the various M-codes and G-codes to define the NC program. This kind of programming is best suited to simple parts.
2) using computer-aided manufacturing (CAM) – where dedicated CAM software is used to produce one or more toolpaths that will be used to machine the part. CAM software can export these toolpaths into NC programs that contain M-code and G-codes suited to run on a specific CNC machine. CAM software is best suited to more complicated geometry or applications – such as programming simultaneous 5-axis machines.
3) Conversational programming – whereby a machine operator uses predefined routines to carry out simple machining operations (for example using a wizard to automatically program a simple rectangular pocket). This kind of programming is best suited for simple parts.