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]
• 範例資料目錄(下載 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.