Нов работен процес за създаване на материал за фрезови и стругови режими.
Динамична промяна на материала без презареждане на страницата за поддържани фрезови операции.
Добавен е режим за редактиране на материал с екранен етикет и преместване на материала в работната зона.
Подобрени са прозорците за добавяне/изтриване на материал и настройката на стругова заготовка.
Подобрена е мобилната версия на сайта и разположението на модалните прозорци на малки екрани.
Добавено е действие STOP за аварийно спиране, нулиране на програмата и възстановяване при зависване в браузъра.
Добавен е индикатор за онлайн потребители.
Прозорците What's New, Hotkeys, 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 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.
Подобрена е работата с макро променливи: присвоените стойности се показват в таблицата с променливи по време на симулация.
Подобрена е съвместимостта на parser-а със синтаксиса на различни контролери, като файловете за симулация за FANUC, HAAS и SYNTEC остават отделни.
Обновени са общата стилизация и визуалното представяне на симулатора.
Поправено е запазването на избора на контролер: SYNTEC 6MB остава избран след презареждане на страницата и промени в параметъра controller в URL.
Версия 1.6 — 11.11.2025
Добавена е пълна поддръжка на CNC машината в симулатора: осите 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, състоянието се запазва.
Версия 1.5 — 25.10.2025
Пълна имплементация на всички цикли за пробиване (G81, G82, G83, G73, G85, G80).
Добавена поддръжка на пек-цикли с автоматично изтегляне и контрол на подаването.
Реализирана е команда G04 dwell (P/X) с известие в реално време по време на симулация.
Добавена е поддръжка на M00 (Прекъсване на програмата) и M01 (Опционално спиране) — пълно поведение на Feed Hold с възобновяване на изпълнението.
Добавен е бутон Optional Stop с постоянен превключвател (на база localStorage) за управление на M01.
Подобрена е синхронизацията между dwell, feed-hold и контролерите за пауза за по-плавна и надеждна симулация.
Подобрена е логиката за разпознаване на M-кодове, за да се предотвратят фалшиви задействания (напр. M06, M13M09).
Версия 1.410 Beta — 22.08.2025
Добавен генератор на NC програми „Правоъгълен джоб“ за NCPlayer: модален диалог, зареждане в ACE, режими explicit/macro.
Версия 1.4 Beta — 22.08.2025
Ново: NC Assistant — вграден анализ/обяснение/поправка/рефакторинг; езиково-специфични отговори според езика на интерфейса.
Ново: Автоматично влизане в MEBLEOS акаунт — безшумно обновяване на токен, еднократен вход между раздели, безопасно преминаване в гост режим при грешка.
Ново: Запазване на изгледа — позицията на камерата, целта, увеличението и трансформацията на модела (позиция/кватернион/мащаб) се съхраняват за всяка програма и се възстановяват при презареждане.
UI: Подобрено визуализиране на траекториите на инструмента (по-дебела линия, по-добра видимост; изключен depthTest + polygonOffset за предотвратяване на z-fighting).
UI: Преработена мрежа (grid helper) — двойна плътност, по-меки цветове и прозрачност.
Стабилност: Обновяването на 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 проверка).
Подобрено съпоставяне на редове за дебъгване: 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[...] и др.).
Добавен бутон toggleResizeEditor — превключване между компактен режим, ширина според най-дългия ред и пълна ширина на редактора.
Автоматично регулиране на ширината на редактора според съдържанието на G-кода.
Добавен модален инструмент Преномериране на блокове (N) с функции:
Преномерирай всички блокове
Преномерирай без празни и коментарни редове
Преномерирай само съществуващите блокове
Преномерирай без символ за пропуск на блок
convertIJKtoR — запазва Nxxx, премахва модални G2/G3, изчислява R за INC/ABS, премахва IJK, добавя R и уеднаквява обработката на центъра.
Преминаване към вътрешна йерархична структура на менюто за по-добра организация.
Добавена функция Refresh Plot — повторно парсиране и зареждане на текущия NC код без автоматична симулация.
Refresh Plot също така запазва програмата преди презареждане и актуализира времето на последното запазване.
Добавена поддръжка на Block Skip (/) в режим на поетапна симулация.
Добавени функции за превключване между 2D и 3D изгледи от главното меню.
Добавена възможност за вмъкване и премахване на символи за пропускане на блокове (/) на избрани редове или за цялата програма.
Добавена възможност за изтриване на всички редове, започващи със символа за пропускане на блок (/).
Версия 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 в началото.
• Меню „Форматиране“: премахване на номера на редове, излишни интервали, празни редове и коментари; промяна на регистъра (главни/малки букви).
• Интелигентно форматиране според избрания тип CNC управление.
Версия 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
• Поддръжка на заготовка (Stock): параметри за отстояние и позициониране, автоматично определяне на размера на заготовката от модела.
• Изчистване на заготовката: бутон за изтриване на параметрите от localStorage.
• Зареждане чрез Drag & Drop: поддръжка за пускане на .nc файлове директно в редактора.
• Модален прозорец за смяна на инструмент: адаптиран за мобилни устройства.
Версия 0.125 — 26.06.2025
• Позициониране на инструмента: щракване с десен бутон върху ред от G-кода премества инструмента в 3D сцената до съответната точка по траекторията.
• Бързи клавиши F2+...: добавен екранен подсказвач с клавишни комбинации.
• Интелигентно търсене в G-кода: 3 режима на търсене — общо, в избран фрагмент и по диапазон от редове.
• Функция за замяна: редактиране на G-кода директно в текста.
• Подобрения в интерфейса: нов технически шрифт от 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.
• Състояние на траекторията: запазва се в localStorage.
• Мрежа (Grid): превключва mm/cm/dm в зависимост от нивото на увеличение.
• Избор на изглед (2D/3D): съхранява се в localStorage.
• Щракване върху ред в редактора: премества инструмента в 3D сцената до съответната точка.
• Функция „From L“: стартира симулация от избрания ред.
• Постъпкова симулация от L: анимацията започва от произволен блок.
• Панел „Какво ново“: зарежда се от whatsnew.dat и е достъпен от менюто.
• Поддръжка на модални прозорци: с потъмняване на фона и вертикално превъртане.
• Подобрения в ACE редактора: центриране на реда, изчистване на подсветката.
• Възобновяване на симулацията: коректно възстановяване след пауза.
• Анимация на движението на инструмента: плавен преход с TWEEN.
• Парсиране на сегменти от G-код: поддържа фрагментирани блокове и съобщения за грешки.
• Центриране на реда: при скок към ред в редактора.
• Синхронизация на бутоните за управление: горни и централни контроли.
• Съхранение на параметри: изглед, цял екран, мрежа, скорост, траектория, L.
• Подготовка за разширени диалози: поддръжка на overlay слой.
• Запазване на състоянието „From L“: работи след презареждане на страницата.
• Почистване при спиране: нулира маркери, паузи и спира анимацията.