The main types of CNC software include computer-aided design (CAD) software, which creates 2D and 3D models of parts and assemblies and computer-aided manufacturing (CAM) software, which translates CAD models into G-code or another code that informs CNC machines how to produce the part. CNC simulator software simulates the CNC machining of parts to identify potential errors before physically attempting fabrication. Some CNC software, such as Autodesk Fusion, includes CAD, CAM, simulation and more in a single package.
Also, CNC software is available as offline and online programming. Offline programming permits the creation of NC code as the machine is in operation, increasing productivity and shop-floor throughput. In contrast, online programming does not allow the machine to produce parts while the operator writes CNC software code.