Windows / Linux · GUI / CLI

Редактор и визуализатор программ ЧПУ

Редактирование токарных и фрезерных управляющих программ, расчёт траекторий и просмотр перемещений инструмента в 3D. Поддерживаются FANUC и часть команд SINUMERIK 840D.

Сборки для Linux также доступны на странице релиза.

Фрезерная траектория в Easy G-Code Plot
Редактор управляющей программы и 3D-траектория

Поддерживаемые команды и циклы

FANUC: токарная обработка — Type A / Type B

FANUC Turning Type A / Type B
Операция Type A Type B
Быстрый ход G00 G00
Линейное движение G01 G01
Дуга по часовой G02 G02
Дуга против часовой G03 G03
Выдержка G04 G04
Нарезание резьбы G32 G33
Система координат / ограничение шпинделя G50 G92
Чистовой цикл G70 G70
Черновое точение G71 G71
Черновая подрезка торца G72 G72
Повторение контура G73 G73
Сверление торца G74 G74
Канавки OD/ID G75 G75
Многопроходная резьба G76 G76
Простой цикл точения G90 G77
Простой резьбовой цикл G92 G78
Простой цикл торцевания G94 G79
Подача в минуту G98 G94
Подача на оборот G99 G95
Токарные циклы
Type A Type B Назначение в ядре
G70 G70 Чистовой контур P-Q
G71 G71 Продольная обдирка
G72 G72 Торцевая обдирка
G73 G73 Обдирка повторением шаблона
G74 G74 Сверление/прорезка торца с периодическим выводом по Z
G75 G75 Сверление/прорезка по X с периодическим выводом
G76 G76 Двухстрочная многопроходная резьба
G83 G83 Осевое сверление с периодическим выводом
G84 G84 Осевое нарезание резьбы метчиком
G90 G77 Модальный цикл продольного точения
G92 G78 Модальный цикл резьбы
G94 G79 Модальный цикл торцевой обработки
Поведение циклов
Цикл Описание
G70

G70 P... Q... строит указанный чистовой контур и подходит к нему из фактической позиции вызова G70.

Чистовой путь основан на номинальном профиле P-Q, а не на профиле со смещением обдирки, используемом G71/G72/G73.

Если активна компенсация радиуса при вершине резца и может быть проверена, чистовой контур использует компенсированный профиль.

После группы чистовой обработки цикл возвращается в сохранённую позицию вызова, используя детерминированный порядок возврата точения проекта.

G71

Моделируется обычная двухстрочная форма FANUC:

G71 U... R...
G71 P... Q... U... W... F...

Первая строка фиксирует глубину обдирки и отвод. Вторая строка задаёт профиль P-Q, припуски на чистовую обработку и подачу.

G72

G72 использует ту же инфраструктуру профиля P-Q, что и G71, но выполняет торцевую обдирку в плоскостях Z.

Типичная двухстрочная форма:

G72 W... R...
G72 P... Q... U... W... F...

Первая строка фиксирует осевую глубину и отвод. Вторая строка ссылается на профиль и припуски на чистовую обработку.

G73

G73 реализован как повторяющиеся смещённые копии профиля обдирки.

Первая строка фиксирует общее смещение шаблона U/W и количество проходов R. Вторая строка задаёт P/Q, припуски на чистовую обработку и подачу.

Знаки запрограммированных U/W сохраняются. Цикл не выводит направление смещения из того, как инструмент случайно подошёл к контуру.

G74

G74 поддерживает поведение периодического вывода по Z и повторение в стиле прорезки торца.

Первый блок, содержащий только R, может установить расстояние отвода. Исполняющий блок может использовать X/U и Z/W плюс параметры P/Q/R/F.

Если целевое значение X не задано, G74 может работать как сверление по Z в стиле периодического вывода на текущем X.

Когда запрашивается повторение по X, P управляет шагом X, а Q управляет глубиной периодического вывода по Z. Цикл возвращается к сохранённому началу, используя явный порядок возврата сначала по Z.

G75

G75 выполняет периодический вывод/радиальную прорезку по X.

