Мы продолжаем активно развивать NCPlayer

NCPlayer by MEBLEOS — Версия 1.102 (https://nc.mebleos.com)

Мы продолжаем активно развивать NCPlayer — веб-симулятор G-кода с поддержкой макропрограммирования FANUC, реалистичной 3D-симуляции, переменных, циклов, условий и других профессиональных функций ЧПУ.

🔧 Что нового в версии 1.102

✅ Поддержка макропеременных и арифметики

  • Работа с переменными FANUC: #100, #101, …
  • Математические выражения, вложенные скобки, деления, округления.

✅ Реализация IF [условие] GOTO, IF [условие] THEN

  • Условные переходы и действия работают как на реальных станках FANUC.
  • Поддержка логики вида: gcodeCopyEditIF [#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, мы работаем над этим, и выпустим новую версию в ближайшее время.