2.4 KiB
Chargen, Etiketten und 3D-Viewer
Stand 17.10.2026.
Spulen-Chargen
Jede Spule in Grotti bekommt automatisch eine chargen_nr der Form S-YYYYMMDD-0001. Derselbe Wert steht in code und auf dem Etikett. Optional: hersteller_charge vom Rollenetikett.
Scannen: auf Material den Code tippen oder per USB-Handscanner (Tastatur + Enter). Lookup GET /api/v1/spulen/by-code/<code>. QR auf dem Etikett öffnet /material?spool=<id>.
Etikett: /etikett/<id>, Druck über den Browser. QR per lokalem qrcode.min.js (web/static/). Basis-URL für den QR kommt aus Einstellungen → FQDN (config.json Key fqdn); leer = Host der aktuellen Anfrage. Beispiel: https://grotti.example.de/material?spool=12.
Druck-Chargen
D-YYYYMMDD-0001 vergibt der Watcher am aktiven Lauf (History-Job, sonst Live). adopt_live_run übernimmt die Nummer. Objekt-Etiketten D-…-01 sobald Objektnamen da sind.
Druck über /etikett/lauf/<id>?mode=druck|objekt. Auf dem Bogen: Charge, Zielgewicht (Slicer-Soll), Drucker, Material (Abzug oder Send/ACE/Lauf-Spule), QR 20 mm im 70‑mm-Bogen. Wand: Knopf Etikett bei Druck/Pause. Urteil Ausschuss ändert die Charge nicht — gedruckte Bögen verwerfen.
3D-Pfad
GET /api/v1/dateien/<id>/pfad liefert einen gedünnten Toolpath (bis ca. 220 000 Punkte, plus layer_breaks, Cache-version 8) aus dem lokalen G-code. Thinning behält ganze Z-Höhen dicht und lässt nur ganze Schichten weg (sonst gesprenkelte Wände). Die Dateien-Seite und das Cockpit zeichnen ihn mit Three.js.
Darstellung: nur Extrusionswege. Preview = orange. Live: gedruckt leicht verdickt grün, offen grau; Schnitt nach progress. Parser akzeptiert E.39/Z.6. Bett: Gitter 10 mm, mm-Sprites, Legende.
Exclude-Object (nur Klipper/Moonraker): Status aus exclude_object. Polygone im Viewer; Liste unter dem Pfad; Zwei-Klick → POST .../steuern Action exclude_object mit confirm. Fehlt Modul/DEFINEs → Panel aus. BambuLab später eigener Adapter.
Cockpit-Live: Kamera-Frames werden unsichtbar vorgeladen (letztes Bild bleibt), no-cam-Layout nur ohne Kamera-URL. 3D-Orbit bleibt beim 5‑s-Poll erhalten (setPath nur beim ersten Laden / Dateiwechsel).
Auf der Wand: Caption Dateiname · % · Schicht a/b, sonst „Datei nicht in Grotti“.
Bedienung: Orbit / Zoom / Schwenken / Doppelklick-Reset; Tippen auf Polygon wählt das Objekt.