Кратко
Постпроцессор переводит нейтральный файл траекторий из CAM-системы в программу для конкретной стойки ЧПУ: подставляет формат смены инструмента, дуг, отвода, номеров кадров и конец программы. Его берут готовым из библиотеки CAM или у производителя стойки, а недостающее правят в тексте. Любую новую программу сначала гоняют в симуляции и в воздухе.
- Постпроцессор переводит нейтральные траектории из CAM в программу на языке конкретной стойки. Одна и та же деталь на Fanuc, Mach3 и GRBL записывается тремя разными файлами.
- Различия касаются смены инструмента (M6), коррекции длины (G43 H), отвода по Z (G28 или G53), формата дуг, нумерации кадров и записи чисел. Движения по прямым везде почти одинаковые.
- Готовый пост берут в библиотеке CAM или у производителя контроллера. Недостающее правят в тексте поста, начиная с ближайшего готового, а не с нуля.
- Программу из нового или исправленного поста сначала смотрят в симуляции и просмотрщике кода, потом гоняют над заготовкой с поднятым нулём по Z и пониженной подачей.
Что делает постпроцессор
Если открыть в CAM-системе операцию, там нет G-кода. Там есть инструмент, плоскость обработки, последовательность точек и дуг, подачи и обороты. Руководство Autodesk по постпроцессорам описывает это так: CAM обычно выдаёт нейтральный промежуточный файл с данными по каждой операции (инструмент, тип обработки, траектория центра инструмента), а постпроцессор переводит его на язык, который понимает станок. Чаще всего это одна из форм ISO/EIA G-кода, хотя у некоторых стоек есть собственный язык или диалоговое программирование.
Руководство Autodesk объясняет, почему нельзя взять один пост на всё: на одной стойке код поддерживается, на другой нет, а где-то одни и те же коды толкуются по-разному. Один станок умеет круговую интерполяцию, другому дуги приходится заменять короткими прямыми. Поэтому пост нужен под каждую связку «станок плюс стойка». О командах мы писали в статье про G-код для начинающих, а CAM сравнивали в обзоре CAM для ЧПУ. Здесь только то, что меняется при переводе.
Один фрагмент, три диалекта
Возьмём простую операцию. Фреза №1, 12 000 об/мин, подход к заготовке, врезание на 2 мм, прямой проход на 40 мм, четверть дуги радиусом 10 мм против часовой стрелки, подъём, отвод и конец программы. Ниже три варианта той же программы. Все коды сверены с документацией: Fanuc-подобный блок собран по примерам из руководства Autodesk, Mach3 проверен по руководству Mach3Mill 1.84, GRBL по списку поддерживаемых команд в вики проекта.
Fanuc-подобная стойка, как её выводят посты Autodesk: с номерами кадров, коррекцией длины и отводом по G28.
(PROGRAM FANUC-STYLE)
N10 G21
N15 G91 G28 Z0
N20 G90
N25 T1 M6
N30 G17 G90 G94
N35 S12000 M3
N40 G54
N45 G0 X0 Y0
N50 G0 G43 Z5. H1
N55 G1 Z-2. F600
N60 X40. F1200
N65 G3 X50. Y10. I0. J10.
N70 G0 Z5.
N75 G91 G28 Z0
N80 G90
N85 M5
N90 M30Mach3: номеров кадров нет, отвод в машинных координатах через G53, смена инструмента отдана макросам.
G21 G90 G17 G94
G0 G53 Z0
T1 M6
G54
S12000 M3
G0 X0 Y0
G43 H1
G0 Z5
G1 Z-2 F600
X40 F1200
G3 X50 Y10 I0 J10
G0 Z5
G0 G53 Z0
M5
M30GRBL: нет M6 и G43 H, смену инструмента заменяет остановка M0, длину инструмента здесь учитывают иначе.
G21 G90 G17 G94
G91 G28 Z0
G90
M5
M0 (Change tool T1)
G54
S12000 M3
G0 X0 Y0
G0 Z5
G1 Z-2 F600
X40 F1200
G3 X50 Y10 I0 J10
G0 Z5
G91 G28 Z0
G90
M5
M30Смена инструмента. В LinuxCNC M6 вместе со словом T меняет инструмент, после смены шпиндель остановлен. В Mach3 по M6 вызывается макрос M6Start, система ждёт нажатия Cycle Start и выполняет M6End, а если смену отключить в Config > Logic, M6 ничего не делает. В списке команд GRBL M6 нет: там поддерживаются M0, M1, M2, M30, M3, M4, M5, M7, M8 и M9. Один из вариантов для такого контроллера: пост вместо смены ставит остановку, оператор меняет фрезу руками и запускает программу дальше.
Длина инструмента. В Fanuc-подобном и Mach3 фрагментах стоит G43 с номером H, и стойка берёт длину из таблицы инструментов. У GRBL в списке только G43.1, смещение, заданное в самой программе. Как привязывать длину и ноль детали, мы разбирали в статье про G54–G59 и коррекции.
Отвод. G28 ведёт ось через указанную точку в запомненное положение (в Mach3 и LinuxCNC оно хранится в параметрах 5161 и далее и задаётся командой G28.1). G53 едет в машинных координатах и действует только в своём кадре. Поэтому в Fanuc-стиле пишут G91 G28 Z0: в инкрементном режиме ось проходит нулевое перемещение и идёт домой. В абсолютном режиме та же строка сначала отправит ось в Z0 текущей системы координат, то есть к заготовке, и только потом наверх.
Дуги. Везде дуга записана через центр (I и J). Документация LinuxCNC называет этот формат более точным и предпочтительным: радиус R короче, но у дуг, близких к полуокружности или полной окружности, малая погрешность конечной точки сильно двигает центр. Вторая тонкость в том, от чего считать I и J. Режим G91.1 задаёт их приращением от начала дуги, G90.1 абсолютными координатами, а GRBL понимает только G91.1. Если пост выведет абсолютные I и J, а стойка ждёт приращения, в просмотре появятся огромные дуги не в ту сторону.
Номера кадров, конец программы, числа. Пост решает, ставить ли номера N (в Autodesk это свойство showSequenceNumbers) и как писать комментарии. Формат чисел задаёт функция createFormat: число знаков после точки, знак, ведущие нули. Конец программы это M2 или M30: LinuxCNC по обеим останавливает шпиндель, выключает охлаждение и возвращает режимы к начальным, а Mach3 по M30 ещё и перематывает программу.
Откуда берут постпроцессор
Вариантов четыре.
| Источник | Что это | Когда подходит |
|---|---|---|
| Встроенные в CAM | Посты, которые идут с программой, например у FreeCAD (LinuxCNC, GRBL, Mach3) и Vectric | Станок на распространённой стойке: LinuxCNC, GRBL, Mach3, Fanuc |
| Библиотека Autodesk для Fusion | Каталог на cam.autodesk.com/hsmposts, файлы .cps по типам станков и стоек | Для Fusion, HSMWorks и Inventor CAM |
| От производителя стойки или станка | Модуль или файл, который выдаёт поставщик контроллера | Нестандартные и малоизвестные контроллеры |
| Написанный на заказ | Доработка ближайшего поста под ваш станок | Нужны свои циклы, смена инструмента, поворотные оси |
Библиотека Autodesk предупреждает сама: посты работают только с продуктами Autodesk (Fusion, HSMWorks, Inventor CAM), а под вашу конфигурацию пост может не подойти, и ответственность за совместимость лежит на пользователе. Для сложных случаев Autodesk советует обращаться к местному реселлеру.
У фрезеров по дереву и рекламе формат программы определяет контроллер, а не марка станка. Например, в карточке Wattsan M1 1325 на сайте производителя указан контроллер RichAuto A11 и формат файла G-code, а у других моделей линейки встречаются NcStudio и RichAuto A18. Какие готовые посты существуют под эти контроллеры, по карточкам не узнать, поэтому совет общий: ищите постпроцессор у производителя контроллера или у продавца станка и проверяйте его на тестовой программе.
Как поправить постпроцессор в Fusion
Файл поста в Fusion имеет расширение .cps (в документации Autodesk расшифровка Customizable Post-processing System). Внутри обычный JavaScript, а CAM вызывает из него функции по одной на событие: onOpen() в начале программы, onSection() в начале каждой операции, onRapid(), onLinear(), onCircular() на каждое движение, onCommand() на команды вроде «остановить шпиндель». Содержимое функций и есть то, что вы видите в G-коде.
Руководство Autodesk даёт два совета, которые экономят неделю: пост не пишут с нуля, а правят ближайший готовый, и не держат свою копию в установочной папке Fusion, потому что при обновлении её перезапишут.
Подключить и отредактировать пост в Fusion
- 01
Скачайте .cps
из библиотеки Autodesk или получите его от производителя станка.
- 02
Положите файл в отдельную папку
, лучше в облачную библиотеку ресурсов (Asset Library): посты, библиотеки инструмента и шаблоны синхронизируются между компьютерами и сотрудниками.
- 03
Откройте окно NC Programs
и рядом с полем Post нажмите кнопку выбора. В диалоге добавьте свою папку в список Linked и выберите пост.
- 04
Откройте пост на правку
кнопкой редактирования рядом с тем же полем. Autodesk рекомендует Visual Studio Code с расширением Autodesk Fusion Post Processor Utility: оно проверяет код встроенным ESLint и подсвечивает в выводе быстрые, линейные и круговые перемещения разными цветами.
- 05
Меняйте по одному параметру
и каждый раз перегоняйте контрольную деталь. Часть настроек (номера кадров, способ отвода) вынесена в таблицу свойств поста и меняется без правки кода.
Типичные правки: способ безопасного отвода (свойство safePositionMethod с вариантами G28 и G53), вид смены инструмента, нумерация кадров, формат чисел. Названия кнопок и пунктов меню от версии к версии меняются, сверяйтесь с интерфейсом своей версии Fusion.
Правку поста начинайте с вопроса, чем программа станка отличается от вывода ближайшего готового поста. Обычно хватает трёх-четырёх строк: смена инструмента, отвод и формат дуг. Если приходится переписывать половину, скорее всего, взят пост не для той стойки.
Дмитрий ВолковИнженер-механик, фрезерные станки с ЧПУ и CAMКак проверить постпроцессор
Проверка идёт от безопасного к опасному, и пропускать этапы нельзя.
- Симуляция в CAM. Она показывает траекторию, а не G-код, и не обнаружит ошибку поста. Но отсеет ошибки самой обработки.
- Просмотр кода. Выведенный файл открывают в просмотрщике: NC Viewer это онлайн-просмотрщик G-кода с имитацией станка, в LinuxCNC и Mach3 есть собственный график траектории. Если дуга ушла не в ту сторону или инструмент нырнул вниз при отводе, это видно на экране без станка.
- Прогон без заготовки. Нулевую точку по Z поднимают с запасом над столом (например, на 50 мм) или убирают заготовку, шпиндель не включают, подачу снижают ручкой коррекции на пульте. Смотрят на каждый отвод и на смену инструмента.
- Первый рез. Дешёвая заготовка (МДФ, пластик), пониженная подача, рука у аварийной кнопки.
Что менять, если станок ведёт себя не так
| Что видите | Что смотреть в посте |
|---|---|
| Дуга уходит по большой окружности или в другую сторону | Режим I и J: приращения (G91.1) или абсолютные значения (G90.1); G2 и G3 в нужной плоскости |
| Дуга лежит не в той плоскости | Плоскость G17, G18, G19 и осевые слова дуги; список разрешённых плоскостей дуг (allowedCircularPlanes в посте Autodesk); если стойка дуги в нужной плоскости не принимает, их выводят короткими прямыми |
| Размеры в 25,4 раза больше или меньше | Единицы G20 и G21 в начале программы; настройка единиц вывода в окне поста |
| Станок не уходит вверх перед сменой инструмента или идёт к заготовке | Способ отвода: G28 в инкрементном режиме или G53 в машинных координатах |
| Стойка выдаёт ошибку на M6 или G43 | Нет ли такой команды у контроллера: у GRBL нет M6 и G43 H; замените остановкой или смещением, которое он понимает |
| После смены фреза режет на другой глубине | G43 и номер H после смены, привязка длины, порядок G43 и первого движения по Z |
| Контур смещён на радиус фрезы | Коррекция на диаметр G41 и G42, место включения, стойка могла не принять G41 на дуге |
| Стойка не принимает файл или ругается на строку | Номера кадров, символ комментария, формат чисел, символ конца программы (M2 или M30, иногда знак %) |
| Программа останавливается, не доходя до конца | M0, M1 и M30 там, где нужна пауза; смена инструмента отключена в настройках, а пост ставит M6 |
| Станок дёргается на дугах | Не режет ли пост дугу на короткие G01: нужны G02 и G03 с верным режимом I и J; на пульте, который дуги не принимает, наоборот, линейные отрезки; затем снижают ускорение и стартовую подачу |
| Пульт игнорирует подачу или обороты из программы | В параметрах G-кода пульта включено чтение F (Read F, Ignore F Code); в CAM у инструмента задана реальная рабочая подача станка |
После замены контроллера из начала программы убирают G28 и M6, которых новый станок не понимает: иначе он поедет в упор. Первым делом гоняют тест 100×100 мм на безопасной высоте.
Если причина неясна, прогоните через пост программу из трёх-четырёх движений и сравните построчно с руководством к стойке. О самих стойках есть статья про Fanuc, Siemens и Heidenhain и обзор Mach3, Mach4 и LinuxCNC.
4- и 5-осевые постпроцессоры
С поворотными осями постпроцессору нужно знать, как устроен станок. В руководстве Autodesk для этого есть отдельные функции onRapid5D() и onLinear5D(), куда приходят координаты и вектор оси инструмента, а кинематику (какие оси поворачивают стол, какие голову, пределы, смещения) задают в описании станка.
Первое, что проверяют, это TCP, управление точкой инструмента: на стойке оно включается особой командой (в руководстве названы G43.4 и TRAORI, это разные стойки), а в свойствах поста есть настройка supportsTCP. Если стойка TCP не поддерживает, а описание станка его включает, пост выдаст ошибку, и координаты придётся пересчитывать под повороты самим постом. Второе касается перемотки осей: у предела поворота пост должен отвести инструмент, повернуть ось и вернуться, для чего заполняют функции безопасного отвода и возврата. Такие посты обычно берут у производителя станка и проверяют симуляцией станка целиком. Когда дополнительные оси вообще нужны, мы разбирали в статье про 3-, 4- и 5-осевую обработку.
Частые вопросы
Что такое постпроцессор для ЧПУ простыми словами?
Это переводчик между CAM-программой и станком. CAM рассчитывает траекторию в нейтральном виде, а постпроцессор записывает её на языке конкретной стойки: подставляет нужные коды смены инструмента, отвода, дуг и конца программы.
Как добавить постпроцессор в Fusion?
Скачайте файл .cps из библиотеки Autodesk, положите в отдельную папку или в облачную библиотеку ресурсов, в окне NC Programs нажмите кнопку выбора рядом с полем Post и добавьте папку в список Linked. После этого пост появится в списке для выбора.
Как написать постпроцессор для станка с ЧПУ?
С нуля писать не нужно: берут ближайший готовый пост и правят. Для Fusion это файл .cps на JavaScript. Руководство Autodesk рекомендует работать в Visual Studio Code с расширением Autodesk Fusion Post Processor Utility и менять код небольшими шагами, каждый раз проверяя вывод.
Источники
- Autodesk CAM Post Processor Guide (Post Processor Training Guide), версия 2025 ↗ — Autodesk, 2025
- Autodesk CAM Post Processor Documentation: Entry Functions ↗ — Autodesk, 2026
- Post Library for Autodesk Fusion ↗ — Autodesk, 2025
- G-Codes: LinuxCNC documentation ↗ — LinuxCNC, 2026
- M-Codes: LinuxCNC documentation ↗ — LinuxCNC, 2026
- Using Mach3Mill, Rev 1.84 ↗ — ArtSoft / Mach Support
- Grbl v1.1 Commands ↗ — проект Grbl, GitHub
- Wattsan M1 1325: карточка модели ↗ — Wattsan, 2026
Фото: Lfelipelopezp, CC BY-SA 4.0, Wikimedia Commons

Автор
Дмитрий ВолковИнженер-механик, фрезерные станки с ЧПУ и CAM, 15 лет в отрасли
Пятнадцать лет работает с фрезерными станками с ЧПУ: от мебельных раскроечных центров до обработки металла. Пишет о фрезерах, инструменте, CAM-программах и системах управления.
Все материалы автора →Как мы готовим материалы — в редакционной политике. Нашли ошибку? Напишите нам.
В этом разделе: CAM и управляющие программы
Все →Комментарии
Пока никто не написал. Задайте вопрос — автор или эксперты редакции ответят.
Написать комментарий





