gcode op• 데이터 종류: text → table
• 호출: import fullseye as fs; fs.ledger.gcode_read(path: 'str', layer_from: 'str' = 'auto') -> 'dict[str, np.ndarray]'(구현을 직접 호출하려면 import printpath; printpath.gcode_read(path: 'str', layer_from: 'str' = 'auto') -> 'dict[str, np.ndarray]', 원장에서 가져오려면 opsprintpath.get("gcode_read"))
G-code(RepRap / Marlin 계열)를 선분 표 table로 읽는다: 열 x0 y0 z0 x1 y1 z1(mm), e(그 선분에서 압출한 필라멘트 길이 mm, 이동만이면 0), f(이송 mm/min), layer(층 번호).
해석하는 것은 G0 / G1(직선 이동), G90 / G91(좌표의 절대 / 상대), M82 / M83(E 의 절대 / 상대), G92(좌표의리셋), G28(원점 복귀: 지정 축 —— 미지정이면 X/Y/Z 전부 —— 을 0 에 둔다. Marlin 기본값의 min 끝점·원점 오프셋 0 을 가정하므로, max 쪽에 원점을 잡는 기계는 직후에 G92 로 좌표를 줄 것), G20 / G21(인치 / mm), ; 주석. G91 의 상대 이동은 시작점이 미정인 축에서는 위치를 미정인 채로 남긴다(상대량을 절대 좌표로 읽지 않는다). 원호 G2 / G3 은 다루지 않는다(조용히 직선으로 만들지 않고 ValueError —— 슬라이서에서 직선으로 전개하여 출력할 것). 층은 layer_from="tag" 이면 ;LAYER:n 의 주석, "z" 이면 압출을 동반하는 Z 의 증가로 자른다. "auto" 는 태그가 있으면 태그, 없으면 Z. 좌표가 한 번도 주어지지 않은 채 압출하는 행은 ValueError(방언의 구멍을 조용히 0 으로 메우지 않는다).
>>> t = gcode_read("part.gcode")
>>> t["e"].sum() # 압출한 필라멘트의 총 길이 [mm]
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.
• poc_print_layer_inspection — py -3.11 examples/poc_print_layer_inspection.py
table 를 입력으로 받는 것)gcode_write · gcode_extrusion_volume · gcode_time_estimate · gcode_layer_image · contours_to_gcode
gcode)gcode_write · gcode_extrusion_volume · gcode_time_estimate · gcode_layer_image
*Provenance: printpath.py — PRINTPATH 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.