About the NCPlayer Service:
File Menu
Edit Menu
View Menu
Formatting Menu
Tools Menu
Machine Configuration Menu
Collaboration

What's new in NCPlayer?


NCPlayer Version History

Version 2.14 — 25.04.2026

  • New material creation workflow for milling and lathe modes.
  • Dynamic material update without page reload for supported milling operations.
  • Added material edit mode with an on-screen material editing badge and material movement inside the working area.
  • Improved material add/delete dialogs and lathe stock setup UI.
  • Improved mobile site behavior and modal layout on small screens.
  • Added STOP action for emergency program stop, reset, and browser process recovery.
  • Added online users indicator.
  • Updated What's New, Hotkeys, Measure Tools, and material dialogs to the NCPlayer modal style.
  • Localized Bounds, Measure Tools, line count, last saved time, and unit labels in the information panel.
  • Removed duplicate Optional Stop button from the top toolbar; Optional Stop remains available from the menu.
  • Improved right-side information panel: hidden obsolete Total Duration output and kept bounds data localized.

Version 2.13 — 24.04.2026

  • Added day and night themes with saved preference in localStorage.
  • Added themed styling for menus, modals, right-side controller panels, tables, the ACE editor, and simulation backgrounds.
  • Added a Solid Simulation toggle in the View menu and translated the Simulation Settings UI.
  • Improved the mobile layout, including Switch behavior, simulation controls, footer-safe positioning, and persistent program/simulation pane state.
  • Improved menu access for NC Assistant, controller selection, and Optional Stop.

Version 2.12 — 23.04.2026

  • Added a Program Runtime report in the Tools menu, built from the preprocessed program.
  • The report shows per-tool path and time totals for rapid moves, feed moves, arcs, canned cycles, dwell, and tool changes, with Rapid Override and Feedrate Override controls.
  • Added a new 26-face 3D view manipulator shaped as a rhombicuboctahedron-style solid, with clickable main planes, edge chamfers, and corner chamfers, including the XYZ triangle for isometric view.
  • Added mandatory authorization via a free NCPlayer account for protected actions such as opening your own NC files.

Version 2.11 — 22.04.2026

  • Added Inspection Mode for simulation review, allowing direct analysis of the generated toolpath.
  • Clicking a toolpath point now jumps back to the matching source line in the ACE editor, with tooltip preview on hover.
  • Added selected-segment highlighting, a direction arrow, and a compact movement popup with Start XYZ, End XYZ, Delta XYZ, modal state, and macro-related values when available.
  • Added Toolpath to DXF export from the File menu so the simulated path can be saved after controller-specific parsing and macro expansion.
  • Added the DXF Export Settings dialog with options for LINE/POLYLINE, projection mode, layer organization, rapid-move inclusion, and Z-level precision.

Version 2.10 — 20.04.2026

  • Added a feedback modal form so users can share their experience with NCPlayer, ask questions, report problems, or suggest missing features and additional CNC control support.
  • Added legal information links to the footer, including Terms & Conditions, Privacy Policy, Cookie Policy, Refund Policy, and Legal Information links with language-aware behavior where localized legal pages are available.
  • Added a separate “Found an error?” modal form for reporting bugs, incorrect behavior, or suspected issues directly from the interface.
  • Added the first stage of lathe simulation support, including FANUC Lathe mode.
  • Added selectable lathe tool display options: left/right tool and front/rear view.
  • Added X coordinate mode selection for lathe simulation: diameter or radius representation.
  • Added a dedicated turning tool model for lathe simulation instead of using the milling tool shape.
  • Added cylindrical stock creation for lathe simulation via Add/Delete Material — Lathe.
  • Kept the existing rectangular material workflow unchanged for milling simulation, while lathe mode now uses a separate cylindrical stock workflow.

Version 2.0 — 19.04.2026

  • The project has moved to nc.cncpassport.com and is now developed as part of this project.
  • Added HAAS VF-series support, including a dedicated HAAS VF-1 controller profile and simulator configuration.
  • Added SYNTEC 6MB support with a dedicated simulator file and Syntec macro syntax handling.
  • Added Syntec macro programming support for := assignments, IF/ELSE/END_IF, WHILE/END_WHILE and FOR/END_FOR.
  • Improved macro variable handling so assigned values are shown in the variable table during simulation.
  • Improved controller-specific parser compatibility while keeping FANUC, HAAS and SYNTEC simulation files separated.
  • Updated the overall simulator styling and interface presentation.
  • Fixed controller selection persistence so SYNTEC 6MB remains selected after page reload and controller URL changes.

