Gridfinity Studio

Gridfinity ist ein offener Standard für modulare 3D-gedruckte Aufbewahrung: Baseplates im 42-mm-Raster, darauf stapelbare Bins. Das Tooling dafür ist allerdings über vier verschiedene Single-Purpose-Web-Tools verstreut – eins generiert hübsche Bins, eins plant Schubladen-Layouts, eins traced Werkzeuge aus Fotos. Keins kann den ganzen Workflow.

Gridfinity Studio ist mein Versuch, das zu ändern: eine Desktop-App im Stil einer FreeCAD-Werkbank, die alle drei Säulen vereint – Plan (eine echte Schublade millimetergenau auslegen), Generate (parametrische Bins und Baseplates mit Live-3D-Vorschau) und Tools (ein reales Werkzeug vom Foto in einen passgenauen Einsatz verwandeln). Alles läuft lokal und offline, ohne Server.

Eine eigene Geometrie-Engine

Das Herzstück ist eine selbst gebaute Sweep-Geometrie: Die CSG-Bibliothek manifold-3d kennt keine Sweep-Operation, also baue ich die Gridfinity-Fuß- und Lippen-Profile als indizierte Triangle-Meshes von Hand – ein geschlossenes 2D-Profil, das entlang eines abgerundeten Rechtecks extrudiert und an den Ecken revolved wird. Die Booleans laufen als WASM in einem Web Worker, damit die Parameter-Slider flüssig bleiben.

Exportiert wird über handgeschriebene Writer: binäres STL, 3MF als ZIP+XML mit eingebetteten Parametern (sodass sich Dateien wieder importieren und weiterbearbeiten lassen) – und für Schaumstoff-Shadowboards millimetergenaues SVG und DXF für Laser und CNC.

Werkzeuge tracen – mit und ohne KI

Für die Tools-Säule liegen zwei Tracer nebeneinander:

  • MobileSAM lokal – Segmentierung per onnxruntime-web, komplett offline; der schwere Encoder läuft einmal pro Foto, der Prompt-Decoder in ~100 ms pro Klick.
  • Klassische CV-Pipeline ohne Dependencies – Graustufen → Otsu-Threshold → Marching Squares → Douglas-Peucker → Chaikin-Smoothing. Die Skalierung kommt von vier per Hand markierten Ecken eines Blatts Papier unter dem Werkzeug: Eine Homographie rechnet Bild-Pixel in echte Millimeter um.

Getracte Umrisse lassen sich anschließend wie in Figma mit Bezier-Pfadwerkzeugen nachbearbeiten.

Verlässlich durch Invarianten-Tests

Damit die generierten Meshes wirklich druckbar sind, sichern 79 Vitest-Cases Geometrie-Invarianten ab – wasserdicht, korrektes Genus, plausibles Volumen – validiert gegen die OpenSCAD-Referenzimplementierung.

Gridfinity Studio ist ein aktives Herzensprojekt – und meine Schubladen werden langsam wirklich ordentlich.

Sprachen

  • TypeScript65.0%
  • Vue35.0%

Aktivität

29 Commits vor 11 Stunden