Tietokoneavusteinen valmistus

Tietokoneavusteinen valmistus eli CAM ("Computer-aided manufacturing") on laajasti teollisuudessa käytetty termi, jolla on useita eri tarkoituksia. Useissa yhteyksissä se määritellään automaattisiksi valmistusjärjestelmiksi, jotka ovat tietokoneohjattuja. Käytännössä tämä tarkoittaa kappaleiden työstössä CAD-mallien geometriatietojen siirtämistä, yhdessä työkalujen, koneen ominaisuuksien ja työstettävän materiaalin kanssa, NC-koodiksi. Tämä koodi ohjaa NC-työstökonetta. CAM-ohjelma voi olla itsenäinen työkalu tai sitten se on yhdistetty CAD-ohjelmaan, jolloin puhutaan CAD/CAM-ohjelmistoista.
Sama NC-ohjelma sopii kaikkiin yrityksen työstökoneisiin, joka helpottaa ohjelmoijan työtä, kun hänen ei tarvitse muistaa jokaisen koneen erityisominaisuuksia. Yksi suuri etu CAM-ohjelmistoissa on nykyään se, että ne mahdollistavat 5-akselisen koneistuksen. Hyödyksi nähdään usein myös, että yritys pystyy ottamaan huomioon kappaleiden valmistuksen jo suunnitteluvaiheessa, jolloin suunnittelu- ja valmistuskustannukset laskevat, kun vältytään ylimääräiseltä työltä.
Historia.
CAD/CAM-ohjelmistojen historia ja kehitys ovat linkittyneet vahvasti tietokoneiden kehitykseen ja historiaan. Tietokoneiden kehityttyä sellaisiksi, että niitä pystyttiin käyttämään hyödyksi myös suunnittelussa, tapahtui jo 1950-luvulla. Ensimmäiset graafisen näytön sisältävät tietokoneet ja suunnitteluohjelmistot tulivat markkinoille 1960-luvun alkupuolella ja tietokoneavusteiset suunnitteluun (CAD) tarkoitetut sovellukset yleistyivät auto- ja lentoteollisuudessa 1970-luvulla Yhdysvalloissa.
CAD- ja CAM-ohjelmistot ovat kehitetty erillään, mutta usein ne toimivat rinnan. CAD- ja CAM-ohjelmistot ovat kehittyneet 1960-luvun alusta lähtien ja niiden pohjana ovat toisistaan poikkeavat tekniikat ja tarkoitusperät. CAM-ohjelmistojen historia polkeutuu numeerisesti ohjattaviin työstökoneisiin ja numeerisen ohjauksen siirtämiseen tietokonevälitteiseksi. 
John T. Parsons vaikutti merkittävästi numeerisen ohjauksen kehitykseen yhteistyössä MIT:n kanssa.
Ensimmäinen teollisesti valmistettu NC-kone Bendix valmistettiin yhdysvalloissa 1954. CADCAM-ohjelmistojen varsinaiseksi isäksi on kutsuttu tiedemies Patrick J. Hanrattya. Hän kehitti ohjelmiston nimeltä Pronto, joka oli ensimmäinen kaupallinen NC-ohjelmointikieli, työskennellessään General Electic:silla vuonna 1957.
Varsinainen tietokoneavusteinen suunnittelu ja valmistus aloitettiin 1970-1980-lukujen taitteessa. Kolmiulotteinen suunnittelu yleistyi 2000-luvulla. Sen kehitys ja käytön lisääntyminen ovat olleet merkittävimpiä muutoksia myös CAM-ohjelmistoissa. Uudet tietokoneavusteiset valmistusmenetelmät mahdollistat tuotteiden tulostamisen valmiiksi tuotteiksi. (vrt. kaksiulotteinen tulostin)
Postprosessorit.
Yksinkertaisesti sanottuna postprosessori on tietynlainen kääntäjä, joka kääntää CAM-ohjelmiston tuottamat työstöoperaatiot (radat, työkalut, työstönopeudet jne.) sisältävän CL-tiedoston ("Cutter Location File") työstökoneella suoritettavaksi NC-koodiksi (G-koodiksi).
Useimmat CAM-ohjelmistot tuottavat yhtä tai useamman tyyppistä niin kutsuttua neutraalia kieltä sisältäviä tiedostoja CNC-koneelle. Nämä ovat joko CLDATAksi kutsutussa binäärimuodossa tai Automatically Programmed Tool-kielen (APT) pohjalta räätälöidyssä ASCII-muodossa. ASCII-muodossa olevia tiedostoja voi lukea millä tahansa tekstieditorilla, mutta binääridataa ei voi lukea tietämättä datan rakennetta.
Postprosessorin tehtävänä on lukea tätä neutraalia tiedostoa, ja kääntää se juuri sille NC-koneelle sopivaksi g-koodiksi, jolla työstö tehdään. Laadukkaasti tehty postprosessori luo sellaista koodia, joka ottaa täysin huomioon NC-koneen ominaisuudet ja rajoitukset ts. se optimoi työstön NC-koneen mukaan. 
Nykyään yleisiä postprosessoreita voi ostaa joiltakin CAM-ohjelmistojen toimittajilta, mutta ne eivät ole välttämättä optimaalisia käytössä oleviin työstökoneisiin. Osa CAM-ohjelmistojen toimittajista tekee itse räätälöityjä postprosessoreita ja osa on ulkoistanut postprosessorien tekemisen täysin ulkopuoliselle yritykselle. Onkin siis tärkeää selvittää ohjelmistoa ostaessa, mistä saa laadukkaat ja toimivat postprosessorit juuri omille käytössä oleville NC-koneille ja miten jatkossa on mahdollista saada postprosessoreille päivityksiä ja teknistä tukea.