CutOptim Engine API
Eine deterministische Zuschnittoptimierungs-Engine, aufrufbar über HTTP: Dieselbe Anfrage liefert immer denselben Schnittplan — Sie können ihn prüfen, daraus kalkulieren, damit einen Streitfall beilegen und den Auftrag vom letzten Jahr erneut ausführen, um den Plan vom letzten Jahr zu erhalten. Es ist dieselbe Engine, die CutOptim antreibt, über die drei rechteckigen Modi hinweg (2D-Platten, 1D-Linearmaterial und Holz mit Querschnitts-Zuordnung), dazu True-Shape-Nesting für unregelmäßige Polygonteile — POST /v1/optimize/nest, für Laser-, Plasma- und Wasserstrahlschneiden. Senden Sie Teile und Ausgangsmaterial und erhalten Sie das komplette Layout, den Schnittplan und die Auslastung zurück — fertig zur Einbindung in ein ERP, eine Angebotssoftware oder die Software einer Maschine.
Den vollständigen Benchmark ansehen → · Gemessen, nicht behauptet
Warum darauf aufbauen
Dieselbe Eingabe liefert immer dieselbe Ausgabe — kein Zufall, keine Uhr im Algorithmus. Sie können Ergebnisse cachen und in Tests vergleichen.
Nicht nur Rechtecke: die Guillotine-Schnittsequenz, Schnittlinien gegenüber Sägedurchgängen, die gesägte Länge und ein Kennzeichen, das Ihnen sagt, ob sich der Plan auf einer Plattensäge herstellen lässt.
Sägeblattdicke, Besäumung je Seite, Toleranz, Kostenmodus, Fasergruppen, maximale Schnittstufen, Drehungsminimierung — dieselben Optionen, die auch die App bietet.
Was die API leistet
Je ein Aufruf für 2D-Platten, 1D-Linearmaterial, Holz mit Querschnitts-Zuordnung und True-Shape-Nesting unregelmäßiger Polygone — POST /v1/optimize/2d, /1d, /wood und /nest.
POST /v1/optimize/nest packt beliebige Polygone (mit holes) auf feste Platten und verschachtelt Teile in die konkaven Aussparungen der anderen — 6 Platten, wo dieselben Teile per Bounding Box 9 brauchen. Für Laser-, Plasma- und Wasserstrahlschneiden. Ausschlusszonen je Platte (ein Defekt, eine Spannpratze) sind inbegriffen.
Versehen Sie Teile und Ausgangsmaterial mit einem material, und der Optimierer partitioniert den Auftrag: jedes material wird nur aus dem eigenen Ausgangsmaterial geschnitten. In jedem Modus; eine Auswertung je material kommt zurück.
Benennen Sie je Kante (2D) einen Anleimtyp, und die Response summiert die laufenden Meter je Typ — je Teil und je Auftrag. Metadaten: ein Teil wird dadurch nie verschoben.
Fordern Sie include:["svg","csv","dxf"] an, und die Antwort trägt das Layout als fertige Datei mit, inline — eine eigenständige 2D-SVG-Zeichnung, ein DXF im Format R12/AC1009 oder eine CSV-Schnittliste. Keine Speicherung, kein zweiter Aufruf.
Hängen Sie an jedes Teil und jede Materialzeile ein meta-Objekt — Ihre ERP-Artikelnummer, Auftragspositions-ID, Kundenreferenz — und es kommt bei jedem platzierten Stück und jeder Platte bzw. jedem Stab wortgetreu zurück, sodass der Plan mit Ihrem System übereinstimmt.
POST /v1/validate/{2d,1d,wood} prüft denselben Body per Schema, ohne zu rechnen — kein Schlüssel, kein Kontingent. Stellen Sie sicher, dass ein Payload nicht abgewiesen wird, und erhalten Sie Machbarkeitswarnungen, bevor Sie einen Aufruf verbrauchen.
minimizeCost bewertet nach der niedrigsten Gesamtrechnung über bepreiste Materialgrößen hinweg und mischt Formate; die Voreinstellung minimiert das Material. Beide nutzen denselben guillotine-Algorithmus.
Markieren Sie Ausgangsmaterial, das zuerst aufgebraucht wird, behandeln Sie Mengen mit respectStock als hartes Limit, und kennzeichnen Sie Muss-Teile, die bei knappem Material den Plattenplatz gewinnen.
Nicht nur Rechtecke: die guillotine-Schnittsequenz mit Anschlagpositionen je Schritt, Schnittlinien gegenüber Sägedurchgängen, die gesägte Länge und ein Kennzeichen, ob sich der Plan auf einer Plattensäge herstellen lässt.
kerf, Besäumung je Seite, Toleranz, grain groups, maxCutStages und Drehungsminimierung — dieselben Optionen, die auch die App bietet.
Dieselbe Eingabe liefert immer dieselbe Ausgabe — cachen und vergleichen. Eine fixierbare Engine-Version und ein OpenAPI-3.1-Dokument beschreiben den gesamten Contract.
Senden Sie SVG oder DXF statt Koordinaten: parts[].source liest Umriss und Löcher aus der Zeichnung, und POST /v1/import/nest zerlegt zuvor eine Datei mit mehreren Teilen. Nichts wird gespeichert — die Datei wird im Arbeitsspeicher verarbeitet und ist mit der Antwort fort.
Welche Engine bedient welchen Modus
Der Endpunkt, an den Sie POSTen, wählt den Modus; der engine-Parameter wählt den Algorithmus. Die voreingestellte heuristic-Engine bedient 2D, 1D und Holz; balanced und die asynchrone max-Engine sind nur für 2D; und True-Shape-Nesting läuft auf der eigenen lbf-Engine. Dieselbe Engine wie in der App, über HTTP.
- heuristic — Die Voreinstellung — ein guillotine-Multi-Strategie-Packer. Höchste Ausbeute, jedes Layout ist sägbar, und er liefert stets einen Schnittplan. Er bedient 2D, 1D und Holz.
- balanced — Ein optionaler MaxRects-Free-Nester für 2D. Bei sehr großen Aufträgen deutlich schneller bei etwas geringerer Ausbeute, aber seine Layouts lassen sich oft nicht Kante an Kante sägen und tragen daher keinen Schnittplan.
- max — Eine asynchrone Baumsuche für 2D. Sie erreicht bei weit mehr Aufträgen das nachweisbare Optimum, in Sekunden bis zu einer Minute je Lösung — Sie übermitteln den Auftrag und pollen GET /v1/jobs/{id} für das Ergebnis. Weiterhin deterministisch und sägbar.
- lbf — Die True-Shape-Nesting-Engine. Sie packt unregelmäßige Polygone in die Aussparungen der jeweils anderen für Laser, Plasma und Wasserstrahl; ein dichteres sparrow-Build ist geplant.
Welcher Endpunkt für welches Material: flache Platten — Sperrholz, MDF, Glas, Acryl, Blech — gehen an /v1/optimize/2d; Stäbe, Rohr, Rundrohr und Profil an /v1/optimize/1d; Konstruktionsholz (ein 50×150 nur aus 50×150) an /v1/optimize/wood; unregelmäßige Polygone für Laser, Plasma und Wasserstrahl an /v1/optimize/nest.
Ein Aufruf, ein vollständiger Plan
curl https://api.cutoptim.com/v1/optimize/2d \
-H "Authorization: Bearer co_live_…" \
-H "Content-Type: application/json" \
-d '{
"parts": [
{ "name": "Door", "w": 600, "h": 400, "qty": 4 },
{ "name": "Shelf", "w": 800, "h": 300, "qty": 6 }
],
"stock": [{ "w": 2440, "h": 1220, "price": 42 }],
"options": { "kerf": 3, "effort": "balanced" },
"engine": "heuristic"
}'Zurück kommt:
{
"metrics": { "sheetCount": 1, "yieldPct": 80.62, "placed": 10, "total": 10,
"cutLines": 10, "sawPasses": 13, "cutLength": 10720, "totalPrice": 42 },
"sheets": [ … ],
"cutPlan": [{ "sheet": 0, "step": 1, "axis": "h", "pos": 400, "length": 2440, "stage": 1 }, … ],
"guillotineValid": true,
"engineVersion": "1.0.0+10e0c941",
"deterministic": true
}Vollständige Request- und Response-Struktur, alle Optionen, alle Fehlercodes und alle drei Engines:API-Referenz →
Schnell oder dicht? Mit einer Option wählen
Die Option effort wägt Rechenzeit gegen Auslastung ab. Hier ist dieser Kompromiss, gemessen an einem anspruchsvollen Auftrag — jede Zahl stammt vom echten Packer.
Und schnell ist es ohnehin: selbst die größten Produktionsaufträge — 2.000 Teile und mehr — werden auf der Standard-Engine in einstelligen Sekunden gelöst, bequem innerhalb des API-Zeitbudgets.
Preise
Größere Volumen. 10,000 Anfragen pro Monat sind der Standardtarif, keine Obergrenze dessen, was wir betreiben können. Wenn Sie mehr brauchen — höheres Volumen, getrennte Schlüssel für Staging und Produktion oder eine dedizierte Vereinbarung —, nennen Sie uns Ihre Zahlen, und wir kalkulieren individuell. Nennen Sie uns Ihr Volumen →
Die regulären CutOptim-Pakete (Free / Pro / Werkstatt) haben mit der API nichts zu tun — der Optimierer in der App bleibt darin enthalten. Zu den App-Preisen →
Solutions by industry
The same engine, positioned for the way one trade cuts. Each page shows the endpoint, a request and a response, and the fields that matter for that material.
1D cut-to-length for tube, pipe and hollow section. POST /v1/optimize/1d
1D cut-to-length for steel and aluminium profile, bar and section, with cost mode. POST /v1/optimize/1d
2D guillotine, zero-kerf score-and-snap for float, tempered and mirror glass. POST /v1/optimize/2d
1D cut-to-length for structural timber with cross-section matching. POST /v1/optimize/wood
True-shape nesting of irregular polygons, with exclusion zones. POST /v1/optimize/nest
True-shape nesting onto plate for laser, plasma or waterjet. POST /v1/optimize/nest
Bar bending schedule optimization for reinforcement steel. · design partners wanted
The why, what and how of the CutOptim Engine API on two pages — the three modes, a request and response, determinism and pricing. Print-ready, with a QR back to this page.