Новый рабочий процесс создания материала для фрезерных и токарных режимов.
Динамическое изменение материала без перезагрузки страницы для поддерживаемых фрезерных операций.
Добавлен режим редактирования материала с экранной плашкой редактирования и перемещением материала по рабочей зоне.
Улучшены окна добавления/удаления материала и настройка токарной заготовки.
Улучшена работа мобильной версии сайта и отображение модальных окон на малых экранах.
Добавлена кнопка STOP для аварийной остановки, сброса программы и восстановления при зависании процесса в браузере.
Добавлен индикатор пользователей онлайн.
Окна What's New, горячих клавиш, Measure Tools и материала приведены к стилю модальных окон NCPlayer.
Локализованы Bounds, Measure Tools, количество строк, время последнего сохранения и единицы измерения в информационной панели.
Дублирующая кнопка Optional Stop убрана с верхней панели; переключение осталось доступно в меню.
Улучшена правая информационная панель: устаревший вывод Total Duration скрыт, данные Bounds оставлены с переводами.
Версия 2.13 — 24.04.2026
Добавлены дневная и ночная темы с сохранением выбора в localStorage.
Добавлены стили по теме для меню, модальных окон, правых панелей контроллеров, таблиц, редактора ACE и фонов симуляции.
Добавлен переключатель Solid Simulation в меню View и переведён интерфейс Simulation Settings.
Улучшена мобильная раскладка, включая работу Switch, элементы управления симуляцией, безопасное позиционирование над футером и сохранение активной панели.
Улучшен доступ из меню к NC Assistant, выбору контроллера и функции Optional Stop.
Версия 2.12 — 23.04.2026
Добавлен отчет Program Runtime в меню Tools, формируемый на основе предварительно обработанной программы.
Отчет показывает по каждому инструменту суммарный путь и время для rapid-перемещений, подач, дуг, стандартных циклов, задержек и смен инструмента, а также включает настройки Rapid Override и Feedrate Override.
Добавлен новый 26-гранный 3D-манипулятор вида в форме многогранника типа rhombicuboctahedron с кликабельными основными плоскостями, реберными фасками и угловыми фасками, включая треугольник XYZ для изометрического вида.
Добавлена обязательная авторизация через бесплатный аккаунт NCPlayer для защищённых действий, таких как открытие собственных NC-файлов.
Версия 2.11 — 22.04.2026
Добавлен Inspection Mode для анализа симуляции, позволяющий разбирать построенную траекторию прямо в окне просмотра.
Клик по точке траектории теперь переводит к соответствующей исходной строке в редакторе ACE, а при наведении показывается tooltip с номером строки и её текстом.
Добавлены подсветка выбранного сегмента, стрелка направления и компактное окно с Start XYZ, End XYZ, Delta XYZ, модальным состоянием и значениями макро/служебных данных, если они доступны.
Добавлен экспорт Toolpath to DXF из меню File, чтобы сохранять симулированную траекторию после контроллерно-зависимого парсинга и разворачивания макросов.
Добавлено окно DXF Export Settings с настройками LINE/POLYLINE, режима проекции, организации слоёв, включения rapid-перемещений и точности уровней Z.
Версия 2.10 — 20.04.2026
Добавлена модальная форма обратной связи, через которую пользователи могут рассказать о своём опыте работы с NCPlayer, задать вопросы, сообщить о проблемах или предложить недостающие функции и поддержку дополнительных CNC-стоек.
В футер добавлены ссылки на правовую информацию, включая Terms & Conditions, Privacy Policy, Cookie Policy, Refund Policy и Legal Information, с учётом языка там, где доступны локализованные юридические страницы.
Добавлена отдельная модальная форма “Found an error?” для отправки сообщений об ошибках, некорректном поведении или предполагаемых проблемах прямо из интерфейса.
Добавлен первый этап поддержки симуляции токарной обработки, включая режим FANUC Lathe.
Добавлены варианты отображения токарного инструмента: левый/правый резец и вид спереди/сзади.
Добавлен выбор режима координаты X для токарной симуляции: отображение по диаметру или радиусу.
Добавлена отдельная модель токарного резца вместо использования формы фрезерного инструмента.
Добавлено создание цилиндрической заготовки для токарной симуляции через Add/Delete Material — Lathe.
Существующая логика прямоугольного материала для фрезерной симуляции оставлена без изменений, а токарный режим теперь использует отдельный процесс для цилиндрической заготовки.
Версия 2.0 — 19.04.2026
Проект перемещён на nc.cncpassport.com и теперь развивается в рамках этого проекта.
Добавлена поддержка HAAS серии VF, включая отдельный профиль контроллера HAAS VF-1 и настройки симулятора.
Добавлена поддержка SYNTEC 6MB с отдельным файлом симуляции и обработкой синтаксиса макросов Syntec.
Добавлена поддержка макропрограммирования Syntec: присваивания :=, IF/ELSE/END_IF, WHILE/END_WHILE и FOR/END_FOR.
Улучшена работа с макропеременными: присвоенные значения отображаются в таблице переменных во время симуляции.
Улучшена совместимость парсера с синтаксисом разных контроллеров при сохранении отдельных файлов симуляции для FANUC, HAAS и SYNTEC.
Обновлена общая стилизация и визуальное оформление симулятора.
Исправлено сохранение выбора контроллера: SYNTEC 6MB остаётся выбранным после перезагрузки страницы и изменения controller в URL.
Версия 1.6 — 11.11.2025
Добавлена полная поддержка станка с ЧПУ в симуляторе: оси X/Y/Z, шпиндель и модель инструмента теперь двигаются синхронно с симулируемой траекторией, а не остаются статичными.
Реализован полноценный режим JOG: ручное перемещение по каждой оси с настраиваемым шагом / непрерывным движением, а также переключателем RAPID, с учётом пределов хода станка.
Добавлена логика возврата в машинных координатах G53: симулятор теперь поддерживает последовательность «возврат в ноль машины» в том же порядке, что и реальный контроллер (сначала безопасное Z, затем X/Y).
При нажатии STOP симулятор теперь визуально возвращает модель станка в ноль машины, так что последовательность базирования хорошо видна в 3D-окне.
При нажатии START добавлен симулируемый «подход к началу программы»: станок перемещается из нуля машины в безопасное положение над первым блоком программы, затем переходит в рабочую систему координат (G54) перед началом движений резания.
Введена унифицированная проверка пределов для всех движений станка (симуляция, JOG, G53): любая попытка выйти за допустимый диапазон хода ограничивается и сопровождается предупреждением OVERTRAVEL.
Улучшено поведение камеры во время движения станка: вид остаётся читаемым при JOG, возврате в ноль и подходе к началу обработки, что упрощает слежение за шпинделем и инструментом.
Добавлены конфигурационные хуки для включения/отключения поддержки кинематики станка независимо от классического режима «только траектория», чтобы старые рабочие процессы оставались совместимыми.
Performance Monitor — показывает FPS и использование памяти; переключатель в меню Help, состояние сохраняется через localStorage.
Coords Box — отображает координаты курсора X/Y/Z (raycast по модели); переключатель в меню Help, состояние сохраняется.
Добавлена поддержка пек-циклов (peck drilling) с автоматическим отходом и управлением подачей.
Реализована команда G04 dwell (P/X) с уведомлением в реальном времени во время симуляции.
Добавлены команды M00 (Остановка программы) и M01 (Опциональная остановка) — полное поведение Feed Hold с возможностью продолжения.
Добавлена кнопка «Опциональная остановка» с постоянным переключателем (на основе localStorage) для управления M01.
Улучшена синхронизация между dwell, feed-hold и контроллерами паузы для стабильного выполнения симуляции.
Усовершенствована логика распознавания M-кодов для предотвращения ложных срабатываний (например, M06, M13M09).
Версия 1.410 Beta — 22.08.2025
Добавлен генератор УП «Прямоугольный карман» для NCPlayer: модальное окно, загрузка в ACE, режимы explicit/macro
Версия 1.4 Beta — 22.08.2025
Новое: NC Assistant — встроенные подсказки для анализа/объяснения/исправления/рефакторинга; ответы адаптируются к языку интерфейса.
Новое: Автоматический вход в аккаунт MEBLEOS — тихое обновление токена, единый вход во всех вкладках, безопасный откат в режим гостя при ошибках.
Новое: Сохранение вида — положение/цель/зум камеры и трансформация модели (позиция/кватернион/масштаб) сохраняются для каждой программы и восстанавливаются при перезагрузке.
UI: Улучшена отрисовка траектории — более толстая линия, лучшая видимость; отключён depthTest + polygonOffset для предотвращения артефактов наложения.
UI: Переработан вспомогательный грид (двойная плотность, мягкие цвета, прозрачность).
Стабильность: цикл перерисовки Tween/OrbitControls дебаунсирован; предотвращает лишние кадры при взаимодействии.
Парсер: более безопасное чтение чисел при переключении метрическая/дюймовая система; более строгая нормализация порядка адресов (N G M T S F X Y Z I J K R).
Безопасность: обновления проекции защищены; параметры near/far камеры зажаты, чтобы избежать обрезания после восстановления.
Локализация: словарь расширен (скрытые подсказки, системное правило «без списков»); уточнены тексты плейсхолдеров.
Добавлена полная поддержка интерфейса справа налево (RTL) для арабского, иврита, персидского, пушту и урду.
Версия 1.204 Beta — 29.07.2025
Полная поддержка цикла сверления G81 с правильным парсингом координат (X, Y, Z, R, F).
Каждый шаг сверления формирует последовательность: G0 XY → G1 Z → G0 Z с корректной обработкой G98 / G99.
Поддержка макропеременных и выражений в координатах G81 (X[#100] Y[#101]).
Исключено повторное сверление одной и той же точки (sameAsLast check).
Улучшено сопоставление строк для отладки: lineMap теперь содержит суффиксы .0, .1, .2 для фаз сверления.
Динамическое вычисление координат (литералы и макровыражения) с логированием.
Переработана структура fragmentFile.push для точной трассировки.
Версия 1.203 Beta — 27.07.2025
Добавлено 10 демо-программ для симуляции (макросы, подпрограммы, логика G-кода).
Исправлена ошибка с отсутствием траектории при G0 без G1.
Реализован механизм «фиктивного» движения для запуска симуляции.
Обновлена функция simulateStepsFromLine для плавной анимации дуг (G2/G3).
Введена улучшенная animateToolThroughSegment с учётом speedMultiplier и сопровождения камеры.
Версия 1.202 Beta — 25.07.2025
Добавлено обязательное принятие условий использования (Regulamin) перед доступом к NCPlayer.
Исправлена обработка оператора MOD в сложных условиях.
Добавлено сообщение при отказе принять условия: «Продолжая использовать этот сайт, вы должны принять условия».
Логирование принятия условий: дата, IP, браузер.
Версия 1.201 Beta — 22.07.2025
Поддержка G65 с передачей параметров (#1, #2, … в подпрограмме).
Исправлена логика WHILE...DO...END с вложенными выражениями.
Поддержка глубоко вложенных функций FANUC с безопасной заменой.
Добавлен режим предварительной обработки кода с развернутым линейным G-кодом.
Новая система логирования: компактный и подробный режимы.
Увеличена глубина рекурсии до 10 000.
Добавлена панель переменных (#100–#199, #500–#531) в реальном времени.
Улучшена визуализация траектории для циклов и спиралей.
Новый браузер демо-программ с предпросмотром траектории.
Версия 1.103 — 16.07.2025
Добавлена поддержка условных переходов с использованием синтаксиса IF [...] GOTO xxx и логических операторов: EQ, NE, GT, GE, LT, LE, включая поддержку вложенных выражений и математических функций (SIN, FIX, ROUND и др.).
Исправлена ошибка, из-за которой было невозможно присвоить отрицательные значения локальным макропеременным (например, #2 = -0.51504).
Версия 1.102 — 15.07.2025
Добавлена поддержка условных переходов с синтаксисом IF [...] GOTO xxx и логическими операторами: EQ, NE, GT, GE, LT, LE.
Парсер выражений теперь поддерживает подстановку переменных и вложенные математические функции внутри условий IF.
Добавлена защита от бесконечного цикла — симуляция останавливается после выполнения более 500 000 строк, с предупреждением в консоли и всплывающим сообщением.
Добавлена поддержка безусловных переходов GOTO: GOTO 120 переходит на строку N120 в той же программе O; форматы вида GOTO N120 отклоняются как некорректные.
Добавлена поддержка M98 Pxxxx L#yyy — параметр L теперь может быть переменной (например, #512), вычисляемой перед повтором подпрограммы.
Версия 1.101 — 14.07.2025
Добавлена полная поддержка математических выражений с использованием функций FANUC внутри адресных выражений (например, X[SIN[...]], #100=ROUND[...] и т.д.).
Вложенные функции теперь корректно вычисляются, например: X[SIN[FIX[ROUND[#100+10]]]], X[COS[FUP[ATAN[TAN[45]]+0.1]]].
Адресные выражения вида G#123, T#125, L#512, S[#511] теперь вычисляются динамически во время симуляции.
Реализована автоматическая обработка «слипшихся» вызовов функций (например, ROUND10.4 → ROUND[10.4]).
Добавлена защита от бесконечной рекурсии: максимальная глубина вычислений — 20 уровней.
Улучшено логирование каждого вызова функции и подстановки для отладки сложных выражений.
Версия 1.002 — 09.07.2025
Добавлена функция mappingEntryForJump для корректной пошаговой навигации в программах с вызовами подпрограмм.
Версия 1.001 — 08.07.2025
Добавлена поддержка M97 Pxxxx — переход на строку Nxxxx в текущей программе без вызова подпрограммы.
M97 теперь работает независимо от наличия M98, как в основной программе, так и в подпрограммах.
Добавлена поддержка M02 и M30 — немедленное завершение парсинга при встрече этих команд.
Добавлена поддержка вызова подпрограммы M98 Pxxxx — вызов Oxxxx с возвратом через M99.
Добавлена поддержка M98 Pxxxx Ln — вызов подпрограммы Oxxxx n раз с использованием параметра L.
Добавлена поддержка M99 — возврат в вызывающую программу после M98.
Добавлена поддержка M99 Pxxxx — возврат в вызывающую программу и продолжение с указанной строки Nxxxx.
Версия 0.133 — 06.07.2025
Добавлена поддержка форматирования чисел в G-коде по допускам:
normalizeGCode_dot() — вставляет точку, если она отсутствует (например, F0 → F0.).
normalizeGCode_dot0() — добавляет .0 (например, Z30 → Z30.0).
normalizeGCode_dot00() — добавляет .00 (например, R40.5 → R40.50).
normalizeGCode_dot000() — добавляет .000 (например, Z-2 → Z-2.000).
Версия 0.132 — 05.07.2025
Добавлена кнопка toggleResizeEditor — переключение между компактной шириной, шириной по самой длинной строке и полной шириной редактора.
Автоматическое изменение ширины редактора в зависимости от содержимого G-кода.
Добавлен модальный инструмент Renumber Blocks (N) с функциями:
Renumber All Blocks
Renumber without blank and comments
Renumber existing Blocks only
Renumber without Block Skip Char
convertIJKtoR — сохраняет Nxxx, удаляет модальные G2/G3, рассчитывает R для INC/ABS, удаляет IJK, добавляет R, унифицирует обработку центра.
Переход на внутреннюю иерархическую структуру меню для лучшей организации.
Добавлена функция Refresh Plot — повторный парсинг и загрузка текущего NC-кода без автосимуляции.
Refresh Plot также сохраняет программу перед перезагрузкой и обновляет время последнего сохранения.
Добавлена поддержка Block Skip (/) в пошаговом режиме симуляции.
Добавлены функции переключения между 2D и 3D видами из главного меню.
Добавлена возможность вставки и удаления символов Block Skip (/) на указанных строках или для всей программы.
Добавлена возможность удалить все строки, начинающиеся с Block Skip (/).
Версия 0.131 — 04.07.2025
• Новый режим камеры "Следовать за инструментом": автоматическое отслеживание положения инструмента в реальном времени во время симуляции.
• Функция "Fit to View": автоматическое центрирование и масштабирование всей траектории инструмента.
• Опция "View Center of Tool": фокусировка вида на текущей позиции инструмента.
• Конвертация дуг: 6 функций преобразования G-кода для дуг (IJK ↔ R, ABS ↔ INC) с поддержкой плоскостей G17/G18/G19 и старого синтаксиса (G02/G03).
• Удаление мусора: функция очистки G-кода от лишних или повреждённых строк.
• Режим "Pan Mode" в 3D: перемещение сцены мышью с переключаемым курсором-«рукой».
• Улучшенный движок конверсии: сохранение режима дуг между последовательными строками без явных G2/G3.
• Исправлена конвертация IJK→R: удаляются лишние оси K в плоскости G17.
• Все результаты конверсии теперь автоматически устанавливают статус ArcMode (IJK_INC, IJK_ABS, R) в worker.
Версия 0.130 — 02.07.2025
• jumpToBottom(): быстрый переход в конец программы NC. Кнопка доступна в интерфейсе.
• jumpToTop(): мгновенная прокрутка редактора в начало программы.
• Форматирование G/M/T:
- Сокращение G00–G09 → G0–G9, M00–M09 → M0–M9, T00–T09 → T0–T9.
- Нормализация G0–G9 → G00–G09 и аналогично для M и T.
• Печать текущего вида: сохранение 3D-вида симуляции как PNG и открытие в новой вкладке для скачивания или печати.
• Управление символом EOB (;): функции addeob() и deleteeob() для добавления или удаления ; в конце строк.
• Печать программы: полная или выборочная печать выделенных строк кода.
Версия 0.129 — 01.07.2025
• Поддержка Copy/Cut/Paste/Undo/Redo с горячими клавишами и через меню.
• Выбор диапазона строк через кнопки с подсветкой в ACE-редакторе и возможностью копирования.
• Преобразование координат:
- G91 → G90 с перерасчётом всех координат в абсолютные.
- G90 → G91 с пересчётом всех перемещений в относительные.
- Удаление G90 и вставка G91 в начале.
• Меню "Format": удаление номеров строк, лишних пробелов, пустых строк и комментариев, преобразование регистра.
• Интеллектуальное форматирование с учётом выбранного типа ЧПУ.
Версия 0.128 — 29.06.2025
• Построчная расшифровка G-кода в реальном времени с отслеживанием состояния модальных групп, позиции инструмента и кодов M/S/T.
• Новые переменные состояния: currentModalStateAtLine, currentPositionAtLine, miscCodesAtLine.
• jumpToLine(row) теперь обновляет панель расшифровки по сохранённым данным.
• Переключение конфигурации станка, по умолчанию — FANUC 0i.
• Дополнительные виды камеры в меню "Вид", включая изометрию.
Версия 0.127 — 28.06.2025
• Отображение координат ABS/REL: координаты в абсолютном и относительном режимах обновляются в реальном времени во время симуляции.
• Расчёт относительных координат: вычисление на основе предыдущего положения инструмента для каждой строки.
• Трекинг модальных групп G-кодов FANUC: поддержка групп 01–20 с актуализацией активных кодов в реальном времени.
• Динамическая таблица модальных групп: формируется на основе официальных карт Fanuc.
• Мониторинг кодов M/S/T/F/D/H: значения отображаются в реальном времени во время симуляции.
• Визуальная таблица значений M/S/T/F/D/H: добавлена в дополнительную информационную панель.
• Улучшена логика simulateSteps: парсинг и применение модальных и вспомогательных кодов выполняются динамически.
• Поддержка мультиформатных G-кодов: совместимость с форматами G0/G00/G01/G1 и аналогичными.
Версия 0.126 — 27.06.2025
• Поддержка заготовки: параметры зазора и позиционирования, автоматическое определение размеров заготовки по модели.
• Удаление заготовки: кнопка для очистки параметров из localStorage.
• Drag & Drop загрузка: поддержка перетаскивания файлов .nc прямо в редактор.
• Модальное окно замены инструмента: адаптировано под мобильные устройства.
Версия 0.125 — 26.06.2025
• Позиционирование инструмента: при правом клике по строке G-кода инструмент в 3D-сцене перемещается в соответствующую точку траектории.
• Горячие клавиши F2+...: добавлен экранный хинт с подсказками.
• Умный поиск G-кода: 3 режима поиска — общий, в выделении и по диапазону строк.
• Функция «Заменить»: изменение текста G-кода на месте.
• UI-улучшения: новый технический шрифт Google, переработанные выпадающие меню с выравниванием и отображением сочетаний клавиш справа.
• Закрытие модальных окон: по клавише ESC, включая диалог открытия файла.
• Блокировка ввода при использовании хоткеев: предотвращает случайный набор при удержании клавиш.
• Сохранение программы: добавлено в верхнее меню со статусом и отметкой времени.
Версия 0.124 — 25.06.2025
• Исправлена проблема двойного скролла в блоке NC-программы.
• Экспорт программы: возможность выгрузки NC-кода.
• Мобильная версия: адаптивный режим с ограниченной функциональностью.
• Выбор активной плоскости: улучшено в режиме симуляции.
• Поведение кнопок мыши: переработано в области симуляции.
• Сброс подсветки траектории: исправлен баг после нажатия «Стоп».
• Подсветка кода: добавлена цветовая разметка при парсинге.
Версия 0.1 — 24.06.2025
• Хранение ID программы: в localStorage с использованием UUID.
• Автоперенаправление: с параметром ?nc=UUID при отсутствии в URL.
• Сохранение программы: запись содержимого редактора во временный файл.
• Демо-программа: загрузка и визуализация примера G-кода.
• Индикатор строки: синхронизирован с позицией в редакторе.
• Ресайзер редактора: изменение ширины панели G-кода вручную.
• Два режима симуляции: SIMULATION и INSPECTION.
• Сохранение скорости: ползунок хранит значение в localStorage.
• Полноэкранный режим: состояние сохраняется и восстанавливается.
• Состояние правой панели: сохранение в localStorage.
• Состояние трека (Trail): хранение в localStorage.
• Сетка: переключение mm/cm/dm в зависимости от зума.
• Выбор вида (2D/3D): сохранение в localStorage.
• Клик по строке редактора: перемещение инструмента в 3D в соответствующую точку.
• Функция «From L»: запуск симуляции с выбранной строки.
• Пошаговая симуляция с L: анимация запуска с любого кадра.
• Панель «Что нового»: загрузка из whatsnew.dat и вызов из меню.
• Поддержка модальных окон: с затемнением фона и вертикальной прокруткой.
• Улучшения ACE-редактора: центрирование строки, очистка подсветки.
• Возобновление симуляции: корректное восстановление с паузы.
• Анимация движения инструмента: плавное перемещение с TWEEN.
• Парсинг сегментов G-кода: поддержка фрагментированных блоков и отчёт об ошибках.
• Центрирование строки: при переходе к строке в редакторе.
• Синхронизация кнопок управления: верхних и центральных.
• Хранение параметров: вид, fullscreen, сетка, скорость, трек, L.
• Подготовка под расширение диалогов: поддержка overlay.
• Сохранение состояния «From L»: работает после перезагрузки страницы.
• Очистка при остановке: сброс маркеров, пауза, стоп-анимация.