CutStock

CutStock Icon

CutStock

Verschnitt minimieren. Jedes Brett, jede Stange, jede Platte optimal nutzen.

Teile eingeben, Material wählen, optimieren — CutStock berechnet in Sekunden den besten Schnittplan. Für Platten und Stangen, mit Maserungsrichtung und Sägeblattbreite. Als Desktop-App (macOS, Windows) und selbst gehostete Web-App (Docker) — kein Internet nötig.


Platten zuschneiden

26 Zuschnitte für einen Kleiderschrank, verteilt auf Spanplatten von 2800 × 2070 mm? CutStock berechnet den Schnittplan in Sekunden — farbkodiert, mit nummerierter Schnittfolge zum Nachsägen. Sägeblattbreite, Besäumung und Maserungsrichtung sind eingerechnet, gedrehte Teile tragen ein „R".

CutStock Plattenzuschnitt
Plattenzuschnitt mit Nested-Guillotine-Plan und aufgeklappter Schnittfolge

Stangen ablängen

Leisten, Kanthölzer, Rohre, Aluprofile: Für Stangen rechnet CutStock die Aufteilung exakt als ganzzahliges Optimierungsproblem (ILP) — so werden möglichst wenige Stangen angeschnitten. Pro Stange stehen die Teile von lang nach kurz, der verbleibende Rest wird mit seiner Länge angezeigt.

CutStock Stangenzuschnitt
Stangenzuschnitt fürs Werkstattregal: bis zu 99 % Ausnutzung pro Stange, Restlängen direkt sichtbar

Fehlt Material? CutStock erstellt die Einkaufsliste.

Nicht genug Platten im Lager? CutStock zeigt sofort, welche Teile fehlen und wie viele Platten oder Stangen du dafür brauchst. Ein Klick auf „Ins Lager" bucht den Bedarf ein — so kaufst du genau das, was du brauchst.

Materialbedarf
Fehlende Teile und Materialbedarf auf einen Blick

Features

🪵 Platten und Stangen — ein Klick

Egal ob Spanplatten für den Schrank oder Kanthölzer für das Regal — CutStock findet den besten Schnittplan. Reste bleiben immer saubere Rechtecke bzw. gerade Abschnitte.

🧬 Bis zu 95 % Materialausnutzung

Für Platten drei Stufen: Schnell für den Überblick, Nested Guillotine für kluge Schnittrichtung, Gründlich (genetischer Algorithmus) für maximale Ausnutzung. Stangen werden exakt per ILP optimiert.

📊 Maserungsrichtung

Berücksichtigt Holzmaserung pro Material und Teil — längs, quer oder egal.

🔍 Defekte umgehen

Astlöcher, Risse, Verfärbungen pro Brett erfassen — der Optimierer plant drum herum, im Schnittplan erscheinen sie rot schraffiert.

📄 PDF-Export

Schnittpläne mit Stückliste und Schnittfolge als PDF — drucken und an die Säge hängen.

📋 Schnittfolge

Nummerierte Schrittliste pro Platte oder Stange — maßgenau, Sägeblattbreite eingerechnet. Beim Überfahren wird der Schnitt im Plan hervorgehoben.

🏷️ Etiketten

Druckbare Etiketten für Teile und Lagerstücke — A4-Bögen (Avery 3475/L7160) oder Dymo/Brother-Etikettendrucker.

🛒 Einkaufsliste auf Knopfdruck

Lager reicht nicht? CutStock zeigt sofort, was fehlt — Material, Menge, Maße. Per Klick wandert der Bedarf direkt ins Lager.

🖼️ Materialbilder

Ein Foto pro Material — als Vorschaubild in der Materialliste, mit Zoom beim Überfahren. So findest du das richtige Holz auf einen Blick.

🐳 Überall in der Werkstatt

Auf dem NAS oder Homeserver installieren — dann ist CutStock von jedem Gerät erreichbar. Tablet an der Säge, Laptop in der Planung, alles synchron. Kein Internet nötig.