Version 1.6 — 11.11.2025

  • Added full CNC machine support to the simulator: X/Y/Z axes, spindle and tool model now move in sync with the simulated toolpath instead of staying static.
  • Implemented full JOG mode: manual jogging per axis with configurable step/continuous motion, plus RAPID toggle, all respecting machine travel limits.
  • Added G53 machine-coordinate return logic: the simulator now supports “return to machine zero” sequences in the same order as a real controller (safe Z first, then X/Y).
  • On STOP, the simulator now performs a visual “return to machine zero” of the machine model, so the homing sequence is clearly visible in 3D.
  • On START, added a simulated “approach to program start”: the machine moves from machine zero to a safe position above the first block of the program, then transitions to the work coordinate system (G54) before beginning cutting moves.
  • Introduced unified limit checking for all machine motions (simulation, JOG, G53): any attempt to leave the allowed travel range is clamped and reported as an OVERTRAVEL warning.
  • Improved camera behavior during machine motions: the view now stays readable during JOG, homing and approach moves, making it easier to follow the spindle and tool.
  • Added configuration hooks to enable/disable machine-kinematics support independently of the classic “toolpath-only” view, so older workflows remain compatible.
  • Performance Monitor — shows FPS and memory; toggle in Help menu, state persisted via localStorage.
  • Coords Box — displays cursor X/Y/Z (raycast on model); toggle in Help menu, state persisted.

Version 1.5 — 25.10.2025

  • Full implementation of all drilling cycles (G81, G82, G83, G73, G85, G80).
  • Added support for peck drilling cycles with automatic retract and feedrate control.
  • Implemented G04 dwell (P/X) with real-time notification during simulation.
  • Added M00 (Program Stop) and M01 (Optional Stop) support — full Feed Hold behavior with resume capability.
  • Introduced an “Optional Stop” button with persistent toggle (localStorage-based) for M01 control.
  • Improved synchronization between dwell, feed-hold, and pause controllers to ensure stable simulation flow.
  • Enhanced M-code recognition logic to prevent false triggers (e.g., M06, M13M09).

Ver 1.410 Beta — 22.08.2025

  • Added NC program generator “Rectangular Pocket” for NCPlayer: modal dialog, load into ACE, explicit/macro modes

Ver 1.4 Beta — 22.08.2025

  • New: NC Assistant — inline analysis/explain/fix/refactor prompts; language-aware responses per UI locale.
  • New: Automatic sign-in to MEBLEOS account — silent token refresh, single sign-on across tabs, error-safe fallback to guest mode.
  • New: View persistence — camera position/target/zoom and model transform (position/quaternion/scale) are stored per program and restored on reload.
  • UI: Toolpath trace rendering improved (thicker line, better visibility; depthTest off + polygonOffset to prevent z-fighting).
  • UI: Grid helper reworked (dual-density grid, softer colors, transparency).
  • Stability: Tween/OrbitControls re-render loop debounced; prevents excessive frame requests during interaction.
  • Parser: Safer numeric read for metric/imperial toggles; stricter address order normalization (N G M T S F X Y Z I J K R).
  • Safety: Projection updates guarded; camera near/far clamped to avoid clipping after restore.
  • Localization: Dictionary extended (hidden hints, “no lists” system rule); placeholder text refined.

Version 1.3 Beta — 09.08.2025

  • NCPlayer is now available in 52 languages! Supported languages: English, Polish, Russian, Ukrainian, Afrikaans, Azerbaijani, Indonesian, Malay, Bosnian, Czech, Danish, German, Estonian, Spanish, Filipino, French, Croatian, Italian, Swahili, Latvian, Lithuanian, Hungarian, Dutch, Norwegian, Portuguese, Romanian, Slovak, Slovenian, Finnish, Swedish, Vietnamese, Turkish, Arabic, Armenian, Bengali, Bulgarian, Chinese (Simplified), Greek, Gujarati, Hebrew, Hindi, Kazakh, Kyrgyz, Korean, Macedonian, Nepali, Pashto, Persian, Punjabi (Gurmukhi), Serbian, Thai, Urdu.
  • Added full RTL (right-to-left) interface support for Arabic, Hebrew, Persian, Pashto, and Urdu.