P управляет радиальным шагом периодического вывода. Q может повторять канавки вдоль Z. Если Q опущен, запрограммированный Z/W выбирает одно место канавки, а не рассматривается как недопустимое повторение с нулевым шагом.

Значение R из установочного блока управляет расстоянием отвода, а значение R исполняющего блока обрабатывается как припуск по дну, где применимо.

G76

Моделируемая форма — двухстрочный G76 в стиле FANUC:

G76 P...... Q... R...
G76 X... Z... P... Q... R... F...

Первый блок хранит:

  • упакованные управляющие цифры P;
  • минимальное радиальное приращение Q;
  • необязательный припуск на чистовую обработку R.

Второй блок задаёт:

  • конечный X резьбы;
  • конечный Z;
  • высоту резьбы P;
  • первый рез Q;
  • необязательную конусность R;
  • шаг F.
G83

G83 — осевой цикл сверления по Z.

  • Если задан Q, генерируются периодические выводы по Z.
  • Если Q отсутствует, ядро не выдумывает глубину периодического вывода; оно выдаёт один ход подачи на глубину и ускоренный возврат.
  • Необязательное позиционирование по X обрабатывается перед осевым ходом и восстанавливается после.
G84

G84 — осевой цикл нарезания резьбы метчиком. Ход вниз и возврат являются синхронизированными движениями подачи; возврат не представлен как ускоренное перемещение.

G90

Да. G90 устанавливает цикл продольного прямоугольного точения. Последующие блоки только с X/U могут продолжать активный цикл на новых диаметрах до отмены другим явным кодом движения/цикла.

G92

Пример:

G92 X18 Z-10 F1.5
X17.5
X17.0

Начальный G92 устанавливает конец резьбы и шаг. Последующие блоки только с X/U продолжают активный цикл G92 с новыми глубинами до отмены другим явным режимом движения/цикла.

Каждый проход раскрывается в примитивы подхода, синхронизированного продольного резания, отвода и возврата.

G94

Да. G94 устанавливает цикл торцевой прямоугольной обработки. Последующие блоки только с Z/W могут продолжать активный цикл на новых положениях торца до отмены.

G71 Type II поддерживает профили с карманами с учётом ограничений. G72 Type II отклоняет несколько раздельных участков в одной плоскости торцевания (UNSUPPORTED_G72_TYPE_II_SPANS). G76 поддерживает углы инструмента 0°, 29°, 30°, 55°, 60° и 80°; остальные вызывают UNSUPPORTED_G76_TOOL_ANGLE.

Параметры и ограничения в FAQ →

FANUC: фрезерование

Фрезерные G-функции
G-код Функция в ядре
G00 Быстрое позиционирование
G01 Линейная интерполяция
G02 / G03 Круговая интерполяция по / против часовой стрелки
G04 Сигнал выдержки времени без перемещения
G10 Программирование смещений WCS (L2, L20)
G15 / G16 Отмена / включение полярных координат
G17 / G18 / G19 Выбор плоскости XY / XZ / YZ
G20 / G21 Входные единицы: дюймы / миллиметры
G28 Возврат в заданную опорную точку
G40 / G41 / G42 Отмена / левая / правая компенсация радиуса фрезы
G43 / G49 Учитывают / отменяют состояние коррекции длины; G43 не применяет H к траектории
G43.4 Непрерывные TCP-перемещения G0/G1 для включённых угловых профилей стола AC/BC; дуги с поворотом и сочетание с G68.2 не поддерживаются
G50 / G51 Отмена / включение масштабирования координат
G52 Локальное смещение координат
G53 Немодальное движение в координатах станка
G54–G59 Выбор рабочей системы координат
G54.1 P1–P99 Разбирается и выбирается; в GUI нет настройки смещения, поэтому оно нулевое, если программа не задаёт его через G10 L20
G65 Вызов программы Macro B
G68 / G69 Включение / отмена поворота координат
G68.2 / G53.1 Наклонная рабочая плоскость / ориентация оси инструмента (3+2, fanuc_mill с двухосевой кинематикой стол-стол, голова-голова или голова-стол)
G73 Цикл высокоскоростного сверления с периодическим выводом
G80 Отмена постоянного цикла
G81 Цикл сверления
G82 Цикл сверления с выдержкой
G83 Цикл сверления с полным выводом
G84 Цикл нарезания резьбы метчиком
G85 Цикл растачивания с возвратом на подаче
G86 Цикл растачивания с сигналом остановки шпинделя
G90 / G91 Абсолютное / инкрементальное программирование
G94 / G95 Подача в минуту / на оборот
G98 / G99 Возврат на исходную плоскость / плоскость R в постоянном цикле
Фрезерные M-функции
M-код Функция в ядре
M00 / M01 Сигнал остановки / необязательной остановки
M02 / M30 Завершение программы
M03 / M04 / M05 Сигналы вращения шпинделя по / против часовой стрелки / остановки
M06 Событие смены выбранного инструмента T
M07 Распознаётся; действие для конкретной системы охлаждения не моделируется
M08 / M09 Сигналы включения / выключения охлаждения
M19 Сигнал ориентации шпинделя; S в этом блоке задаёт угол, а не обороты
M29 Подготовка жёсткого резьбонарезания; S в этом блоке задаёт обороты для следующего G84
M98 / M99 Вызов подпрограммы / возврат из неё
Поведение фрезерных циклов
Команда Описание
G73 / G83

