버전 2.14 — 25.04.2026
버전 2.13 — 24.04.2026
localStorage에 선택을 저장하는 주간/야간 테마가 추가되었습니다.View 메뉴에 Solid Simulation 토글이 추가되었고 Simulation Settings UI가 번역되었습니다.버전 2.12 — 23.04.2026
Tools 메뉴에 추가되었습니다.버전 2.11 — 22.04.2026
Start XYZ, End XYZ, Delta XYZ, 모달 상태 및 사용 가능한 매크로/보조 데이터가 포함된 컴팩트한 팝업이 추가되었습니다.File 메뉴에 Toolpath to DXF 내보내기가 추가되어, 컨트롤러별 파싱과 매크로 확장 후 시뮬레이션 경로를 저장할 수 있습니다.LINE/POLYLINE, 투영 모드, 레이어 구성, rapid 이동 포함 여부, Z 레벨 정밀도를 설정할 수 있습니다.버전 2.10 — 20.04.2026
버전 2.0 — 19.04.2026
nc.cncpassport.com으로 이동했으며 이제 이 프로젝트에서 계속 개발됩니다.:= 할당, IF/ELSE/END_IF, WHILE/END_WHILE, FOR/END_FOR.버전 1.6 — 11.11.2025
버전 1.5 — 2025-10-25
버전 1.410 Beta — 2025-08-22
버전 1.4 Beta — 2025-08-22
버전 1.3 Beta — 2025-08-09
버전 1.204 Beta — 2025-07-29
G0 XY → G1 Z → G0 Z 시퀀스를 생성하며, G98 / G99를 올바르게 처리.X[#100] Y[#101] 등).lineMap에 .0, .1, .2 접미사를 추가.fragmentFile.push 구조 리팩터링.버전 1.203 Beta — 2025-07-27
G1 없이 G0만 사용된 경우 공구 경로가 보이지 않던 문제 수정.simulateStepsFromLine 업데이트.speedMultiplier와 카메라 팔로우를 고려하는 강화된 animateToolThroughSegment 도입.버전 1.202 Beta — 2025-07-25
MOD 연산자 처리 로직 수정.버전 1.201 Beta — 2025-07-22
WHILE...DO...END 로직 수정.버전 1.103 — 2025-07-16
IF [...] GOTO xxx 구문과 논리 연산자 EQ, NE, GT, GE, LT, LE를 사용하는
조건부 점프를 지원합니다. 또한 중첩된 표현식과
수학 함수(SIN, FIX, ROUND 등)도 함께 지원합니다.#2 = -0.51504).버전 1.102 — 2025-07-15
IF [...] GOTO xxx 구문과 논리 연산자 EQ, NE, GT, GE, LT, LE를 사용하는
조건부 점프 지원을 추가했습니다.IF 조건 내부에서 변수 치환과
중첩 수학 함수 평가를 지원합니다.GOTO를 지원합니다:
GOTO 120은 같은 O 프로그램 내에서 N120 행으로 점프합니다.
GOTO N120 형식은 잘못된 구문으로 처리되어 거부됩니다.M98 Pxxxx L#yyy 지원 추가 — L 파라미터는 이제 변수(예: #512)를 사용할 수 있으며,
서브프로그램 반복 전에 평가됩니다.버전 1.101 — 2025-07-14
X[SIN[...]], #100=ROUND[...] 등).SIN[], COS[], TAN[],
ASIN[], ACOS[], ATAN[],
ROUND[], FIX[], FUP[],
ABS[], SQRT[], EXP[], LN[].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] 로 자동 보정).버전 1.002 — 2025-07-09
mappingEntryForJump 함수를 추가했습니다.버전 1.001 — 2025-07-08
M97 Pxxxx 지원 추가 — 서브프로그램을 호출하지 않고
현재 프로그램 내의 Nxxxx 행으로 점프합니다.M97은 이제 M98과 독립적으로 동작하며,
메인 프로그램과 서브프로그램 모두에서 사용할 수 있습니다.M02 및 M30 지원 추가 — 해당 명령이 나타나면
파싱을 즉시 종료합니다.M98 Pxxxx 지원 — Oxxxx를 호출하고
M99를 통해 복귀합니다.M98 Pxxxx Ln 지원 — L 파라미터를 사용해 서브프로그램 Oxxxx를 n회 호출합니다.M99 지원 — M98 호출 후 호출한 프로그램으로 복귀합니다.M99 Pxxxx 지원 — 호출한 프로그램으로 복귀한 뒤,
지정된 행 Nxxxx부터 실행을 계속합니다.버전 0.133 — 2025-07-06
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 — 2025-07-05
toggleResizeEditor 버튼 추가 — 컴팩트 폭, 가장 긴 줄 기준 폭, 전체 에디터 폭 사이를 전환.convertIJKtoR — Nxxx는 유지하고, 모달 G2/G3를 정리하며, INC/ABS 모두에 대해 R을 계산하고, IJK를 제거하고 R을 추가하며, 중심 처리 방식을 통일./) 문자를 삽입·제거하는 기능 추가./)으로 시작하는 모든 줄을 한 번에 삭제하는 기능 추가.
• 새로운 “Follow Tool” 카메라 모드: 시뮬레이션 중 공구 위치를 실시간으로 자동 추적합니다.
• “Fit to View” 기능: 전체 공구 경로를 화면에 자동으로 맞추어 중앙 정렬 및 스케일 조정.
• “View Center of Tool” 옵션: 현재 공구 위치를 기준으로 화면 중앙에 포커스.
• 호(Arc) 변환: IJK ↔ R, ABS ↔ INC 변환을 위한 6가지 G-code 변환 기능, G17/G18/G19 평면 및 구문 G02/G03 레거시 형식 지원.
• “Garbage removal”: 불필요하거나 손상된 G-code 라인을 정리합니다.
• 3D “Pan Mode”: 토글 가능한 손 모양 커서를 사용해 마우스로 장면을 이동.
• 향상된 호 변환 엔진: 명시적인 G2/G3 명령이 없어도 연속 행 사이에서 호 모드를 유지합니다.
• IJK→R 변환 수정: G17 평면에서 불필요한 K 축을 제거합니다.
• 모든 변환 결과는 워커 내부의 ArcMode 상태(IJK_INC, IJK_ABS, R)를 자동으로 설정합니다.
• jumpToBottom(): NC 프로그램의 끝으로 빠르게 이동하는 기능. 전용 버튼이 인터페이스에 추가되었습니다.
• jumpToTop(): 프로그램의 시작 부분으로 즉시 스크롤.
• G/M/T 포맷팅:
- G00–G09 → G0–G9, M00–M09 → M0–M9, T00–T09 → T0–T9로 단축.
- G0–G9 → G00–G09 형식으로 정규화, M과 T 코드도 동일하게 처리.
• 현재 뷰 인쇄(Print current view): 3D 시뮬레이션 뷰를 PNG로 저장하고 새 탭에서 열어 다운로드 또는 인쇄 가능.
• EOB 문자 관리 (;): 줄 끝에 ;를 일괄 추가/제거하는 addeob() 및 deleteeob() 기능.
• 프로그램 인쇄: 전체 프로그램 또는 선택(하이라이트)된 코드 라인만 인쇄하는 기능.
• Copy/Cut/Paste/Undo/Redo 지원: 단축키와 메뉴를 통해 복사, 잘라내기, 붙여넣기, 실행 취소, 다시 실행을 사용할 수 있습니다.
• 줄 범위 선택: 버튼을 사용해 ACE 에디터에서 줄 범위를 하이라이트하고, 선택 영역을 복사할 수 있습니다.
• 좌표 변환:
- G91 → G90 : 모든 좌표를 절대값으로 다시 계산합니다.
- G90 → G91 : 모든 이동을 상대 좌표로 다시 계산합니다.
- 프로그램 시작 부분에서 G90을 제거하고 G91을 삽입합니다.
• "Format" 메뉴: 줄 번호, 불필요한 공백, 빈 줄, 주석 제거 및 대소문자 변경 기능.
• 지능형 포맷팅: 선택한 CNC 타입에 따라 자동으로 규칙을 적용합니다.
• 실시간 G-code 라인별 디코딩: 모달 그룹 상태, 공구 위치, M/S/T 코드를 추적합니다.
• 새 상태 변수: currentModalStateAtLine, currentPositionAtLine, miscCodesAtLine 추가.
• jumpToLine(row): 저장된 디코딩 데이터를 사용해 패널을 업데이트하도록 개선.
• 머신 구성 전환: 기본 구성은 FANUC 0i입니다.
• 추가 카메라 뷰: "View" 메뉴에 등측(isometric) 뷰를 포함한 여러 시점이 추가되었습니다.
• ABS/REL 좌표 표시: 시뮬레이션 중 절대·상대 좌표가 실시간으로 업데이트됩니다.
• 상대 좌표 계산: 각 줄마다 직전 공구 위치를 기준으로 상대 좌표를 계산합니다.
• FANUC G-code 모달 그룹 추적: 그룹 01–20을 지원하며, 활성 코드가 실시간으로 갱신됩니다.
• 동적 모달 그룹 테이블: 공식 FANUC 차트를 기반으로 자동 생성됩니다.
• M/S/T/F/D/H 코드 모니터링: 시뮬레이션 중 값이 실시간으로 표시됩니다.
• M/S/T/F/D/H 값의 시각 테이블: 추가 정보 패널에 표 형태로 표시됩니다.
• 향상된 simulateSteps 로직: 모달 및 보조 코드를 동적으로 파싱하고 적용합니다.
• 멀티 포맷 G-code 지원: G0/G00/G01/G1 등 다양한 표기 방식과 호환됩니다.
• 소재(Stock) 지원: 여유(클리어런스)와 위치 지정 파라미터, 모델에서 자동으로 소재 크기를 감지합니다.
• 소재 제거: localStorage에서 파라미터를 지우는 전용 버튼 추가.
• Drag & Drop 로딩: .nc 파일을 에디터로 직접 드래그해 바로 불러올 수 있습니다.
• 공구 교환 모달 창: 모바일 기기에 맞게 레이아웃이 최적화되었습니다.
• 공구 위치 지정: G-code 줄을 마우스 오른쪽 버튼으로 클릭하면 3D 장면의 공구가 해당 공구 경로 지점으로 이동합니다.
• F2+... 단축키: 화면에 단축키 힌트를 추가했습니다.
• 스마트 G-code 검색: 일반 검색, 선택 영역 내 검색, 줄 범위 검색의 3가지 모드를 지원합니다.
• 바꾸기(Replace) 기능: G-code 텍스트를 에디터 내에서 직접 수정할 수 있습니다.
• UI 개선: 새로운 Google 기술 폰트 적용, 드롭다운 메뉴 재설계(정렬 개선, 오른쪽에 단축키 표시).
• 모달 창 닫기: ESC 키로 모달 창을 닫을 수 있으며, 파일 열기 대화 상자도 포함됩니다.
• 단축키 사용 시 입력 차단: 키를 누르고 있는 동안 실수로 입력되는 문제를 방지합니다.
• 프로그램 저장: 상단 메뉴에 저장 기능을 추가하고 상태 및 타임스탬프를 표시합니다.
• 이중 스크롤 문제 수정: NC 프로그램 블록에서 발생하던 이중 스크롤 현상을 해결했습니다.
• 프로그램 내보내기: NC 코드를 파일로 내보낼 수 있습니다.
• 모바일 버전: 제한된 기능을 가진 반응형(어댑티브) 모드 추가.
• 활성 평면 선택: 시뮬레이션 모드에서 평면 선택 로직을 개선했습니다.
• 마우스 버튼 동작: 시뮬레이션 영역에서 마우스 버튼 동작을 재설계했습니다.
• 공구 경로 하이라이트 초기화: “Stop” 버튼을 누른 뒤 하이라이트가 제대로 리셋되지 않던 버그를 수정했습니다.
• 코드 하이라이팅: 파싱 중 색상 마크업을 추가했습니다.
• 프로그램 ID 저장: localStorage에 UUID 형식으로 저장합니다.
• 자동 리다이렉트: URL에 ?nc=UUID 파라미터가 없으면 자동으로 추가하여 이동합니다.
• 프로그램 저장: 에디터 내용을 임시 파일로 기록합니다.
• 데모 프로그램: 샘플 G-code를 로드하고 시각화합니다.
• 라인 인디케이터: 에디터의 현재 위치와 동기화됩니다.
• 에디터 리사이저: G-code 패널의 너비를 수동으로 조정할 수 있습니다.
• 두 가지 시뮬레이션 모드: SIMULATION 및 INSPECTION 모드 지원.
• 속도 저장: 슬라이더 값이 localStorage에 저장됩니다.
• 전체 화면 모드: 상태를 저장하고 다시 복원합니다.
• 오른쪽 패널 상태: localStorage에 저장됩니다.
• 공구 궤적(Trail) 상태: localStorage에 저장됩니다.
• 그리드: 줌 레벨에 따라 mm/cm/dm 단위로 자동 전환됩니다.
• 뷰 선택 (2D/3D): 선택 상태를 localStorage에 저장합니다.
• 에디터에서 줄 클릭: 해당 줄의 3D 공구 위치로 이동합니다.
• "From L" 기능: 선택한 줄부터 시뮬레이션을 실행합니다.
• L부터 단계별 시뮬레이션: 임의의 블록에서 애니메이션을 시작할 수 있습니다.
• "What's New" 패널: whatsnew.dat에서 로드되며 메뉴에서 열 수 있습니다.
• 모달 창 지원: 배경 흐림 처리와 세로 스크롤을 지원합니다.
• ACE 에디터 개선: 줄 중앙 정렬, 하이라이트 초기화 기능.
• 시뮬레이션 재개: 일시 정지 후에도 올바르게 복원됩니다.
• 공구 이동 애니메이션: TWEEN을 사용한 부드러운 이동.
• G-code 세그먼트 파싱: 분리된 블록도 지원하며, 오류를 보고합니다.
• 라인 센터링: 에디터에서 특정 줄로 점프할 때 뷰를 중앙에 맞춥니다.
• 컨트롤 버튼 동기화: 상단과 중앙의 제어 버튼 상태를 일치시킵니다.
• 파라미터 저장: 뷰, 전체 화면, 그리드, 속도, 트레일, L 등의 상태를 저장합니다.
• 대화 상자 확장 준비: 오버레이 지원을 위한 기반을 추가했습니다.
• "From L" 상태 저장: 페이지를 새로고침한 뒤에도 유지됩니다.
• 정지(Stop) 시 정리: 마커, 일시 정지 상태, 애니메이션을 모두 리셋합니다.