CutOptim Engine API
Determinisztikus vágásoptimalizáló motor, HTTP-n hívhatóan: ugyanaz a kérés mindig ugyanazt a vágástervet adja vissza — így auditálhatod, árajánlatot készíthetsz belőle, vitát zárhatsz le vele, és újrafuttathatod a tavalyi rendelést, hogy a tavalyi tervet kapd. Ugyanaz a motor, amely a CutOptimot működteti, a három téglalapos módjával (2D lap, 1D lineáris és faanyag keresztmetszet-párosítással), plusz valódi alakú nesting a szabálytalan poligon darabokhoz — POST /v1/optimize/nest, lézeres, plazmás és vízsugaras munkához. Beküldöd a darabokat és az alapanyagot, visszakapod a teljes elrendezést, a vágástervet és a kihasználást — készen arra, hogy egy ERP-be, egy árazó eszközbe vagy egy gép saját szoftverébe illeszd.
Teljes benchmark megtekintése → · Mérve, nem ígérve
Miért erre építs
Ugyanaz a bemenet mindig ugyanazt a kimenetet adja — nincs véletlenszerűség, nincs óra az algoritmusban. Az eredmények cache-elhetők, és tesztekben összehasonlíthatók.
Nem csak téglalapok: a guillotine vágási sorrend, a vágásvonalak és a fűrészelések külön, a vágáshossz, és egy jelző arról, hogy az elrendezés legyártható-e panelfűrészen.
Fűrészrés, oldalankénti széllevágás, tolerancia, költség-mód, erezet-csoportok, max. vágási fázis, forgatás-minimalizálás — ugyanazok a beállítások, amelyeket az app is kínál.
Mit tud az API
Egy-egy hívás a 2D lapokhoz, az 1D lineáris anyaghoz, a keresztmetszet-illesztéses fához és a szabálytalan poligonok valódi alakú nestingjéhez — POST /v1/optimize/2d, /1d, /wood és /nest.
A POST /v1/optimize/nest tetszőleges poligonokat (lyukakkal együtt) pakol fix táblákra, egymás konkáv zsebeibe illesztve a darabokat — 6 tábla ott, ahol ugyanezek a darabok befoglaló téglalappal 9-et igényelnek. Lézeres, plazmás és vízsugaras munkához. Táblánkénti kizárási zónák (egy hiba, egy leszorító) is járnak vele.
Lásd el a darabokat és a készletet egy material címkével, és az optimalizáló szétosztja a munkát: minden material csak a saját készletéből vágódik ki. Minden módban; material szerinti összesítés jön vissza.
Nevezz meg élenként egy élzárás-típust (2D), és a válasz típusonként összegzi a folyómétert — darabonként és rendelésenként. Metaadat: egy darabot sosem mozdít el.
Kérj include:["svg","csv","dxf"] értéket, és a válasz kész fájlként, beágyazva viszi az elrendezést — önálló 2D SVG rajzot, R12/AC1009 DXF-et vagy CSV vágásjegyzéket. Nincs tárolás, nincs második hívás.
Csatolj egy meta objektumot — az ERP-cikkszámodat, rendelés-sor azonosítót, vevői hivatkozást — bármelyik darab- vagy alapanyag-sorhoz, és szó szerint visszakapod minden elhelyezett darabon és minden táblán/rúdon, így a terv egyeztethető a rendszereddel.
A POST /v1/validate/{2d,1d,wood} séma-ellenőrzi ugyanazt a törzset megoldás nélkül — nincs kulcs, nincs kvóta. Ellenőrizd, hogy egy törzset nem utasítunk el, és kapj megvalósíthatósági figyelmeztetéseket, mielőtt elköltesz egy hívást.
A minimizeCost a legalacsonyabb végösszeg szerint rangsorol az árazott készletméretek között, keverve a formátumokat; az alapértelmezés az anyagot minimalizálja. Mindkettő ugyanazt a guillotine algoritmust futtatja.
Jelöld meg az elsőként elfogyasztandó készletet, kezeld a mennyiségeket kemény plafonként a respectStock-kal, és jelöld a kötelezően kivágandó darabokat, amelyek szűkös anyagnál elnyerik a helyet a táblán.
Nem csak téglalapok: a guillotine vágási sorrend lépésenkénti ütköző-pozíciókkal, a vágásvonalak és a fűrészelések külön, a vágáshossz, és egy panelfűrészen-legyártható jelző.
kerf, oldalankénti széllevágás, tolerancia, grain groups, maxCutStages és forgatás-minimalizálás — ugyanazok a beállítások, amelyeket az app is kínál.
Ugyanaz a bemenet mindig ugyanazt a kimenetet adja — cache-eld és hasonlítsd össze. Egy rögzíthető motorverzió és egy OpenAPI 3.1 dokumentum írja le a teljes szerződést.
Koordináták helyett küldj SVG-t vagy DXF-et: a parts[].source kiolvassa a kontúrt és a lyukait a rajzból, a POST /v1/import/nest pedig előbb szétbontja a több darabot tartalmazó fájlt. Semmi nem tárolódik — a fájl a memóriában dolgozódik fel, és a válasszal együtt megszűnik.
Melyik motor melyik módot szolgálja ki
Az a végpont, amelyre POST-olsz, választja ki a módot; az engine paraméter az algoritmust. Az alapértelmezett heuristic motor a 2D-t, az 1D-t és a fát szolgálja ki; a balanced és az aszinkron max motor csak 2D; a valódi alakú nesting pedig a saját lbf motorján fut. Ugyanaz a motor, mint az appban, HTTP-n keresztül.
- heuristic — Az alapértelmezés — egy guillotine több-stratégiás packer. A legmagasabb kihozatal, minden elrendezés fűrésszel vágható, és mindig ad vágástervet. A 2D-t, az 1D-t és a fát is kiszolgálja.
- balanced — Egy opcionális MaxRects szabad-nester a 2D-hez. Sokkal gyorsabb a nagyon nagy munkákon, kicsivel alacsonyabb kihozatalért, de az elrendezései gyakran nem vághatók éltől élig, ezért nem hordoznak vágástervet.
- max — Egy aszinkron fakeresés a 2D-hez. Sokkal több munkán éri el a bizonyítottan optimálisat, megoldásonként másodpercek–egy perc alatt — beküldöd a munkát, és a GET /v1/jobs/{id} lekérdezésével kapod meg az eredményt. Továbbra is determinisztikus és fűrésszel vágható.
- lbf — A valódi alakú nesting motor. Szabálytalan poligonokat pakol egymás zsebeibe lézeres, plazmás és vízsugaras vágáshoz; egy nagyobb sűrűségű sparrow build tervben van.
Melyik végpont melyik anyaghoz: sík lapok — rétegelt lemez, MDF, üveg, akril, lemez — a /v1/optimize/2d végpontra; rúd, cső és profil a /v1/optimize/1d végpontra; szerkezeti faanyag (egy 50×150 csak 50×150-ből) a /v1/optimize/wood végpontra; szabálytalan poligonok lézeres, plazmás és vízsugaras vágáshoz a /v1/optimize/nest végpontra.
Egy hívás, egy teljes terv
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"
}'A válasz:
{
"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
}A teljes kérés- és válaszszerkezet, minden beállítás, az összes hibakód és mind a három motor:API-referencia →
Fast vagy sűrű? Válaszd egy beállítással
Az effort beállítás a számítási időt mérlegeli a kihasználással szemben. Íme ez a kompromisszum, egyetlen igényes munkán mérve — minden szám a valódi pakolóból származik.
És amúgy is gyors: még a legnagyobb gyártási munkák — 2000 darab és több — is másodpercek alatt megoldódnak az alapértelmezett motoron, kényelmesen az API időkeretén belül.
Árazás
Nagyobb volumen. A havi 10,000 kérés a standard csomag, nem annak a plafonja, amit ki tudunk szolgálni. Ha többre van szükséged — nagyobb volumenre, külön kulcsra a stagingre és az éles rendszerre, vagy egyedi megállapodásra —, írd meg a számaidat, és egyedileg árazzuk. Írd meg a volumenedet →
A szokásos CutOptim csomagok (Ingyenes / Pro / Műhely) nem kapcsolódnak az API-hoz — az appban futó optimalizáló továbbra is a részük. Az app árai →
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.