G73 — высокоскоростное сверление с периодическим выводом с коротким промежуточным отводом. G83 использует поведение сверления с полным отводом, моделируемое общим слоем сверления.

G82

G82 включает свою семантику выдержки, но выдержка сама по себе не создаёт пространственной геометрии.

G84

Нарезание резьбы G84 возвращается с глубины как синхронизированное движение подачи, а не как ускоренное перемещение.

G86

Цикл моделирует семантику остановки шпинделя вместе со своим поведением сверления/возврата.

G98 / G99

Для циклов фрезерования G98/G99 выбирают поведение возврата цикла. Это не значения режима подачи точения G98/G99.

Параметры и ограничения в FAQ →

SINUMERIK 840D ISO-M — G291

SINUMERIK ISO-M
Функция ISO-M Поддержка и ограничения
G290 / G291 Отдельные кадры переключают режим SINUMERIK / ISO-M. Выполнение MPF/SPF начинается в режиме SINUMERIK.
XYZ / G90 / G91 Трёхосевые перемещения, включая приращения. Поворотные оси и TCP не поддерживаются.
G2 / G3 / IJK ISO-M использует относительные центры дуг; SINUMERIK — абсолютные. Каждая дуга рассчитывается в активном режиме контроллера.
G54 P1–P48 Расширенные рабочие смещения. G54.1 в исходной программе и другие дробные G-коды отклоняются.
G50 / G51 Масштабирование координат; G51 использует коэффициент P/1000.
G68 / G69 Отдельный кадр 2D-поворота при G90, координаты центра в активной плоскости и R. Формы с I/J/K, приращением угла и 3D-вектором отклоняются.
Циклы и единицы В пределах ISO-M поддерживаются общие целочисленные фрезерные G-коды, выбор единиц, системы координат и отдельные стандартные циклы.
Macro B / ISO-T Поток управления Macro B и ISO Dialect T не поддерживаются. Неподдерживаемые ISO-функции вызывают диагностику.

Параметры и ограничения в FAQ →

SINUMERIK 840D: нативный режим — G290

