Files
grotti/docs/Chargen-Etiketten-Viewer.md
T

1.7 KiB
Raw Blame History

Chargen, Etiketten und 3D-Viewer

Stand 14.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 qrcode.js (CDN). 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.

3D-Pfad

GET /api/v1/dateien/<id>/pfad liefert einen gedünnten Toolpath (bis ca. 120 000 Punkte, plus layer_breaks, Cache-version 5) aus dem lokalen G-code. 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.