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.