SINUMERIK native
Нативная функция Текущее поведение
G0/G1, G2/G3, G17/G18/G19, CR= Позиционирование XYZ и дуги в выбранной плоскости; отрицательный CR задаёт большую дугу
G90/G91, G54–G59, G710 Абсолютные/приращённые координаты, рабочие смещения и метрические единицы
G40/G41/G42 Моделируемая радиусная компенсация по настроенному инструменту
T, M6, D0/D1, S, базовые M-команды Смена инструмента, выбор/отмена моделируемой режущей кромки, сигналы шпинделя и СОЖ; таблицы коррекций контроллера не моделируются
G0 SUPA ... D0 Немодальное перемещение в машинных координатах; SUPA Z0 означает машинный ноль независимо от home Z
G64, MSG(...), WORKPIECE(...), комментарии ; Метаданные и комментарии; сглаживание траектории и геометрия заготовки по этим объявлениям не рассчитываются
MCALL CYCLE81/82/83/84(...) Модальное сверление/нарезание резьбы по Z в G17/G40, запускаемое последующими кадрами XY; отдельный MCALL отменяет цикл
CYCLE81/82 Сверление и быстрый возврат, выдержка в секундах для CYCLE82; безопасная плоскость RFP + SDIS, возврат на RTP
CYCLE83 Первая глубина, уменьшение шага на заданную величину, минимальный шаг, дробление стружки/полный отвод и зазор повторного подхода в пределах реализованных параметров
CYCLE84 Правая метрическая резьба за один проход в G94: положительный явный PIT, _PITA=0/1, SDAC=3, ось Z, положительный SST, равный заданному S; SST1 равен ему либо нулевой/пропущен. Подача = шаг × обороты; возврат на подаче до RFP+SDIS, затем быстрый ход до RTP, возможна выдержка в секундах
CYCLE800() Пустой сброс принимается только без активного поворотного преобразования; параметризованная наклонная плоскость пока не реализована

Только трёхосевые траектории XYZ. Параметризованный CYCLE800, TRAORI/TRAFOOF, поворотные оси и произвольные вызовы подпрограмм Siemens не поддерживаются. Для R-параметров доступны числовые присваивания и прямые ссылки; арифметические выражения и поток управления Siemens не поддерживаются. CYCLE84 ограничен однопроходным нарезанием правой метрической резьбы; глубокое нарезание, левая резьба и разные скорости входа и выхода вызывают диагностику.

Параметры и ограничения в FAQ →

Интерфейс и инструменты

Просмотр траектории и моделей STL

Просмотр траектории и моделей STL

Пошаговый просмотр перемещений с переходом к соответствующей строке УП. Загрузка моделей STL в текстовом и бинарном формате, их позиционирование, поворот, копирование и построение сечений.

Снятие материала при точении

Снятие материала при точении

Снятие материала рассчитывается по геометрии инструмента и траектории. Поддерживаются наружное, внутреннее и торцевое точение, канавки и резьбовые профили. Доступна прокрутка вперёд и назад.

Поворотные оси

Поворотные оси

Профили поворотного стола A/B/C, позиционная обработка 3+2 с G68.2/G53.1 и поддерживаемое подмножество перемещений G43.4 TCP. Траектория отображается с учётом выбранного профиля кинематики.

Редактор

Подсветка синтаксиса, поиск и замена, нумерация кадров, пропуск кадров, шаблоны кода, переходы к сменам инструмента и просмотр макропеременных.

Библиотека инструментов

Геометрия токарных и фрезерных инструментов, сохраняемая библиотека SQLite и отдельный набор инструментов текущей программы.

Генераторы геометрии

Круговые и прямоугольные схемы отверстий и карманы с предварительным просмотром.

Расчёт траектории

Ядро обрабатывает переходы, переменные, циклы, системы координат и коррекции инструмента. Рассчитанные перемещения используются для 3D-визуализации, пошагового просмотра, статистики и экспорта. Графический интерфейс и CLI используют одно расчётное ядро.

Если неподдерживаемая команда влияет на положение инструмента, ядро выдаёт диагностическое сообщение и отмечает результат как неполный. Программа моделирует геометрию траектории, а не все физические процессы станка с ЧПУ.

Экспорт и CLI

NC

Full Program сохраняет структуру исходной программы в пределах поддерживаемого экспорта. Expanded Execution выводит рассчитанные перемещения после раскрытия циклов, макропрограмм и подпрограмм.

DXF / Plot Data

Экспорт геометрии рассчитанной траектории в DXF или данных перемещений в Plot Data.

Командная строка

Команды parse, trace, analyze и export обрабатывают отдельные программы. batch и batch-export обрабатывают дерево каталогов и формируют отчёты.

Команды CLI и примеры →

Документация

Поддерживаемые команды, параметры, ограничения и примеры использования.