Quy trình tạo vật liệu mới cho chế độ phay và tiện.
Thay đổi vật liệu động không cần tải lại trang cho các thao tác phay được hỗ trợ.
Thêm chế độ chỉnh sửa vật liệu với nhãn chỉnh sửa trên màn hình và di chuyển vật liệu trong vùng làm việc.
Cải thiện hộp thoại thêm/xóa vật liệu và giao diện thiết lập phôi tiện.
Cải thiện hoạt động trên phiên bản di động và bố cục modal trên màn hình nhỏ.
Thêm hành động STOP để dừng khẩn cấp, đặt lại chương trình và phục hồi khi tiến trình trình duyệt bị treo.
Thêm chỉ báo người dùng đang online.
Các hộp thoại What's New, Hotkeys, Measure Tools và vật liệu được chuyển sang phong cách modal của NCPlayer.
Bản địa hóa Bounds, Measure Tools, số dòng, thời gian lưu cuối và nhãn đơn vị trong bảng thông tin.
Đã bỏ nút Optional Stop trùng lặp khỏi thanh trên; chức năng vẫn có trong menu.
Cải thiện bảng thông tin bên phải: ẩn Total Duration cũ và giữ dữ liệu Bounds đã dịch.
Phiên bản 2.13 — 24.04.2026
Đã thêm giao diện ngày và đêm với tuỳ chọn được lưu trong localStorage.
Đã thêm kiểu giao diện theo chủ đề cho menu, cửa sổ modal, bảng điều khiển bên phải, bảng dữ liệu, trình soạn thảo ACE và nền mô phỏng.
Đã thêm công tắc Solid Simulation trong menu View và dịch giao diện Simulation Settings.
Đã cải thiện bố cục di động, bao gồm hành vi của Switch, các nút điều khiển mô phỏng, vị trí an toàn phía trên footer và ghi nhớ bảng đang mở.
Đã cải thiện việc truy cập từ menu tới NC Assistant, lựa chọn bộ điều khiển và Optional Stop.
Phiên bản 2.12 — 23.04.2026
Đã thêm báo cáo Program Runtime trong меню Tools, được tạo dựa trên chương trình đã được tiền xử lý.
Báo cáo hiển thị cho từng dao tổng quãng đường và tổng thời gian của chuyển động nhanh, chuyển động ăn dao, cung tròn, chu trình cố định, thời gian dừng và thay dao, cùng với các thiết lập Rapid Override và Feedrate Override.
Đã thêm bộ điều khiển góc nhìn 3D 26 mặt mới theo dạng khối rhombicuboctahedron, với các mặt phẳng chính, mép vát và góc vát có thể bấm, bao gồm cả tam giác XYZ cho góc nhìn isometric.
Đã thêm cơ chế xác thực bắt buộc qua tài khoản NCPlayer miễn phí cho các thao tác được bảo vệ, như mở các tệp NC của riêng bạn.
Phiên bản 2.11 — 22.04.2026
Đã thêm Inspection Mode để phân tích mô phỏng, cho phép xem xét đường chạy dao được tạo ra trực tiếp trong cửa sổ hiển thị.
Nhấp vào một điểm trên quỹ đạo giờ đây sẽ chuyển tới dòng mã nguồn tương ứng trong trình soạn thảo ACE, và khi rê chuột sẽ hiển thị tooltip với số dòng và nội dung dòng đó.
Đã thêm phần tô sáng đoạn được chọn, mũi tên chỉ hướng và cửa sổ nhỏ gọn với Start XYZ, End XYZ, Delta XYZ, trạng thái modal và các giá trị macro/dữ liệu phụ trợ khi có sẵn.
Đã thêm xuất Toolpath to DXF trong menu File để lưu đường chạy dao mô phỏng sau khi phân tích theo bộ điều khiển và mở rộng macro.
Đã thêm hộp thoại DXF Export Settings với các tùy chọn cho LINE/POLYLINE, chế độ chiếu, tổ chức layer, bao gồm chuyển động rapid và độ chính xác mức Z.
Phiên bản 2.10 — 20.04.2026
Đã thêm biểu mẫu phản hồi dạng modal để người dùng chia sẻ trải nghiệm với NCPlayer, đặt câu hỏi, báo cáo vấn đề hoặc đề xuất tính năng còn thiếu và hỗ trợ thêm cho các bộ điều khiển CNC.
Đã thêm các liên kết thông tin pháp lý ở chân trang, bao gồm Terms & Conditions, Privacy Policy, Cookie Policy, Refund Policy và Legal Information, với hành vi theo ngôn ngữ khi có trang pháp lý đã bản địa hóa.
Đã thêm biểu mẫu modal riêng “Found an error?” để báo cáo lỗi, hành vi không đúng hoặc các vấn đề nghi ngờ trực tiếp từ giao diện.
Đã thêm giai đoạn đầu của hỗ trợ mô phỏng tiện, bao gồm chế độ FANUC Lathe.
Đã thêm các tùy chọn hiển thị dao tiện: dao trái/phải và góc nhìn trước/sau.
Đã thêm lựa chọn chế độ tọa độ X cho mô phỏng tiện: biểu diễn theo đường kính hoặc bán kính.
Đã thêm mô hình dao tiện chuyên dụng thay vì dùng hình dạng dao phay.
Đã thêm tạo phôi hình trụ cho mô phỏng tiện thông qua Add/Delete Material — Lathe.
Quy trình vật liệu hình hộp hiện có cho mô phỏng phay vẫn giữ nguyên, trong khi chế độ tiện hiện sử dụng quy trình riêng cho phôi hình trụ.
Phiên bản 2.0 — 19.04.2026
Dự án đã được chuyển sang nc.cncpassport.com và hiện được phát triển trong dự án này.
Đã thêm hỗ trợ dòng HAAS VF, bao gồm hồ sơ điều khiển HAAS VF-1 riêng và cấu hình trình mô phỏng.
Đã thêm hỗ trợ SYNTEC 6MB với tệp mô phỏng riêng và xử lý cú pháp macro Syntec.
Đã thêm hỗ trợ lập trình macro Syntec: gán :=, IF/ELSE/END_IF, WHILE/END_WHILE và FOR/END_FOR.
Cải thiện xử lý biến macro: các giá trị được gán hiển thị trong bảng biến trong khi mô phỏng.
Cải thiện khả năng tương thích của parser với cú pháp riêng của từng bộ điều khiển, đồng thời giữ các tệp mô phỏng riêng cho FANUC, HAAS và SYNTEC.
Cập nhật phong cách tổng thể và giao diện hiển thị của trình mô phỏng.
Sửa lỗi lưu lựa chọn bộ điều khiển: SYNTEC 6MB vẫn được chọn sau khi tải lại trang và thay đổi tham số controller trong URL.
Phiên bản 1.6 — 11.11.2025
Thêm hỗ trợ đầy đủ cho máy CNC trong trình mô phỏng: các trục X/Y/Z, trục chính (spindle) và mô hình dụng cụ giờ đây di chuyển đồng bộ với đường chạy dao mô phỏng, thay vì đứng yên.
Triển khai chế độ JOG đầy đủ: chạy tay theo từng trục với bước di chuyển cấu hình được / chuyển động liên tục, cùng công tắc RAPID, tất cả đều tuân theo giới hạn hành trình của máy.
Thêm logic quay về hệ toạ độ máy G53: trình mô phỏng giờ hỗ trợ chuỗi “return to machine zero” theo đúng thứ tự của bộ điều khiển thực (Z an toàn trước, sau đó X/Y).
Khi nhấn STOP, trình mô phỏng giờ thực hiện “quay về zero máy” dưới dạng chuyển động trực quan của mô hình máy, giúp chuỗi homing hiển thị rõ ràng trong không gian 3D.
Khi nhấn START, bổ sung chuyển động mô phỏng “tiếp cận điểm bắt đầu chương trình”: máy di chuyển từ zero máy đến vị trí an toàn phía trên block đầu tiên của chương trình, sau đó chuyển sang hệ toạ độ làm việc (G54) trước khi bắt đầu các bước cắt.
Giới thiệu cơ chế kiểm tra giới hạn thống nhất cho mọi chuyển động của máy (mô phỏng, JOG, G53): mọi nỗ lực vượt ra ngoài phạm vi hành trình cho phép đều bị chặn và báo cảnh báo OVERTRAVEL.
Cải thiện hành vi camera trong khi máy di chuyển: góc nhìn vẫn rõ ràng trong quá trình JOG, homing và tiếp cận đầu chương trình, giúp theo dõi trục chính và dụng cụ dễ dàng hơn.
Thêm các hook cấu hình để bật/tắt hỗ trợ động học (kinematics) của máy một cách độc lập với chế độ cổ điển “chỉ hiển thị đường chạy dao”, đảm bảo các quy trình làm việc cũ vẫn tương thích.
Performance Monitor — hiển thị FPS và bộ nhớ; bật/tắt trong menu Help, trạng thái được lưu bằng localStorage.
Coords Box — hiển thị toạ độ X/Y/Z của con trỏ (dựa trên raycast lên mô hình); bật/tắt trong menu Help, trạng thái được lưu lại.
Phiên bản 1.5 — 25.10.2025
Hoàn thiện triển khai tất cả các chu trình khoan (G81, G82, G83, G73, G85, G80).
Thêm hỗ trợ các chu trình khoan bậc (peck drilling) với rút dao tự động và điều khiển lượng ăn dao.
Triển khai dừng G04 (P/X) với thông báo theo thời gian thực trong khi mô phỏng.
Thêm hỗ trợ M00 (Program Stop) và M01 (Optional Stop) — hành vi dừng chạy dao (Feed Hold) đầy đủ với khả năng tiếp tục.
Giới thiệu nút “Optional Stop” với trạng thái bật/tắt được lưu (dựa trên localStorage) để điều khiển M01.
Cải thiện đồng bộ giữa dừng G04, dừng chạy dao (feed-hold) và bộ điều khiển tạm dừng để bảo đảm luồng mô phỏng ổn định.
Nâng cấp logic nhận diện mã M để tránh kích hoạt sai (ví dụ: M06, M13M09).
Ver 1.410 Beta — 22.08.2025
Thêm bộ tạo chương trình NC “Rectangular Pocket” cho NCPlayer: hộp thoại dạng modal, nạp vào ACE, chế độ rõ ràng (explicit) / chế độ macro.
Ver 1.4 Beta — 22.08.2025
Mới: NC Assistant — các lệnh phân tích/giải thích/sửa/refactor inline; trả lời theo ngôn ngữ dựa trên locale giao diện.
Mới: Đăng nhập tự động vào tài khoản MEBLEOS — làm mới token im lặng, đăng nhập một lần trên nhiều tab, chế độ dự phòng an toàn quay lại chế độ khách.
Mới: Ghi nhớ chế độ xem — vị trí/điểm nhìn/thu phóng camera và transform của mô hình (vị trí/quaternion/tỷ lệ) được lưu theo từng chương trình và khôi phục khi tải lại.
UI: Hiển thị vết đường chạy dao được cải thiện (đường dày hơn, dễ nhìn hơn; tắt depthTest + polygonOffset để tránh z-fighting).
UI: Lưới tham chiếu được làm lại (lưới hai mật độ, màu sắc mềm hơn, có độ trong suốt).
Ổn định: Vòng lặp render Tween/OrbitControls được debounce; tránh gọi khung hình quá nhiều trong khi tương tác.
Parser: Đọc số an toàn hơn cho chuyển đổi hệ mét/imperial; chuẩn hóa thứ tự địa chỉ chặt chẽ hơn (N G M T S F X Y Z I J K R).
An toàn: Cập nhật phối cảnh (projection) được bảo vệ; khoảng near/far của camera được kẹp để tránh cắt hình sau khi khôi phục.
Bản địa hóa: Mở rộng từ điển (gợi ý ẩn, quy tắc hệ thống “no lists”); tinh chỉnh văn bản placeholder.
Phiên bản 1.3 Beta — 09.08.2025
NCPlayer hiện đã có sẵn bằng 52 ngôn ngữ! Các ngôn ngữ được hỗ trợ:
Tiếng Anh, Ba Lan, Nga, Ukraina, Afrikaans, Azerbaijan, Indonesia, Mã Lai, Bosnia, Séc, Đan Mạch, Đức, Estonia, Tây Ban Nha, Filipino, Pháp, Croatia, Ý, Swahili, Latvia, Lithuania, Hungary, Hà Lan, Na Uy, Bồ Đào Nha, Romania, Slovak, Slovenia, Phần Lan, Thụy Điển, Tiếng Việt, Thổ Nhĩ Kỳ, Ả Rập, Armenia, Bengal, Bulgaria, Trung (Giản thể), Hy Lạp, Gujarat, Do Thái, Hindi, Kazakh, Kyrgyz, Hàn Quốc, Macedonia, Nepal, Pashto, Ba Tư, Punjabi (Gurmukhi), Serbia, Thái, Urdu.
Đã thêm hỗ trợ đầy đủ giao diện RTL (phải sang trái) cho tiếng Ả Rập, Do Thái, Ba Tư, Pashto và Urdu.
Phiên bản 1.204 Beta — 29.07.2025
Hỗ trợ đầy đủ chu trình khoan G81 với việc phân tích đúng các tọa độ (X, Y, Z, R, F).
Mỗi bước khoan tạo ra chuỗi lệnh: G0 XY → G1 Z → G0 Z với xử lý chính xác G98 / G99.
Hỗ trợ biến macro và biểu thức trong tọa độ G81 (X[#100] Y[#101]).
Ngăn việc khoan trùng cùng một điểm (kiểm tra sameAsLast).
Cải thiện ánh xạ dòng để gỡ lỗi: lineMap giờ thêm hậu tố .0, .1, .2 cho các pha khoan.
Tính toán động các tọa độ (hằng số và biểu thức macro) kèm ghi log.
Refactor cấu trúc fragmentFile.push để truy vết chính xác.
Phiên bản 1.203 Beta — 27.07.2025
Thêm 10 chương trình demo để mô phỏng (macro, chương trình con, logic G-code).
Sửa lỗi mất đường chạy dao khi dùng G0 mà không có G1.
Triển khai cơ chế chuyển động “giả” (dummy) để khởi động mô phỏng.
Cập nhật simulateStepsFromLine để hoạt ảnh cung tròn (G2/G3) mượt hơn.
Giới thiệu phiên bản nâng cao của animateToolThroughSegment có tính đến speedMultiplier và chế độ camera bám theo.
Phiên bản 1.202 Beta — 25.07.2025
Thêm yêu cầu chấp nhận Điều khoản sử dụng (Regulamin) trước khi truy cập NCPlayer.
Sửa cách xử lý toán tử MOD trong các điều kiện phức tạp.
Thêm thông báo khi chưa chấp nhận điều khoản: “Tiếp tục sử dụng trang này đồng nghĩa bạn phải chấp nhận các điều khoản.”
Ghi log việc chấp nhận điều khoản: ngày, IP, trình duyệt.
Phiên bản 1.201 Beta — 22.07.2025
Hỗ trợ G65 với truyền tham số (#1, #2, … trong chương trình con).
Sửa logic cho WHILE...DO...END với các biểu thức lồng nhau.
Hỗ trợ các hàm FANUC lồng sâu với cơ chế thay thế an toàn.
Thêm chế độ tiền xử lý (preprocessing) với G-code tuyến tính đã được展开 (mở rộng) hoàn toàn.
Hệ thống log mới: chế độ gọn (compact) và chi tiết (detailed).
Tăng độ sâu đệ quy tối đa lên 10.000.
Thêm bảng biến thời gian thực (#100–#199, #500–#531).
Cải thiện trực quan hóa đường chạy dao cho các chu trình và quỹ đạo xoắn (spiral).
Trình duyệt chương trình demo mới với xem trước đường chạy dao.
Phiên bản 1.103 — 16.07.2025
Thêm hỗ trợ cho nhảy có điều kiện sử dụng cú pháp IF [...] GOTO xxx và các toán tử logic: EQ, NE, GT, GE, LT, LE, bao gồm hỗ trợ biểu thức lồng nhau và các hàm toán học (SIN, FIX, ROUND, v.v.).
Sửa lỗi không thể gán giá trị âm cho biến macro cục bộ (ví dụ: #2 = -0.51504).
Phiên bản 1.102 — 15.07.2025
Thêm hỗ trợ nhảy có điều kiện bằng cú pháp IF [...] GOTO xxx và các toán tử logic: EQ, NE, GT, GE, LT, LE.
Bộ phân tích biểu thức hiện hỗ trợ thay thế biến và các hàm toán học lồng nhau bên trong điều kiện IF.
Thêm cơ chế bảo vệ khỏi vòng lặp vô hạn — mô phỏng sẽ dừng sau khi thực thi hơn 500.000 dòng, kèm cảnh báo trong console và thông báo popup.
Thêm hỗ trợ nhảy vô điều kiện GOTO: GOTO 120 nhảy tới dòng N120 trong cùng chương trình O; các dạng như GOTO N120 bị từ chối là không hợp lệ.
Thêm hỗ trợ M98 Pxxxx L#yyy — tham số L giờ có thể là một biến (ví dụ: #512) được tính trước khi lặp lại chương trình con.
Phiên bản 1.101 — 14.07.2025
Thêm hỗ trợ đầy đủ cho biểu thức toán học sử dụng các hàm FANUC bên trong biểu thức địa chỉ (ví dụ: X[SIN[...]], #100=ROUND[...], v.v.).
Các hàm được hỗ trợ: SIN[], COS[], TAN[], ASIN[], ACOS[], ATAN[], ROUND[], FIX[], FUP[], ABS[], SQRT[], EXP[], LN[].
Các hàm lồng nhau hiện được đánh giá đúng, ví dụ: X[SIN[FIX[ROUND[#100+10]]]], X[COS[FUP[ATAN[TAN[45]]+0.1]]].
Các biểu thức địa chỉ như G#123, T#125, L#512, S[#511] giờ được đánh giá động trong khi mô phỏng.
Triển khai xử lý tự động các lời gọi hàm “dính liền” (ví dụ: ROUND10.4 → ROUND[10.4]).
Thêm bảo vệ chống đệ quy vô hạn: độ sâu đánh giá tối đa — 20 cấp.
Cải thiện log cho từng lần gọi hàm và thay thế, giúp gỡ lỗi các biểu thức phức tạp.
Phiên bản 1.002 — 09.07.2025
Thêm hàm mappingEntryForJump để điều hướng từng bước chính xác trong các chương trình có gọi chương trình con.
Phiên bản 1.001 — 08.07.2025
Thêm hỗ trợ M97 Pxxxx — nhảy tới dòng Nxxxx trong chương trình hiện tại mà không gọi chương trình con.
M97 giờ hoạt động độc lập với M98, cả trong chương trình chính và chương trình con.
Thêm hỗ trợ M02 và M30 — dừng phân tích ngay khi gặp các lệnh này.
Thêm hỗ trợ gọi chương trình con M98 Pxxxx — gọi Oxxxx với trả về thông qua M99.
Thêm hỗ trợ M98 Pxxxx Ln — gọi chương trình con Oxxxx n lần bằng tham số L.
Thêm hỗ trợ M99 — quay lại chương trình gọi sau M98.
Thêm hỗ trợ M99 Pxxxx — quay lại chương trình gọi và tiếp tục từ dòng Nxxxx được chỉ định.
Phiên bản 0.133 — 06.07.2025
Thêm hỗ trợ định dạng số trong G-code theo dung sai:
normalizeGCode_dot() — chèn dấu thập phân nếu bị thiếu (ví dụ: F0 → F0.).
Thêm nút toggleResizeEditor — chuyển đổi giữa: độ rộng gọn, độ rộng theo dòng dài nhất và độ rộng toàn màn hình của trình soạn thảo.
Tự động điều chỉnh độ rộng trình soạn thảo tùy theo nội dung G-code.
Thêm công cụ modal Renumber Blocks (N) với các chức năng:
Đánh số lại tất cả các Block
Đánh số lại bỏ qua dòng trống và chú thích
Chỉ đánh số lại các Block đã tồn tại
Đánh số lại không tính các Block có ký tự bỏ qua (Block Skip Char)
convertIJKtoR — giữ nguyên Nxxx, loại bỏ G2/G3 dạng mô-đun, tính R cho cả chế độ INC/ABS, xóa IJK, thêm R và thống nhất cách xử lý tâm cung.
Chuyển sang cấu trúc menu phân cấp nội bộ để tổ chức tốt hơn.
Thêm chức năng Refresh Plot — phân tích và nạp lại G-code hiện tại mà không tự động chạy mô phỏng.
Refresh Plot đồng thời lưu chương trình trước khi tải lại và cập nhật thời gian lưu cuối.
Thêm hỗ trợ Block Skip (/) trong chế độ mô phỏng từng bước.
Thêm các chức năng chuyển đổi giữa chế độ xem 2D và 3D từ menu chính.
Thêm khả năng chèn và xóa ký tự Block Skip (/) trên các dòng chỉ định hoặc cho toàn bộ chương trình.
Thêm khả năng xóa tất cả các dòng bắt đầu bằng Block Skip (/).
Phiên bản 0.131 — 04.07.2025
• Chế độ camera "Follow Tool" mới: tự động bám theo vị trí dao trong thời gian thực khi mô phỏng.
• Chức năng "Fit to View": tự động căn giữa và scale toàn bộ đường chạy dao.
• Tùy chọn "View Center of Tool": tập trung góc nhìn vào vị trí dao hiện tại.
• Chuyển đổi cung tròn (Arc conversion): 6 hàm chuyển đổi G-code cho cung tròn (IJK ↔ R, ABS ↔ INC) với hỗ trợ mặt phẳng G17/G18/G19 và cú pháp cũ (G02/G03).
• Loại bỏ “rác”: làm sạch G-code khỏi các dòng không cần thiết hoặc bị hỏng.
• Chế độ "Pan Mode" trong 3D: di chuyển cảnh bằng chuột với con trỏ bàn tay có thể bật/tắt.
• Cải thiện bộ chuyển đổi cung tròn: giữ nguyên chế độ cung giữa các dòng liên tiếp ngay cả khi không có lệnh G2/G3 rõ ràng.
• Đã sửa chuyển đổi IJK→R: loại bỏ trục K không cần thiết trong mặt phẳng G17.
• Tất cả kết quả chuyển đổi giờ tự động thiết lập trạng thái ArcMode (IJK_INC, IJK_ABS, R) trong worker.
Phiên bản 0.130 — 02.07.2025
• jumpToBottom(): nhảy nhanh xuống cuối chương trình NC. Nút có sẵn trong giao diện.
• jumpToTop(): cuộn ngay lập tức lên đầu chương trình.
• Định dạng G/M/T:
- Rút gọn G00–G09 → G0–G9, M00–M09 → M0–M9, T00–T09 → T0–T9.
- Chuẩn hóa G0–G9 → G00–G09 và tương tự cho M và T.
• In khung nhìn hiện tại (Print current view): lưu khung nhìn mô phỏng 3D dưới dạng PNG và mở trong tab mới để tải về hoặc in.
• Quản lý ký tự EOB (;): các hàm addeob() và deleteeob() để thêm hoặc xóa ; ở cuối dòng.
• In chương trình: in toàn bộ hoặc in chọn lọc các dòng mã đang được tô sáng.
Phiên bản 0.129 — 01.07.2025
• Hỗ trợ Copy/Cut/Paste/Undo/Redo qua phím tắt và menu.
• Chọn khoảng dòng bằng các nút, với việc tô sáng trong ACE editor và khả năng sao chép.
• Chuyển đổi hệ tọa độ:
- G91 → G90 với việc tính lại tất cả tọa độ sang tuyệt đối.
- G90 → G91 với việc tính lại tất cả dịch chuyển sang tương đối.
- Xóa G90 và chèn G91 ở đầu chương trình.
• Menu "Format": xóa số dòng, khoảng trắng dư, dòng trống và chú thích; đổi kiểu chữ hoa/thường.
• Định dạng thông minh dựa trên loại CNC đã chọn.
Phiên bản 0.128 — 29.06.2025
• Giải mã G-code từng dòng theo thời gian thực, theo dõi trạng thái nhóm mô đun (modal), vị trí dao và các mã M/S/T.
• Biến trạng thái mới: currentModalStateAtLine, currentPositionAtLine, miscCodesAtLine.
• jumpToLine(row) giờ cập nhật bảng giải mã bằng dữ liệu đã được lưu.
• Chuyển đổi cấu hình máy, mặc định — FANUC 0i.
• Các góc nhìn camera bổ sung trong menu "View", bao gồm cả góc nhìn trục đo (isometric).
Phiên bản 0.127 — 28.06.2025
• Hiển thị tọa độ ABS/REL: tọa độ ở chế độ tuyệt đối và tương đối được cập nhật theo thời gian thực trong khi mô phỏng.
• Tính toán tọa độ tương đối: được tính dựa trên vị trí dao trước đó cho mỗi dòng.
• Theo dõi nhóm mô đun G-code FANUC: hỗ trợ các nhóm 01–20 với cập nhật thời gian thực các mã đang hoạt động.
• Bảng nhóm mô đun động: được tạo dựa trên bảng chính thức của Fanuc.
• Giám sát mã M/S/T/F/D/H: các giá trị được hiển thị theo thời gian thực trong quá trình mô phỏng.
• Bảng trực quan các giá trị M/S/T/F/D/H: được thêm vào bảng thông tin bổ sung.
• Cải thiện logic simulateSteps: phân tích và áp dụng các mã mô đun và mã phụ (auxiliary) một cách động.
• Hỗ trợ G-code đa định dạng: tương thích với các biến thể như G0/G00/G01/G1 và tương tự.
Phiên bản 0.126 — 27.06.2025
• Hỗ trợ phôi (Stock support): tham số khoảng hở an toàn và định vị, tự động nhận diện kích thước phôi từ mô hình.
• Xóa cấu hình phôi (Stock removal): nút xóa các tham số phôi khỏi localStorage.
• Tải bằng kéo & thả (Drag & Drop): hỗ trợ thả trực tiếp file .nc vào trình soạn thảo.
• Cửa sổ đổi dao (Tool change modal window): được tối ưu cho thiết bị di động.
Phiên bản 0.125 — 26.06.2025
• Định vị dao (Tool positioning): nhấp chuột phải vào một dòng G-code sẽ di chuyển dao trong cảnh 3D đến điểm tương ứng trên đường chạy dao.
• Phím tắt F2+...: thêm gợi ý phím tắt hiển thị trên màn hình.
• Tìm kiếm G-code thông minh: 3 chế độ tìm — chung, trong vùng chọn và theo khoảng dòng.
• Chức năng Replace: chỉnh sửa trực tiếp văn bản G-code tại chỗ.
• Cải tiến giao diện (UI): dùng font kỹ thuật của Google mới, menu thả xuống được thiết kế lại với căn lề và hiển thị phím tắt ở bên phải.
• Đóng cửa sổ modal: bằng phím ESC, bao gồm cả hộp thoại mở tệp.
• Chặn nhập liệu khi dùng phím tắt: ngăn gõ nhầm khi giữ phím.
• Lưu chương trình: thêm vào menu trên cùng kèm trạng thái và dấu thời gian.
Phiên bản 0.124 — 25.06.2025
• Sửa lỗi cuộn kép trong khối chương trình NC.
• Xuất chương trình: khả năng xuất mã NC.
• Phiên bản di động: chế độ giao diện thích ứng với chức năng giới hạn.
• Chọn mặt phẳng làm việc (Active plane): được cải thiện trong chế độ mô phỏng.
• Hành vi chuột: được làm lại trong vùng mô phỏng.
• Đặt lại tô sáng đường chạy dao: sửa lỗi sau khi nhấn “Stop”.
• Tô màu mã (code highlighting): thêm đánh dấu màu trong quá trình phân tích (parsing).
Phiên bản 0.1 — 24.06.2025
• Lưu ID chương trình: trong localStorage bằng UUID.
• Tự động chuyển hướng: thêm tham số ?nc=UUID nếu URL chưa có.
• Lưu chương trình: ghi nội dung trình soạn thảo vào tệp tạm.
• Chương trình demo: tải và hiển thị G-code mẫu.
• Chỉ báo dòng: đồng bộ với vị trí trong trình soạn thảo.
• Thay đổi kích thước trình soạn thảo: điều chỉnh thủ công độ rộng bảng G-code.
• Hai chế độ mô phỏng: SIMULATION và INSPECTION.
• Lưu tốc độ: giá trị thanh trượt được lưu trong localStorage.
• Chế độ toàn màn hình: trạng thái được lưu và khôi phục.
• Trạng thái bảng bên phải: lưu trong localStorage.
• Trạng thái vết đường (Trail): lưu trong localStorage.
• Lưới: chuyển đổi mm/cm/dm tùy theo mức thu phóng.
• Chọn chế độ xem (2D/3D): lưu trong localStorage.
• Nhấp dòng trong trình soạn thảo: di chuyển dao trong 3D tới điểm tương ứng.
• Chức năng "From L": chạy mô phỏng từ dòng đã chọn.
• Mô phỏng từng bước từ L: hoạt ảnh bắt đầu từ bất kỳ block nào.
• Bảng "Có gì mới": tải từ whatsnew.dat và mở từ menu.
• Hỗ trợ cửa sổ modal: làm tối nền và cuộn dọc.
• Cải tiến ACE editor: căn giữa dòng, xóa tô sáng.
• Tiếp tục mô phỏng: khôi phục đúng sau khi tạm dừng.
• Hoạt ảnh di chuyển dao: chuyển động mượt với TWEEN.
• Phân tích phân đoạn G-code: hỗ trợ block bị phân mảnh và báo lỗi.
• Căn giữa dòng: khi nhảy tới một dòng trong trình soạn thảo.
• Đồng bộ nút điều khiển: cụm nút phía trên và giữa.
• Lưu tham số: chế độ xem, toàn màn hình, lưới, tốc độ, vết đường, L.
• Chuẩn bị mở rộng hộp thoại: hỗ trợ overlay.
• Lưu trạng thái "From L": vẫn hoạt động sau khi tải lại trang.
• Dọn dẹp khi dừng: đặt lại marker, tạm dừng, dừng hoạt ảnh.