Το λογισμικό κατεργασίας CNC είναι η διεπαφή προγράμματος ενός χειριστή για τον έλεγχο των μηχανημάτων βιομηχανικής κατασκευής. Το CNC είναι η συντομογραφία του «αριθμητικού ελέγχου υπολογιστή». Ένα μηχάνημα φορτώνεται με οδηγίες για τον τρόπο κατασκευής ενός προϊόντος με βάση την ακριβή αλλά καθαρά αριθμητική περιγραφή του.
Με την εφεύρεση των ηλεκτρονικών στερεάς κατάστασης και την εποχή της εκθετικής σμίκρυνσης που ξεκίνησε, από το 1950 περίπου, τα συστατικά μέρη των εμπορικών προϊόντων απαιτούσαν αντίστοιχα μικρές ανοχές στην ακρίβεια. Ήταν πολύ δύσκολο να ελέγχεται το μηχάνημα για να κατασκευάζονται τόσο λεπτομερή εξαρτήματα χειροκίνητα με μοχλούς και έκκεντρα. Οι πρώτες αριθμητικά ελεγχόμενες μηχανές διάβαζαν μια χαρτοταινία με τρύπες που κωδικοποιούνται για να αντιπροσωπεύουν τη χωρική τους θέση και για να ελέγχουν με σερβοκινητήρες την ακριβή τους κίνηση.
Η σύγχρονη κατεργασία CNC, η οποία έχει φέρει επανάσταση στην κατασκευή μεγάλης κλίμακας, παραμένει ουσιαστικά η ίδια κατ’ αρχήν. Οι οδηγίες που ελέγχουν ένα μηχάνημα αποθηκεύονται στον περιστρεφόμενο μαγνητικό σκληρό δίσκο ενός υπολογιστή ή σε στατικές ψηφιακές μονάδες flash. Η θεμελιώδης λειτουργία των περισσότερων μηχανών δεν έχει αλλάξει, και επομένως, ούτε το σύνολο των οδηγιών έχει αλλάξει. Οι πιο σημαντικές αλλαγές έχουν συμβεί στο λογισμικό κατεργασίας CNC.
Υπάρχουν πολλοί τύποι μηχανών CNC. Ένα από τα πιο συνηθισμένα είναι οι τόρνοι. Ένα μπλοκ υλικού όπως ξύλο ή μέταλλο είτε κρατιέται ακίνητο είτε μετακινείται με ακρίβεια, όπως στην περίπτωση της αξονικής περιστροφής ενός τόρνου περιστροφής. Σχηματίζεται με την αφαίρεση του υλικού από ένα ειδικό για κάθε εργασία, αιχμηρό τρυπάνι με υψηλή περιστροφή που κινείται κατά μήκος του περιγράμματος του επιθυμητού σχήματος. Η κρίσιμη λειτουργία του λογισμικού μηχανικής κατεργασίας CNC είναι να χαρτογραφήσει ή να μοντελοποιήσει αυτό το τρισδιάστατο σχήμα στις συντεταγμένες του καρτεσιανού άξονα xyz.
Ο όρος υπολογιστική μηχανική κατεργασία αριθμητικού ελέγχου είναι ακριβής. Ένας τόρνος βαθμονομείται πρώτα στις συντεταγμένες 0-0-0 του στόχου του και η διάτρησή του προχωρά στο επόμενο καθορισμένο σύνολο αριθμημένων συντεταγμένων και το επόμενο, σύμφωνα με τις χαρτογραφημένες οδηγίες του. Στα πρωτογενή χρόνια, αυτή ήταν η κυριολεκτική μέθοδος. Οι μηχανές εισήχθησαν με μια γραμμική ακολουθία ενός συνόλου τριών αριθμών, όλοι πληκτρολογημένοι με ένα αριθμητικό πληκτρολόγιο σύμφωνα με τους υπολογισμούς και τις μετρήσεις ενός μηχανικού σχεδιασμού.
Σχεδόν όλο το σύγχρονο λογισμικό μηχανικής κατεργασίας CNC είναι προσαρμοσμένο ενσωματωμένο στη συγκεκριμένη μηχανή. το καθένα έχει τις δικές του μηχανικές προδιαγραφές και επομένως δεν μπορεί να ελεγχθεί καλά με οποιονδήποτε κώδικα γενικής χρήσης, λιανικής ή ανοιχτού κώδικα. Με την αύξηση της επεξεργαστικής ισχύος του ηλεκτρονικού υλικού, τα προγράμματα υπολογιστών μηχανικής επεξεργασίας CNC έχουν γίνει πιο ισχυρά και φιλικά προς τον χρήστη. Οι υπολογιστές είναι πλέον ικανοί να μεταφράζουν αναλογικά διανύσματα και καμπύλες που ορίζουν τα περισσότερα σχήματα σε ψηφιακούς αριθμούς και γραφικές διεπαφές χρήστη όπως το CAD – σχεδιασμός με τη βοήθεια υπολογιστή – έχουν ενσωματωθεί στο λογισμικό επεξεργασίας CNC.
Οι μηχανές CNC δημιουργήθηκαν έτσι ώστε ένας χειριστής να μπορεί απλώς να πατήσει κουμπιά για έναρξη, τερματισμό και επαναφορά. Επιπλέον, η πολυπλοκότητα στο λογισμικό απελευθερώνει τον τεχνίτη να γίνει δημιουργικός σχεδιαστής, σχεδιάζοντας και αυτομάτως μηχανογραφώντας το σχέδιο αριθμητικά και έχοντας μια μηχανή να το κάνει πραγματικότητα. Η πρόοδος στις ψηφιακές τηλεπικοινωνίες έχει φέρει περαιτέρω επανάσταση στη βιομηχανική κατασκευή με την ικανότητα να ανεβάζει κώδικα σε ένα μηχάνημα χιλιάδων μιλίων μακριά για πρωτότυπα μίας εκτέλεσης. Διατίθενται νέες μηχανές CNC για σπίτι/γκαράζ με ίχνη επιφάνειας εργασίας, συμπεριλαμβανομένων τρισδιάστατων εκτυπωτών που αντιστρέφουν το σκοπό ενός τόρνου, εναποθέτοντας μια δεξαμενή υλικού όπως πλαστικό σε μια μορφή που ορίζεται από το λογισμικό, φαινομενικά δημιουργώντας κάτι από το τίποτα.