📦 Immer wissen, was im Lager liegt

Bestand pflegen, verbrauchte Stücke automatisch austragen, verwertbare Reste wieder einbuchen — sobald du ein Teil als gesägt markierst.

🔢 Einzelstück-Nummerierung

Bei 50 gleichen Brettern weißt du genau, welches den Defekt hat: aufklappbare Stückliste (#1, #2 …) im Lagerbestand, Stücknummer im Schnittplan.

📂 Projekte duplizieren & teilen

Projekte klonen, Teile in andere Projekte kopieren, als JSON exportieren und importieren — fehlende Materialien legt CutStock beim Import selbst an.

⌨️ Tastenkürzel

Neu, Bearbeiten, Löschen, Lager und Optimieren per Taste — frei belegbar: Taste anklicken, neue Taste drücken.

🌍 Mehrsprachig

Deutsch, English, Français, Italiano. SAP-Horizon-Design in Hell und Dunkel. macOS, Windows und Docker.

🔨 Tablet an die Säge, lossägen

Werkstatt-Modus: Vollbild, große Touch-Buttons, ein Teil nach dem anderen abhaken. Jeder Haken aktualisiert Fortschritt und Lagerbestand — kein Zettelchaos mehr.

📥 CSV-Import

Teilelisten aus Excel & Co. direkt ins Projekt importieren — Trennzeichen und Spalten werden automatisch erkannt.

🔌 REST API

Vollständige API für Automatisierung, Skripte und Integrationen — optional per API-Key (Bearer Token) abgesichert.


Material & Lagerverwaltung

Alle Materialien mit Bild, Maßen, Maserung und Lagerbestand im Blick. Verbrauchte Stücke bucht CutStock beim Sägen automatisch aus, verwertbare Reste wieder ein. Bei mehreren gleichen Brettern zeigt die aufklappbare Stückliste, welches Brett welchen Defekt hat.

Material & Lager
Materialliste mit Bildern, Lagerbestand mit Einzelstücken und Defekt-Markierung

Defekte umgehen

Astloch auf Brett #1? Einmal erfasst, plant CutStock drum herum: Der Defekt erscheint rot schraffiert im Schnittplan, kein Teil landet darauf. Die Stücknummer im Plan-Kopf zeigt, welches Brett du aus dem Lager holen musst.

Defekt im Schnittplan
Gartenbank aus Eiche: Teile werden um das Astloch herum platziert

Projektverwaltung

Teile nach Projekten organisieren — mit Label, Material, Maßen, Stückzahl und Maserung. Projekte lassen sich duplizieren, Teile in andere Projekte kopieren und Listen per CSV oder JSON importieren. Der Fortschritt zeigt, was schon gesägt ist.

Projekte
Projektverwaltung mit Teileliste

Werkstatt-Modus

Tablet neben die Säge, Werkstatt-Modus an: eine Platte pro Seite, große Touch-Ziele, Gesamtfortschritt und „Als Nächstes"-Markierung. Jedes abgehakte Teil aktualisiert Fortschritt und Lagerbestand sofort.

Werkstatt-Modus
Werkstatt-Modus — abhaken direkt an der Säge

Web-App per Docker

Die Web-App bringt denselben Optimierungskern auf jeden Browser im Heimnetz — ideal für NAS, Homeserver oder Raspberry Pi (amd64 + arm64). Alle Assets sind im Image gebündelt, zur Laufzeit ist keine Internetverbindung nötig.

services:
  cutstock:
    image: ghcr.io/orohde/cutstock:latest
    container_name: cutstock
    restart: unless-stopped
    ports:
      - "8420:8000"
    volumes:
      - ./data:/data
    environment:
      - CUTSTOCK_DB=/data/cutstock.db

docker compose up -d — danach läuft CutStock unter http://localhost:8420. Details in der Anleitung auf GitHub.

Einstellungen
Einstellungen: Sprache, Etiketten, REST-API, Backup, Lizenz, Sägeblätter und frei belegbare Tastenkürzel

REST API

Die Web-App stellt eine vollständige REST API unter /api/ bereit. Alle Endpunkte liefern und erwarten JSON. Ist ein API-Key gesetzt, senden externe Programme ihn als Bearer-Token mit — die Web-Oberfläche und Zugriffe vom selben Rechner brauchen keinen Key.

Endpunkte (Auszug)

BereichEndpunkte
MaterialienGET/POST/PUT/DELETE /api/materials
LagerbestandGET/POST/PUT/DELETE /api/stock, Einzelstücke, Defekte
Projekte & TeileGET/POST/PUT/DELETE /api/projects, /api/parts
OptimierungPOST /api/optimize, /api/optimize/confirm
ExportPOST /api/pdf, POST /api/labels
SystemGET /api/version, /api/settings, Backup/Restore

Die vollständige Endpunkt-Liste mit Beispielen steht in der API-Dokumentation auf GitHub.


Warum Guillotine-Schnitte?

Alle CutStock-Algorithmen verwenden Guillotine-Schnitte — jeder Schnitt geht komplett von Kante zu Kante. Das ist eine bewusste Entscheidung:

VerfahrenMaterialausnutzungResteWerkzeug
Guillotine (CutStock)~85–95%Immer rechteckigTischkreissäge, Handkreissäge
Free-Cut~93–98%L-förmig, T-förmigCNC-Fräse nötig

Guillotine-Schnitte kann man mit jeder handelsüblichen Säge ausführen. Die Reste sind immer saubere Rechtecke, die gelagert und wiederverwendet werden können.


Technologie

CutStock setzt bewusst auf wenige, bewährte Open-Source-Bausteine. Alles läuft lokal — zur Laufzeit wird keine Internetverbindung benötigt.

Bibliothek / WerkzeugEinsatz in CutStock
Python 3.12+Anwendungslogik und eigene Optimierungsalgorithmen (Guillotine, Nested Guillotine, genetischer Algorithmus)
FastAPI · Uvicorn · PydanticWeb-Backend, REST-API und Datenvalidierung
SciPy (milp / HiGHS)Exakte Stangenoptimierung als ganzzahliges lineares Programm (ILP)
reportlabPDF-Erzeugung: Schnittpläne, Stücklisten, Etiketten
cryptographyEd25519-signierte Lizenzschlüssel
python-multipartDatei-Uploads: Materialbilder, Import, Backup-Wiederherstellung
SQLiteLokale Datenbank als einzelne Datei — kein Datenbankserver; auf macOS per iCloud Drive synchronisiert
SAP Fundamental StylesHorizon-Design (hell/dunkel) mit der Schrift „72", vollständig offline gebündelt
Vanilla JavaScript · HTML5 CanvasOberfläche ohne Framework, Schnittpläne als Canvas-Zeichnung
PyInstallerEigenständige Desktop-Apps für macOS und Windows — sie öffnen CutStock im Standard-Browser
DockerWeb-App-Image für amd64 und arm64 (ghcr.io/orohde/cutstock)
pytestAutomatische Tests für den Optimierungskern

Download

Desktop-App für macOS und Windows, Web-App als Docker-Image (ghcr.io/orohde/cutstock). Quellcode offen einsehbar, lizenziert unter PolyForm Noncommercial 1.0.0 — kostenlos für den privaten, nicht-kommerziellen Einsatz.

Sie möchten CutStock im Betrieb einsetzen — in der Schreinerei, Tischlerei oder Werkstatt? Eine kommerzielle Lizenz ist auf Anfrage erhältlich, Kontakt über das Impressum.

Hinweis: Die Desktop-Builds sind nicht code-signiert. macOS: Rechtsklick → Öffnen. Windows: „Weitere Informationen" → „Trotzdem ausführen".

Kommerzielle Lizenz anfragen

Sie möchten CutStock in Ihrem Betrieb einsetzen? Füllen Sie das Formular aus und wir melden uns mit einem Angebot.