Version 1.204 Beta — 29.07.2025

  • Full support for drilling cycle G81 with correct parsing of coordinates (X, Y, Z, R, F).
  • Each drilling step generates the sequence: G0 XY → G1 Z → G0 Z with proper handling of G98 / G99.
  • Support for macro variables and expressions in G81 coordinates (X[#100] Y[#101]).
  • Duplicate drilling of the same point prevented (sameAsLast check).
  • Improved line mapping for debugging: lineMap now includes .0, .1, .2 suffixes for drilling phases.
  • Dynamic calculation of coordinates (literals and macro expressions) with logging.
  • Refactored fragmentFile.push structure for precise tracing.

Version 1.203 Beta — 27.07.2025

  • Added 10 demo programs for simulation (macros, subprograms, G-code logic).
  • Fixed missing toolpath when G0 was used without G1.
  • Implemented “dummy” motion mechanism to start simulation.
  • Updated simulateStepsFromLine for smooth arc animation (G2/G3).
  • Introduced enhanced animateToolThroughSegment considering speedMultiplier and camera follow.

Version 1.202 Beta — 25.07.2025

  • Added mandatory Terms of Use (Regulamin) acceptance before accessing NCPlayer.
  • Fixed handling of the MOD operator in complex conditions.
  • Added a message when terms are not accepted: “By continuing to use this site, you must accept the terms.”
  • Terms acceptance logging: date, IP, browser.

Version 1.201 Beta — 22.07.2025

  • Support for G65 with parameter passing (#1, #2, … in the subprogram).
  • Fixed logic for WHILE...DO...END with nested expressions.
  • Support for deeply nested FANUC functions with safe replacement.
  • Added preprocessing mode with fully expanded linear G-code.
  • New logging system: compact and detailed modes.
  • Increased recursion depth to 10,000.
  • Added real-time variable panel (#100–#199, #500–#531).
  • Improved toolpath visualization for cycles and spirals.
  • New demo program browser with toolpath preview.

Version 1.103 — 16.07.2025

  • Added support for conditional jumps using the IF [...] GOTO xxx syntax and logical operators: EQ, NE, GT, GE, LT, LE, including support for nested expressions and mathematical functions (SIN, FIX, ROUND, etc.).
  • Fixed an issue where negative values could not be assigned to local macro variables (e.g., #2 = -0.51504).

Version 1.102 — 15.07.2025

  • Added support for conditional jumps using the IF [...] GOTO xxx syntax and logical operators: EQ, NE, GT, GE, LT, LE.
  • The expression parser now supports variable substitution and nested mathematical functions inside IF conditions.
  • Added protection against infinite loops — the simulation stops after executing more than 500,000 lines, with a warning in the console and a popup message.
  • Added support for unconditional jumps GOTO: GOTO 120 jumps to line N120 in the same O program; formats like GOTO N120 are rejected as invalid.
  • Added support for M98 Pxxxx L#yyy — the L parameter can now be a variable (e.g., #512) evaluated before subprogram repetition.

Version 1.101 — 14.07.2025

  • Added full support for mathematical expressions using FANUC functions inside address expressions (e.g., X[SIN[...]], #100=ROUND[...], etc.).
  • Supported functions: SIN[], COS[], TAN[], ASIN[], ACOS[], ATAN[], ROUND[], FIX[], FUP[], ABS[], SQRT[], EXP[], LN[].
  • Nested functions are now correctly evaluated, for example: X[SIN[FIX[ROUND[#100+10]]]], X[COS[FUP[ATAN[TAN[45]]+0.1]]].
  • Address expressions like G#123, T#125, L#512, S[#511] are now evaluated dynamically during simulation.
  • Implemented automatic handling of "merged" function calls (e.g., ROUND10.4ROUND[10.4]).
  • Added protection against infinite recursion: maximum evaluation depth — 20 levels.
  • Improved logging of each function call and substitution for debugging complex expressions.

Version 1.002 — 09.07.2025

  • Added the mappingEntryForJump function for correct step-by-step navigation in programs with subprogram calls.

Version 1.001 — 08.07.2025

  • Added support for M97 Pxxxx — jump to line Nxxxx in the current program without calling a subprogram.
  • M97 now works independently of M98, both in the main program and in subprograms.
  • Added support for M02 and M30 — immediate end of parsing when these commands are encountered.
  • Added support for subprogram call M98 Pxxxx — call Oxxxx with return via M99.
  • Added support for M98 Pxxxx Ln — call subprogram Oxxxx n times using the L parameter.
  • Added support for M99 — return to the calling program after M98.
  • Added support for M99 Pxxxx — return to the calling program and continue from the specified line Nxxxx.

Version 0.133 — 06.07.2025

  • Added support for formatting numbers in G-code according to tolerances:
    • normalizeGCode_dot() — inserts a decimal point if missing (e.g., F0F0.).
    • normalizeGCode_dot0() — adds .0 (e.g., Z30Z30.0).
    • normalizeGCode_dot00() — adds .00 (e.g., R40.5R40.50).
    • normalizeGCode_dot000() — adds .000 (e.g., Z-2Z-2.000).

Version 0.132 — 05.07.2025

  • Added toggleResizeEditor button — switch between compact width, width by the longest line, and full editor width.
  • Automatic adjustment of editor width depending on G-code content.
  • Added modal tool Renumber Blocks (N) with functions:
    • Renumber All Blocks
    • Renumber without blank and comments
    • Renumber existing Blocks only
    • Renumber without Block Skip Char
  • convertIJKtoR — keeps Nxxx, removes modal G2/G3, calculates R for INC/ABS, removes IJK, adds R, unifies center handling.
  • Switched to internal hierarchical menu structure for better organization.
  • Added Refresh Plot function — re-parse and reload the current NC code without auto-simulation.
  • Refresh Plot also saves the program before reload and updates the last save time.
  • Added Block Skip (/) support in step-by-step simulation mode.
  • Added functions to switch between 2D and 3D views from the main menu.
  • Added the ability to insert and remove Block Skip (/) characters on specified lines or for the entire program.
  • Added the ability to delete all lines starting with Block Skip (/).
Version 0.131 — 04.07.2025

New "Follow Tool" camera mode: automatically tracks the tool position in real time during simulation.
"Fit to View" function: automatically centers and scales the entire toolpath.
"View Center of Tool" option: focuses the view on the current tool position.
Arc conversion: 6 G-code transformation functions for arcs (IJK ↔ R, ABS ↔ INC) with G17/G18/G19 plane support and legacy syntax (G02/G03).
Garbage removal: cleans G-code from unnecessary or corrupted lines.
"Pan Mode" in 3D: move the scene with the mouse using a toggleable hand cursor.
Improved arc conversion engine: preserves arc mode between consecutive lines without explicit G2/G3 commands.
• Fixed IJK→R conversion: removes unnecessary K axes in the G17 plane.
• All conversion results now automatically set the ArcMode status (IJK_INC, IJK_ABS, R) in the worker.

Version 0.130 — 02.07.2025

jumpToBottom(): quick jump to the end of the NC program. Button available in the interface.
jumpToTop(): instant scroll to the beginning of the program.
G/M/T formatting: - Shortening G00–G09 → G0–G9, M00–M09 → M0–M9, T00–T09 → T0–T9.
- Normalizing G0–G9 → G00–G09 and similarly for M and T.
Print current view: save the 3D simulation view as PNG and open it in a new tab for download or printing.
EOB character management (;): addeob() and deleteeob() functions to add or remove ; at the end of lines.
Program printing: full or selective printing of highlighted code lines.

Version 0.129 — 01.07.2025

Support for Copy/Cut/Paste/Undo/Redo via hotkeys and menu.
Select line range using buttons with highlighting in the ACE editor and the ability to copy.
Coordinate conversion: - G91 → G90 with recalculation of all coordinates to absolute.
- G90 → G91 with recalculation of all moves to relative.
- Remove G90 and insert G91 at the beginning.
"Format" menu: remove line numbers, extra spaces, empty lines, and comments; change case.
Intelligent formatting based on the selected CNC type.

Version 0.128 — 29.06.2025

Line-by-line G-code decoding in real time, tracking modal group states, tool position, and M/S/T codes.
New state variables: currentModalStateAtLine, currentPositionAtLine, miscCodesAtLine.
jumpToLine(row) now updates the decoding panel using saved data.
Machine configuration switching, default — FANUC 0i.
Additional camera views in the "View" menu, including isometric.

Version 0.127 — 28.06.2025

ABS/REL coordinates display: coordinates in absolute and relative modes update in real time during simulation.
Relative coordinates calculation: computed based on the previous tool position for each line.
FANUC G-code modal group tracking: support for groups 01–20 with real-time updates of active codes.
Dynamic modal group table: generated based on official Fanuc charts.
M/S/T/F/D/H code monitoring: values are displayed in real time during simulation.
Visual table of M/S/T/F/D/H values: added to the additional information panel.
Improved simulateSteps logic: parsing and applying modal and auxiliary codes dynamically.
Multi-format G-code support: compatibility with formats like G0/G00/G01/G1 and similar.

Version 0.126 — 27.06.2025

Stock support: clearance and positioning parameters, automatic stock size detection from the model.
Stock removal: button to clear parameters from localStorage.
Drag & Drop loading: support for dropping .nc files directly into the editor.
Tool change modal window: adapted for mobile devices.

Version 0.125 — 26.06.2025

Tool positioning: right-clicking a G-code line moves the tool in the 3D scene to the corresponding point on the toolpath.
F2+... hotkeys: added on-screen hint with shortcuts.
Smart G-code search: 3 search modes — general, in selection, and by line range.
Replace function: edit G-code text in place.
UI improvements: new Google technical font, redesigned dropdown menus with alignment and shortcut display on the right.
Modal window closing: via ESC key, including the file open dialog.
Input blocking when using hotkeys: prevents accidental typing when holding keys.
Program saving: added to the top menu with status and timestamp.

Version 0.124 — 25.06.2025

Fixed double scroll issue in the NC program block.
Program export: ability to export NC code.
Mobile version: adaptive mode with limited functionality.
Active plane selection: improved in simulation mode.
Mouse button behavior: reworked in the simulation area.
Toolpath highlight reset: fixed bug after pressing “Stop”.
Code highlighting: added color markup during parsing.

Version 0.1 — 24.06.2025

Program ID storage: in localStorage using UUID.
Auto-redirect: with ?nc=UUID parameter if absent in the URL.
Program saving: writes editor contents to a temporary file.
Demo program: loads and visualizes sample G-code.
Line indicator: synchronized with position in the editor.
Editor resizer: manually adjust G-code panel width.
Two simulation modes: SIMULATION and INSPECTION.
Speed saving: slider value stored in localStorage.
Fullscreen mode: state saved and restored.
Right panel state: saved in localStorage.
Trail state: stored in localStorage.
Grid: switches mm/cm/dm depending on zoom level.
View selection (2D/3D): saved in localStorage.
Clicking a line in the editor: moves the tool in 3D to the corresponding point.
"From L" function: run simulation from the selected line.
Step simulation from L: animation starts from any block.
"What's New" panel: loaded from whatsnew.dat and accessible from menu.
Modal window support: with background dimming and vertical scrolling.
ACE editor improvements: line centering, highlight clearing.
Simulation resume: properly restored after pause.
Tool movement animation: smooth transition with TWEEN.
G-code segment parsing: supports fragmented blocks and error reporting.
Line centering: when jumping to a line in the editor.
Control button synchronization: top and center controls.
Parameter storage: view, fullscreen, grid, speed, trail, L.
Dialog expansion preparation: overlay support.
"From L" state saving: works after page reload.
Stop cleanup: resets markers, pauses, stops animation.

CNCPassport © MEBLEOS © 2026 · Ver 1.0 · Terms & Conditions | Privacy Policy | Cookie Policy | Refund Policy Legal information | Privacy Policy