gcode_read — PRINTPATH gcode op

• Datenarten: text → table

• Aufruf: import fullseye as fs; fs.ledger.gcode_read(path: 'str', layer_from: 'str' = 'auto') -> 'dict[str, np.ndarray]' (die Implementierung direkt: import printpath; printpath.gcode_read(path: 'str', layer_from: 'str' = 'auto') -> 'dict[str, np.ndarray]'; aus dem Register: opsprintpath.get("gcode_read"))

Verwendung

Liest G-code (RepRap-/Marlin-Familie) in eine Tabelle von Liniensegmenten table: Spalten x0 y0 z0 x1 y1 z1 (mm), e (auf diesem Segment extrudierte Filamentlänge in mm, 0 bei reiner Leerfahrt), f (Vorschub mm/min), layer (Schichtnummer).

Interpretiert werden G0 / G1 (lineare Bewegungen), G90 / G91 (absolute / relative Koordinaten), M82 / M83 (absolutes / relatives E), G92 (Koordinaten- Reset), G28 (Referenzfahrt: setzt die angegebenen Achsen -- ohne Angabe alle von X/Y/Z -- auf 0. Angenommen werden Marlins Standard-min-Endschalter und Home-Offset 0, daher müssen Maschinen mit Nullpunkt auf der max-Seite direkt danach mit G92 Koordinaten setzen), G20 / G21 (Zoll / mm) und ;-Kommentare. Eine relative G91-Bewegung lässt die Position auf Achsen mit unbestimmtem Startpunkt unbestimmt (ein relativer Betrag wird nicht als absolute Koordinate gelesen). Bögen G2 / G3 werden nicht behandelt (ValueError statt stillschweigend eine Gerade daraus zu machen -- im Slicer in Geraden auflösen und so ausgeben). Schichten werden mit layer_from="tag" an ;LAYER:n-Kommentaren getrennt, mit "z" an Z-Zunahmen, die mit Extrusion einhergehen. "auto" nimmt Tags, falls vorhanden, sonst Z. Eine Zeile, die extrudiert, bevor je eine Koordinate gegeben wurde, ergibt ValueError (Lücken eines Dialekts werden nicht stillschweigend mit 0 gefüllt).

>>> t = gcode_read("part.gcode")

>>> t["e"].sum() # Gesamtlänge des extrudierten Filaments [mm]

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie printpath

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• poc_print_layer_inspection — py -3.11 examples/poc_print_layer_inspection.py

Typkompatible Folge-Operatoren (nehmen table als Eingabe)

gcode_write · gcode_extrusion_volume · gcode_time_estimate · gcode_layer_image · contours_to_gcode

Gleiche Kategorie (gcode)

gcode_write · gcode_extrusion_volume · gcode_time_estimate · gcode_layer_image


*Provenance: printpath.py — PRINTPATH Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

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