Perangkat lunak permesinan CNC adalah antarmuka program operator untuk mengendalikan mesin fabrikasi industri. CNC adalah singkatan untuk “kontrol numerik komputer.” Sebuah mesin diunggah dengan instruksi tentang cara membuat produk berdasarkan deskripsi numerik yang tepat tetapi murni.
Dengan penemuan elektronik solid state dan era miniaturisasi eksponensial, dimulai sekitar tahun 1950, bagian-bagian komponen produk komersial memerlukan toleransi kecil dalam presisi. Itu terlalu rumit untuk mengontrol mesin untuk membuat komponen rinci seperti secara manual dengan tuas dan Cams. Mesin yang dikontrol secara numerik pertama membaca pita kertas yang dilubangi dengan lubang yang dikodekan untuk mewakili posisi spasialnya dan untuk mengontrol dengan motor servo gerakan presisinya.
Pemesinan CNC modern, yang telah merevolusi manufaktur skala besar, pada dasarnya tetap sama. Instruksi yang mengontrol mesin disimpan di hard drive magnetik komputer yang berputar atau flash drive digital statis. Operasi dasar sebagian besar mesin tidak berubah, dan oleh karena itu, rangkaian instruksi juga tidak berubah. Perubahan paling signifikan telah terjadi pada perangkat lunak permesinan CNC.
Ada banyak jenis mesin CNC. Salah satu yang paling umum adalah mesin bubut. Sebuah balok dari bahan seperti kayu atau logam ditahan diam atau dipindahkan dengan tepat, seperti dalam kasus pemintalan aksial dari mesin bubut. Ini dibentuk dengan pengurangan material oleh mata bor tajam khusus tugas pada putaran tinggi yang bergerak di sepanjang kontur bentuk yang diinginkan. Fungsi kritis perangkat lunak permesinan CNC adalah memetakan, atau memodelkan, bentuk tiga dimensi ini ke dalam koordinat sumbu Cartesian xyz-nya.
Istilah mesin kontrol numerik komputer adalah salah satu yang akurat. Sebuah mesin bubut pertama-tama dikalibrasi ke koordinat 0-0-0 targetnya, dan pengeborannya maju ke set koordinat bernomor yang ditetapkan berikutnya, dan berikutnya, sesuai dengan instruksi yang dipetakan. Di masa yang baru lahir, ini adalah metode literal. Mesin dimasukkan dengan urutan linier dari satu set tiga angka, semua diketik dengan keypad numerik sesuai dengan perhitungan dan pengukuran insinyur desain.
Hampir semua perangkat lunak permesinan CNC modern terintegrasi khusus dengan mesin tertentu; masing-masing memiliki spesifikasi mekanisnya sendiri dan dengan demikian tidak dapat dikontrol dengan baik dengan kode sumber umum, eceran, atau terbuka. Dengan peningkatan kekuatan pemrosesan perangkat keras elektronik, program komputer permesinan CNC menjadi lebih bertenaga dan mudah digunakan. Komputer sekarang mampu menerjemahkan vektor dan kurva analog yang mendefinisikan sebagian besar bentuk menjadi angka digital, dan antarmuka pengguna grafis seperti CAD — desain berbantuan komputer — telah dimasukkan ke dalam perangkat lunak permesinan CNC.
Mesin CNC dibuat sehingga operator cukup menekan tombol untuk memulai, mengakhiri, dan mengatur ulang. Kecanggihan perangkat lunak selanjutnya membebaskan pengrajin untuk menjadi desainer kreatif, cukup menggambar dan secara otomatis komputerisasi gambar secara numerik dan memiliki mesin membuatnya nyata. Kemajuan dalam telekomunikasi digital telah lebih jauh merevolusi manufaktur industri dengan kapasitas untuk mengunggah kode ke mesin yang jaraknya ribuan mil untuk pembuatan prototipe sekali jalan. Mesin rumah/garasi CNC baru tersedia dengan footprint desktop, termasuk printer 3D yang membalikkan tujuan mesin bubut, menyimpan reservoir material seperti plastik ke dalam bentuk yang ditentukan oleh perangkat lunak, seolah-olah menciptakan sesuatu dari ketiadaan.