Nowy proces tworzenia materiału dla trybów frezowania i toczenia.
Dynamiczna zmiana materiału bez przeładowania strony dla obsługiwanych operacji frezowania.
Dodano tryb edycji materiału z ekranową etykietą edycji oraz przesuwaniem materiału w obszarze roboczym.
Ulepszono okna dodawania/usuwania materiału i konfigurację półfabrykatu tokarskiego.
Ulepszono działanie mobilnej wersji strony i układ okien modalnych na małych ekranach.
Dodano akcję STOP do awaryjnego zatrzymania, resetu programu i odzyskania kontroli przy zawieszeniu procesu w przeglądarce.
Dodano wskaźnik użytkowników online.
Okna What's New, skrótów klawiszowych, Measure Tools i materiału przeniesiono do stylu modalnego NCPlayer.
Zlokalizowano Bounds, Measure Tools, liczbę linii, czas ostatniego zapisu i jednostki w panelu informacji.
Usunięto zduplikowany przycisk Optional Stop z górnego paska; funkcja pozostała w menu.
Ulepszono prawy panel informacji: ukryto przestarzały Total Duration, a dane Bounds pozostają przetłumaczone.
Wersja 2.13 — 24.04.2026
Dodano motyw dzienny i nocny z zapisywaniem wyboru w localStorage.
Dodano stylizację zależną od motywu dla menu, okien modalnych, prawych paneli sterowników, tabel, edytora ACE i teł symulacji.
Dodano przełącznik Solid Simulation w menu View oraz przetłumaczono interfejs Simulation Settings.
Ulepszono układ mobilny, w tym działanie Switch, sterowanie symulacją, bezpieczne pozycjonowanie nad stopką i zapamiętywanie aktywnego panelu.
Ulepszono dostęp z menu do NC Assistant, wyboru sterownika i funkcji Optional Stop.
Wersja 2.12 — 23.04.2026
Dodano raport Program Runtime w menu Tools, tworzony na podstawie wstępnie przetworzonego programu.
Raport pokazuje dla każdego narzędzia łączną drogę i czas dla ruchów szybkich, posuwów, łuków, cykli stałych, zatrzymań i zmian narzędzia oraz zawiera ustawienia Rapid Override i Feedrate Override.
Dodano nowy 26-ścienny manipulator widoku 3D w formie bryły typu rhombicuboctahedron, z klikalnymi głównymi płaszczyznami, fazami krawędzi i fazami narożnymi, w tym trójkątem XYZ dla widoku izometrycznego.
Dodano obowiązkową autoryzację przez bezpłatne konto NCPlayer dla chronionych działań, takich jak otwieranie własnych plików NC.
Wersja 2.11 — 22.04.2026
Dodano Inspection Mode do analizy symulacji, pozwalający badać wygenerowaną trajektorię bezpośrednio w oknie podglądu.
Kliknięcie punktu ścieżki narzędzia przenosi teraz do odpowiadającej linii źródłowej w edytorze ACE, a po najechaniu wyświetlany jest tooltip z numerem linii i jej treścią.
Dodano podświetlenie wybranego segmentu, strzałkę kierunku oraz kompaktowy popup z Start XYZ, End XYZ, Delta XYZ, stanem modalnym i wartościami makr/danych pomocniczych, jeśli są dostępne.
Dodano eksport Toolpath to DXF z menu File, aby można było zapisać zasymulowaną ścieżkę po parserze zależnym od kontrolera i rozwinięciu makr.
Dodano okno DXF Export Settings z opcjami LINE/POLYLINE, trybu projekcji, organizacji warstw, uwzględniania ruchów szybkich i dokładności poziomów Z.
Wersja 2.10 — 20.04.2026
Dodano modalny formularz opinii, dzięki któremu użytkownicy mogą podzielić się doświadczeniem z NCPlayer, zadać pytania, zgłosić problemy albo zaproponować brakujące funkcje i dodatkową obsługę sterowań CNC.
Dodano linki do informacji prawnych w stopce, w tym Terms & Conditions, Privacy Policy, Cookie Policy, Refund Policy oraz Legal Information, z zachowaniem zależnym od języka tam, gdzie dostępne są lokalizowane strony prawne.
Dodano osobny formularz modalny “Found an error?” do zgłaszania błędów, nieprawidłowego działania lub podejrzanych problemów bezpośrednio z interfejsu.
Dodano pierwszy etap obsługi symulacji toczenia, w tym tryb FANUC Lathe.
Dodano wybieralne opcje wyświetlania narzędzia tokarskiego: lewe/prawe narzędzie oraz widok z przodu/z tyłu.
Dodano wybór trybu współrzędnej X dla symulacji tokarskiej: reprezentacja średnicy lub promienia.
Dodano dedykowany model narzędzia tokarskiego zamiast używania kształtu narzędzia frezarskiego.
Dodano tworzenie cylindrycznego półfabrykatu dla symulacji tokarskiej przez Add/Delete Material — Lathe.
Istniejący przepływ pracy dla prostokątnego materiału w symulacji frezowania pozostaje bez zmian, natomiast tryb tokarski używa teraz osobnego przepływu dla półfabrykatu cylindrycznego.
Wersja 2.0 — 19.04.2026
Projekt został przeniesiony na nc.cncpassport.com i jest teraz rozwijany w ramach tego projektu.
Dodano obsługę serii HAAS VF, w tym osobny profil kontrolera HAAS VF-1 i konfigurację symulatora.
Dodano obsługę SYNTEC 6MB z osobnym plikiem symulacji i obsługą składni makr Syntec.
Dodano obsługę makroprogramowania Syntec: przypisania :=, IF/ELSE/END_IF, WHILE/END_WHILE oraz FOR/END_FOR.
Ulepszono obsługę zmiennych makro: przypisane wartości są widoczne w tabeli zmiennych podczas symulacji.
Poprawiono zgodność parsera ze składnią różnych kontrolerów, zachowując oddzielne pliki symulacji dla FANUC, HAAS i SYNTEC.
Zaktualizowano ogólną stylistykę i wygląd interfejsu symulatora.
Naprawiono zapamiętywanie wyboru kontrolera: SYNTEC 6MB pozostaje wybrany po odświeżeniu strony i zmianach parametru controller w URL.
Wersja 1.6 — 11.11.2025
Dodano pełną obsługę maszyny CNC w symulatorze: osie X/Y/Z, wrzeciono i model narzędzia poruszają się teraz synchronicznie z symulowaną ścieżką narzędzia zamiast pozostawać nieruchome.
Zaimplementowano pełny tryb JOG: ręczne przesuwanie każdej osi z konfigurowalnym krokiem / ruchem ciągłym, wraz z przełącznikiem RAPID, przy zachowaniu ograniczeń zakresu przesuwu maszyny.
Dodano logikę powrotu w układzie współrzędnych maszyny G53: symulator obsługuje teraz sekwencje „powrotu do zera maszyny” w takiej samej kolejności jak rzeczywisty sterownik (najpierw bezpieczne Z, potem X/Y).
Przy naciśnięciu STOP symulator wykonuje teraz wizualny „powrót do zera maszyny” modelu maszyny, dzięki czemu sekwencja bazowania jest wyraźnie widoczna w widoku 3D.
Przy naciśnięciu START dodano symulowany „najad do początku programu”: maszyna przechodzi z zera maszyny do bezpiecznej pozycji nad pierwszym blokiem programu, a następnie przełącza się na roboczy układ współrzędnych (G54) przed rozpoczęciem ruchów skrawających.
Wprowadzono ujednoliconą kontrolę krańcówek dla wszystkich ruchów maszyny (symulacja, JOG, G53): każda próba wyjścia poza dozwolony zakres przesuwu jest ograniczana i zgłaszana jako ostrzeżenie OVERTRAVEL.
Ulepszono zachowanie kamery podczas ruchów maszyny: widok pozostaje czytelny podczas JOG, powrotu do zera oraz najazdu na początek programu, co ułatwia śledzenie wrzeciona i narzędzia.
Dodano haki konfiguracyjne umożliwiające włączanie/wyłączanie obsługi kinematyki maszyny niezależnie od klasycznego trybu „tylko ścieżka narzędzia”, tak aby dotychczasowe przepływy pracy pozostały kompatybilne.
Performance Monitor — pokazuje FPS i użycie pamięci; przełącznik w menu Help, stan zapisywany w localStorage.
Coords Box — wyświetla współrzędne kursora X/Y/Z (raycast po modelu); przełącznik w menu Help, stan jest zapisywany.
Dodano obsługę cykli wiercenia stopniowego (peck drilling) z automatycznym cofnięciem i kontrolą posuwu.
Zaimplementowano polecenie G04 (zatrzymanie – P/X) z powiadomieniem w czasie rzeczywistym podczas symulacji.
Dodano polecenia M00 (zatrzymanie programu) i M01 (zatrzymanie opcjonalne) — pełne zachowanie trybu Feed Hold z możliwością kontynuacji.
Wprowadzono przycisk „Zatrzymanie opcjonalne” z trwałym przełącznikiem (opartym na localStorage) do obsługi M01.
Ulepszono synchronizację pomiędzy zatrzymaniem (dwell), trybem Feed Hold i kontrolerami pauzy, aby zapewnić stabilny przebieg symulacji.
Udoskonalono logikę rozpoznawania kodów M, aby zapobiec fałszywym wywołaniom (np. M06, M13M09).
Wersja 1.410 Beta — 22.08.2025
Dodano generator programu NC „Kieszeń prostokątna” dla NCPlayera: okno modalne, ładowanie do ACE, tryby jawny/makro (explicit/macro)
Wersja 1.4 Beta — 22.08.2025
Nowość: NC Assistant — wbudowane podpowiedzi do analizy/wyjaśniania/poprawy/refaktoryzacji; odpowiedzi dostosowują się do języka interfejsu.
Nowość: Automatyczne logowanie do konta MEBLEOS — ciche odświeżanie tokena, jednokrotne logowanie we wszystkich kartach, bezpieczny powrót do trybu gościa w przypadku błędów.
Nowość: Zapisywanie widoku — pozycja/cel/zoom kamery i transformacja modelu (pozycja/kwaternion/skala) są zapisywane dla każdego programu i odtwarzane po przeładowaniu.
Stabilność: cykl odświeżania Tween/OrbitControls zdebounce’owany; zapobiega zbędnym klatkom przy interakcji.
Parser: bezpieczniejsze odczyty liczb przy przełączaniu systemu metryczny/calowy; ściślejsza normalizacja kolejności adresów (N G M T S F X Y Z I J K R).
Bezpieczeństwo: aktualizacje projekcji zabezpieczone; parametry near/far kamery ograniczone, aby uniknąć obcinania po przywróceniu.
Obsługa G65 z przekazywaniem parametrów (#1, #2, … w podprogramie).
Naprawiono logikę WHILE...DO...END z zagnieżdżonymi wyrażeniami.
Wsparcie dla głęboko zagnieżdżonych funkcji FANUC z bezpiecznym zastępowaniem.
Dodano tryb preprocessingu kodu z rozwiniętym liniowym G-kodem.
Nowy system logowania: tryb kompaktowy i szczegółowy.
Zwiększona głębokość rekurencji do 10 000.
Dodano panel zmiennych (#100–#199, #500–#531) w czasie rzeczywistym.
Ulepszono wizualizację trajektorii dla cykli i spiral.
Nowy przeglądarka programów demo z podglądem trajektorii.
Wersja 1.103 — 16.07.2025
Dodano obsługę skoków warunkowych z użyciem składni IF [...] GOTO xxx i operatorów logicznych: EQ, NE, GT, GE, LT, LE, w tym wsparcie dla zagnieżdżonych wyrażeń i funkcji matematycznych (SIN, FIX, ROUND i inne).
Naprawiono błąd, przez który nie można było przypisać wartości ujemnych do lokalnych makro-zmiennych (np. #2 = -0.51504).
Wersja 1.102 — 15.07.2025
Dodano obsługę skoków warunkowych ze składnią IF [...] GOTO xxx i operatorami logicznymi: EQ, NE, GT, GE, LT, LE.
Parser wyrażeń obsługuje teraz podstawianie zmiennych i zagnieżdżone funkcje matematyczne wewnątrz warunków IF.
Dodano ochronę przed nieskończoną pętlą — symulacja zatrzymuje się po wykonaniu ponad 500 000 linii, z ostrzeżeniem w konsoli i komunikatem wyskakującym.
Dodano obsługę skoków bezwarunkowych GOTO: GOTO 120 przechodzi do linii N120 w tym samym programie O; formaty w rodzaju GOTO N120 są odrzucane jako niepoprawne.
Dodano obsługę M98 Pxxxx L#yyy — parametr L może być teraz zmienną (np. #512), obliczaną przed powtórzeniem podprogramu.
Wersja 1.101 — 14.07.2025
Dodano pełną obsługę wyrażeń matematycznych z użyciem funkcji FANUC wewnątrz wyrażeń adresowych (np. X[SIN[...]], #100=ROUND[...] itd.).
Ulepszono logowanie każdego wywołania funkcji i podstawienia dla debugowania złożonych wyrażeń.
Wersja 1.002 — 09.07.2025
Dodano funkcję mappingEntryForJump dla poprawnej nawigacji krok po kroku w programach z wywołaniami podprogramów.
Wersja 1.001 — 08.07.2025
Dodano obsługę M97 Pxxxx — skok do linii Nxxxx w bieżącym programie bez wywołania podprogramu.
M97 działa teraz niezależnie od obecności M98, zarówno w programie głównym, jak i w podprogramach.
Dodano obsługę M02 i M30 — natychmiastowe zakończenie parsowania przy napotkaniu tych komend.
Dodano obsługę wywołania podprogramu M98 Pxxxx — wywołanie Oxxxx z powrotem przez M99.
Dodano obsługę M98 Pxxxx Ln — wywołanie podprogramu Oxxxx n razy z użyciem parametru L.
Dodano obsługę M99 — powrót do programu wywołującego po M98.
Dodano obsługę M99 Pxxxx — powrót do programu wywołującego i kontynuacja od wskazanej linii Nxxxx.
Wersja 0.133 — 06.07.2025
Dodano obsługę formatowania liczb w G-kodzie według tolerancji:
normalizeGCode_dot() — wstawia kropkę, jeśli jej brakuje (np. F0 → F0.).
normalizeGCode_dot0() — dodaje .0 (np. Z30 → Z30.0).
normalizeGCode_dot00() — dodaje .00 (np. R40.5 → R40.50).
normalizeGCode_dot000() — dodaje .000 (np. Z-2 → Z-2.000).
Wersja 0.132 — 05.07.2025
Dodano przycisk toggleResizeEditor — przełączanie między szerokością kompaktową, szerokością według najdłuższej linii i pełną szerokością edytora.
Automatyczna zmiana szerokości edytora w zależności od zawartości G-kodu.
Dodano narzędzie modalne Renumber Blocks (N) z funkcjami:
Renumber All Blocks
Renumber without blank and comments
Renumber existing Blocks only
Renumber without Block Skip Char
convertIJKtoR — zachowuje Nxxx, usuwa modalne G2/G3, oblicza R dla INC/ABS, usuwa IJK, dodaje R, ujednolica obsługę środka.
Przejście na wewnętrzną hierarchiczną strukturę menu dla lepszej organizacji.
Dodano funkcję Refresh Plot — ponowne parsowanie i załadowanie bieżącego NC-kodu bez auto-symulacji.
Refresh Plot również zapisuje program przed przeładowaniem i aktualizuje czas ostatniego zapisu.
Dodano obsługę Block Skip (/) w trybie symulacji krok po kroku.
Dodano funkcje przełączania między widokami 2D i 3D z menu głównego.
Dodano możliwość wstawiania i usuwania symboli Block Skip (/) w wybranych liniach lub dla całego programu.
Dodano możliwość usunięcia wszystkich linii zaczynających się od Block Skip (/).
Wersja 0.131 — 04.07.2025
• Nowy tryb kamery „Podążaj za narzędziem”: automatyczne śledzenie pozycji narzędzia w czasie rzeczywistym podczas symulacji.
• Funkcja „Fit to View”: automatyczne centrowanie i skalowanie całej trajektorii narzędzia.
• Opcja „View Center of Tool”: fokus widoku na aktualnej pozycji narzędzia.
• Konwersja łuków: 6 funkcji konwersji G-kodu dla łuków (IJK ↔ R, ABS ↔ INC) z obsługą płaszczyzn G17/G18/G19 i starej składni (G02/G03).
• Usuwanie śmieci: funkcja czyszczenia G-kodu z nadmiarowych lub uszkodzonych linii.
• Tryb „Pan Mode” w 3D: przesuwanie sceny myszą z przełączanym kursorem „ręki”.
• Ulepszony silnik konwersji: zachowanie trybu łuków między kolejnymi liniami bez jawnych G2/G3.
• Naprawiono konwersję IJK→R: usuwane są zbędne osie K w płaszczyźnie G17.
• Wszystkie wyniki konwersji automatycznie ustawiają status ArcMode (IJK_INC, IJK_ABS, R) w workerze.
Wersja 0.130 — 02.07.2025
• jumpToBottom(): szybkie przejście na koniec programu NC. Przycisk dostępny w interfejsie.
• jumpToTop(): natychmiastowe przewinięcie edytora na początek programu.
• Formatowanie G/M/T:
- Skrócenie G00–G09 → G0–G9, M00–M09 → M0–M9, T00–T09 → T0–T9.
- Normalizacja G0–G9 → G00–G09 i analogicznie dla M i T.
• Drukowanie bieżącego widoku: zapis widoku 3D symulacji jako PNG i otwarcie w nowej zakładce do pobrania lub wydruku.
• Obsługa symbolu EOB (;): funkcje addeob() i deleteeob() do dodawania lub usuwania ; na końcu linii.
• Drukowanie programu: pełny lub wybiórczy wydruk zaznaczonych linii kodu.
Wersja 0.129 — 01.07.2025
• Obsługa Copy/Cut/Paste/Undo/Redo z użyciem skrótów klawiaturowych i przez menu.
• Wybór zakresu linii przez przyciski z podświetleniem w edytorze ACE i możliwością kopiowania.
• Konwersja współrzędnych:
- G91 → G90 z przeliczeniem wszystkich współrzędnych na absolutne.
- G90 → G91 z przeliczeniem wszystkich ruchów na względne.
- Usunięcie G90 i wstawienie G91 na początku.
• Menu "Format": usuwanie numerów linii, zbędnych spacji, pustych linii i komentarzy, konwersja wielkości liter.
• Inteligentne formatowanie z uwzględnieniem wybranego typu CNC.
Wersja 0.128 — 29.06.2025
• Tłumaczenie G-kodu linia po linii w czasie rzeczywistym z monitorowaniem stanu grup modalnych, pozycji narzędzia i kodów M/S/T.
• Nowe zmienne stanu: currentModalStateAtLine, currentPositionAtLine, miscCodesAtLine.
• jumpToLine(row) teraz aktualizuje panel tłumaczenia według zapisanych danych.
• Przełączanie konfiguracji maszyny, domyślnie — FANUC 0i.
• Dodatkowe widoki kamery w menu "Widok", w tym izometria.
Wersja 0.127 — 28.06.2025
• Wyświetlanie współrzędnych ABS/REL: współrzędne w trybach absolutnym i względnym aktualizowane w czasie rzeczywistym podczas symulacji.
• Obliczanie współrzędnych względnych: wyliczanie na podstawie poprzedniej pozycji narzędzia dla każdej linii.
• Śledzenie grup modalnych G-kodów FANUC: obsługa grup 01–20 z aktualizacją aktywnych kodów w czasie rzeczywistym.
• Dynamiczna tabela grup modalnych: tworzona na podstawie oficjalnych map Fanuc.
• Monitorowanie kodów M/S/T/F/D/H: wartości wyświetlane w czasie rzeczywistym podczas symulacji.
• Tabela wartości M/S/T/F/D/H: dodana do dodatkowego panelu informacyjnego.
• Ulepszona logika simulateSteps: parsowanie i stosowanie kodów modalnych i pomocniczych wykonywane dynamicznie.
• Obsługa wieloformatowych G-kodów: kompatybilność z formatami G0/G00/G01/G1 i podobnymi.
Wersja 0.126 — 27.06.2025
• Obsługa półfabrykatu: parametry luzu i pozycjonowania, automatyczne określenie wymiarów półfabrykatu na podstawie modelu.
• Usunięcie półfabrykatu: przycisk do wyczyszczenia parametrów z localStorage.
• Ładowanie Drag & Drop: obsługa przeciągania plików .nc bezpośrednio do edytora.
• Okno modalne wymiany narzędzia: dostosowane do urządzeń mobilnych.
Wersja 0.125 — 26.06.2025
• Pozycjonowanie narzędzia: kliknięcie prawym przyciskiem na linii G-kodu przesuwa narzędzie w scenie 3D do odpowiadającego punktu trajektorii.
• Skróty klawiszowe F2+...: dodano ekranowy hint z podpowiedziami.
• Inteligentne wyszukiwanie G-kodu: 3 tryby wyszukiwania — ogólny, w zaznaczeniu i po zakresie linii.
• Funkcja „Zamień”: zmiana tekstu G-kodu na miejscu.
• Ulepszenia UI: nowa techniczna czcionka Google, przeprojektowane menu rozwijane z wyrównaniem i wyświetlaniem skrótów klawiszowych po prawej.
• Zamykanie okien modalnych: klawiszem ESC, w tym dialog otwierania pliku.
• Blokada wpisywania przy użyciu hotkeyów: zapobiega przypadkowemu wpisywaniu przy wciśniętych klawiszach.
• Zapisywanie programu: dodane w górnym menu ze statusem i znacznikiem czasu.
Wersja 0.124 — 25.06.2025
• Naprawiono problem podwójnego scrolla w bloku programu NC.
• Eksport programu: możliwość wyeksportowania kodu NC.
• Wersja mobilna: tryb responsywny z ograniczoną funkcjonalnością.
• Wybór aktywnej płaszczyzny: ulepszony w trybie symulacji.
• Zachowanie przycisków myszy: przeprojektowane w obszarze symulacji.
• Reset podświetlenia trajektorii: naprawiono błąd po naciśnięciu „Stop”.
• Podświetlenie kodu: dodano kolorowanie podczas parsowania.
Wersja 0.1 — 24.06.2025
• Przechowywanie ID programu: w localStorage z użyciem UUID.
• Automatyczne przekierowanie: z parametrem ?nc=UUID przy braku w URL.
• Zapisywanie programu: zapis zawartości edytora do pliku tymczasowego.
• Program demo: załadowanie i wizualizacja przykładowego G-kodu.
• Indykator linii: zsynchronizowany z pozycją w edytorze.
• Resizer edytora: ręczna zmiana szerokości panelu G-kodu.
• Dwa tryby symulacji: SIMULATION i INSPECTION.
• Zapisywanie prędkości: suwak przechowuje wartość w localStorage.
• Tryb pełnoekranowy: stan jest zapisywany i odtwarzany.
• Stan prawego panelu: zapis w localStorage.
• Stan ścieżki (Trail): zapis w localStorage.
• Siatka: przełączanie mm/cm/dm w zależności od zoomu.
• Wybór widoku (2D/3D): zapis w localStorage.
• Klik na linii edytora: przesunięcie narzędzia w 3D do odpowiedniego punktu.
• Funkcja „From L”: uruchomienie symulacji od wybranej linii.
• Symulacja krokowa z L: animacja uruchomienia od dowolnego bloku.
• Panel „Co nowego”: ładowanie z whatsnew.dat i wywołanie z menu.
• Obsługa okien modalnych: z przyciemnieniem tła i przewijaniem pionowym.
• Ulepszenia edytora ACE: centrowanie linii, czyszczenie podświetlenia.
• Wznowienie symulacji: poprawne przywrócenie z pauzy.
• Animacja ruchu narzędzia: płynne przesuwanie z TWEEN.
• Parsowanie segmentów G-kodu: obsługa fragmentowanych bloków i raport błędów.
• Centrowanie linii: przy przejściu do linii w edytorze.
• Synchronizacja przycisków sterowania: górnych i centralnych.
• Przechowywanie parametrów: widok, fullscreen, siatka, prędkość, ścieżka, L.
• Przygotowanie pod rozszerzenie dialogów: obsługa overlay.
• Zapisywanie stanu „From L”: działa po przeładowaniu strony.
• Czyszczenie przy zatrzymaniu: reset markerów, pauza, zatrzymanie animacji.