gcode_read — PRINTPATH 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]

詳細使用指南

• printpath 族使用指南

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 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 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.