NCPlayer by MEBLEOS — Версия 1.102 (https://nc.mebleos.com)
Мы продолжаем активно развивать NCPlayer — веб-симулятор G-кода с поддержкой макропрограммирования FANUC, реалистичной 3D-симуляции, переменных, циклов, условий и других профессиональных функций ЧПУ.

🔧 Что нового в версии 1.102
✅ Поддержка макропеременных и арифметики
- Работа с переменными FANUC:
#100,#101, … - Математические выражения, вложенные скобки, деления, округления.
✅ Реализация IF [условие] GOTO, IF [условие] THEN
- Условные переходы и действия работают как на реальных станках FANUC.
- Поддержка логики вида: gcodeCopyEdit
IF [#100 GE #106] THEN #107 = #106 IF [#107 LE 0] GOTO 1000
✅ Циклы и шаговые итерации
- Простые циклы через
GOTO, переменные и шагSTEP. - Возможность построения контуров, спиралей, матриц.
✅ Встроенный парсер выражений FANUC с SIN, COS, FIX, MOD и другими функциями
- Поддержка вложенных выражений:
X[#101*COS[#110]/2.0+#108] - Обработка выражений внутри адресов
X[...],Y[...],Z[...].
✅ Реалистичное 3D и 2D отображение траектории
- Модель заготовки и траектории инструмента.
- Режим
SIMULATIONиINSPECTION.
✅ Онлайн-переменные и пошаговое исполнение
- Отображение значений всех переменных (#100–#531).
- Возможность наблюдать, как изменяются переменные построчно.

Разбор примера: Программа O0008
#101 = 11 (STEP X/Y);
#102 = 50 (COORD START X);
#103 = 50 (COORD START Y);
#104 = 800 (LENGTH);
#105 = 400 (HEIGHT);
Задаём начальные параметры:
#101— шаг по X и Y (инкремент),#102,#103— стартовые координаты (угол детали),#104,#105— габариты детали.
#100 = [[#105/2]/#101];
#106 = [[#104/2]/#101];
#107 = #100;
IF [#100 GE #106] THEN #107 = #106
#100— количество шагов по Y до середины детали.#106— количество шагов по X до середины.#107— минимальное число шагов для построения траектории: квадратная спираль.
N50 IF [#107 LE 0] GOTO 1000;
✅ Условие остановки — если шагов не осталось → переход на N1000.
📐 Главный цикл (спиральная траектория):
G90 G00 X#102 Y#103 Z10.;
Z5.;
G01 Z-5. F1000;
G91 Y#105 F1200;
X#104;
Y-#105;
X-#104;
G00 Z10.;
- Переход в абсолютные координаты
X#102 Y#103. - Опускание инструмента
Z-5. - Переключение в инкрементальный режим (G91) и выполнение замкнутого прямоугольника:
- Y+
- X+
- Y–
- X–
🔁 Уменьшение шага и переход к следующему витку:
#107 = #107-1;
#102 = #102+#101;
#103 = #103+#101;
#104 = #104-[#101*2];
#105 = #105-[#101*2];
GOTO 50;
- Уменьшаем количество оставшихся витков.
- Обновляем координаты (
#102,#103) и размеры детали (#104,#105). - Возвращаемся к
N50.

🛑 Завершение:
N1000 M05; (останов шпинделя)
M09; (отключение СОЖ)
G91 G28 Z0.; (подъём по Z)
G28 X0.Y0.; (возврат в начало)
G90;
M30;
На изображении можно увидеть:
- 🟨 Жёлтые — главные траектории обработки.
- 🔴 Красная линия — текущая итерация.
- 🧮 Таблица переменных обновляется в реальном времени.
- 📍 Активная строка подсвечивается и отображается в редакторе.
🔗 Попробовать:
Зайдите на https://nc.mebleos.com/
Загрузите свой G-код или используйте встроенные демо-примеры.
Убедись, как работает логика FANUC-программ с макропеременными и циклами.
Внимание! В данный момент не поддерживаются вызовы G65, некоторректно работают некоторые сложные ф-ции при выводе кода с переменными X FIX[[#100*[SIN[45]/3]/TAN[45]]], а также логика некоторых циклов WHILE-DO, мы работаем над этим, и выпустим новую версию в ближайшее время.