Основные функции CAM-систем: разработка технологических процессов, синтез управляющих программ для технологического оборудования с ЧПУ, моделирование процессов обработки, в том числе построение траекторий относительного движения инструмента и заготовки в процессе обработки, генерация постпроцессоров для конкретных типов оборудования с ЧПУ, расчет норм времени обработки.
Исходными данными для составления программ для станков с ЧПУ являются результаты конструкторского проектирования, поступающие из CAD. Но возможно программирование и при наличии в качестве исходных данных лишь чертежа детали и параметров технологического процесса.
При программировании определяют и кодируют геометрию заготовки, траектории движения подвижных органов станка и параметры обработки. Для этих целей используют специализированные языки, примером которых может служить язык APT (Automatically Programmed Tools), относящийся к языкам высокого уровня. В языке APT имеются следующие группы команд:
Примеры команд APT:
P5 = POINT/0.0. 2.5. 0.4 — задание точки P5 с координатами X=0, Y=2,5, Z=0,4.
GOTO/P7 — перемещение в точку P7.
FEDRAT/6.0 — задание скорости подачи 6 дюйм/мин.
Полученный исходный код на языке APT преобразуется в программу перемещений инструмента, управления подачей и т.п., представляемую в виде аппаратно независимого файла CLData (Cutter Location Data). Файл CLData поступает в постпроцессор, который переводит программу на язык, требуемый для конкретного типа контроллера. Этими языками пользуются не профессиональные программисты, а заводские технологи, поэтому желательно, чтобы языки были достаточно простыми, построенными на визуальных изображениях ситуаций. Во многих системах дополнительно используются различные схемные языки. Ряд языков стандартизован и представлен в международном стандарте IEC 1131-3.
Особое место в CAD/CAM-системах занимает процедура прототипирования — изготовления прототипов деталей или шаблонов, по которым детали будут изготавливаться. Прототипирование — непосредственная реализация разработанной геометрической модели.
Для прототипирования широко используется стереолитография, основанная на построении трехмерного объекта из ряда слоев фотополимера, избирательно отверждаемого при облучении.
Процесс стереолитографии реализуется с помощью установки, в которой имеется ванна с жидким полимером и вертикально перемещаемая платформа. Платформа при формировании очередного слоя прототипа располагается ниже поверхности жидкого полимера на толщину одного слоя. Луч лазера перемещается по участку поверхности, повторяющему форму сечения прототипа. Этот участок затвердевает. Последовательно слой за слоем, начиная с нижнего слоя, формируется твердый прототип.
Процесс стереолитографии может быть использован для окончательного изготовления детали, если для нее полимер является подходящим материалом.
Наряду с стереолитографией используются и другие способы прототипирования, например, ламинирование (LOM — Laminated Object Manufacturing), основанное на последовательном склеивании слоев рабочего материала, поступающего в форме рулона. В установке ламинирования лазер вырезает слой по форме требуемого сечения.