Ugrás a tartalomhoz
← CutOptim Engine APIEngine API · nesting · már élesben

Lemez nesting API

Igen, van API a lemezalkatrészek nestingjéhez. Szabálytalan lemezalkatrészek — konzolok, merevítő lemezek, karimák, tömítések — táblalemezre nestelése valódi alakú nesting feladat, és a CutOptim Engine API a POST /v1/optimize/nest végponton oldja meg HTTP-n. Az ERP-d, MES-ed vagy árajánlatkészítő szoftvered JSON-ban elküldi az alkatrészek körvonalait és a lemezméreteket, és visszakapja a nestelt kiosztást, minden darab helyét és a lemezszámot — lézeres, plazmás vagy vízsugaras vágáshoz.

Ez már ma működik. A nesting motor (jagua-rs, egy geometriai ütközésmotor) éles környezetben fut a POST /v1/optimize/nest mögött — a téglalapos guillotine pakolótól eltérő algoritmusosztály, amely valódi alakú nestet ad vissza téglalapos vágásterv helyett.

Minden formátum, motor, korlát és kódminta fejlesztőknek: CutOptim nesting API

POST /v1/optimize/nest
{
  "parts": [
    { "name": "gusset",
      "polygon": [[0,0],[400,0],[0,400]],
      "qty": 16, "allowedRotations": [0,90,180,270] },
    { "name": "bracket",
      "polygon": [[0,0],[350,0],[350,120],[120,120],[120,350],[0,350]],
      "qty": 10, "allowedRotations": "continuous",
      "meta": { "part": "BRK-350" } }
  ],
  "stock": [
    { "w": 3000, "h": 1500, "qty": 12,
      "exclusions": [{ "polygon": [[0,0],[250,0],[0,250]], "quality": 0 }] }
  ],
  "options": { "minSeparation": 2, "edgeClearance": 10 }
}

A nesting nincs benne a nyilvános demóban — ezt a példát ingyenes tesztkulccsal futtathatod. Ingyenes tesztkulcs létrehozása

  • Már ma él a POST /v1/optimize/nest végponton — tetszőleges poligon alkatrészek (lyukakkal), nem csak téglalapok.
  • A táblánkénti kizárási zónák egy lemezhiba, egy leszorító helye vagy egy előre nyomtatott terület körül nestelnek (stock[].exclusions).
  • Anyag szerinti partíció: jelöld meg az alkatrészeket és a lemezeket, és minden alkatrész csak a saját anyagú lemezen nestelődik.
  • Csatolj meta objektumot (cikkszám, rendelési sor), és minden elhelyezett példánynál visszakapod, így a nest egyeztethető az ERP-ddel.
  • Több lemezméret: a nest összehasonlítja őket lemezterület szerint, vagy a minimizeCost mellett ár szerint, és keverheti is őket — egy félig üres utolsó lemez kisebb méretre vált.
  • Egy jellemző, 272 darabos munkán a nest 6 táblát használt ott, ahol ugyanezek a darabok befoglaló téglalappal 9-et igényelnek — a tisztességes mérőszám a lemezszám, nem a sűrűség-százalék.
  • Ingyenes ellenőrzés: a POST /v1/validate/nest kulcs és kvóta nélkül ellenőrzi a munkát.

Miért kell a lemezmegmunkáló műhelyeknek

A lemez drága, a szabálytalan alkatrészek pedig pazarolják: a téglalapos pakoló minden alkatrész befoglaló téglalapját tömörnek számolja, így a merevítő lemez vagy az L-konzol belsejében lévő üres tér elvész. A valódi alakú nesting a tényleges körvonalakat illeszti egymásba, és ezt az üres teret visszanyeri. Egy jellemző, 272 darabos munkán a nest 6 táblát használt ott, ahol ugyanezek a darabok befoglaló téglalappal 9-et igényelnek — a tisztességes mérőszám a lemezszám ugyanazokkal a darabokkal, nem a sűrűség-százalék.

Mit küldesz, és mit kapsz vissza

Minden alkatrészt poligonként (opcionális lyukakkal) és mennyiséggel küldesz, plusz a lemezméreteket. A válasz minden elhelyezést merev transzformációként ad (forgatás fokban, majd x/y eltolás), továbbá a lemezszámot, a sűrűséget és azokat a darabokat, amelyek nem fértek el. Jelöld meg az alkatrészeket és a lemezeket egy anyaggal, és a munka anyag szerint particionálódik — egy alkatrész csak a saját anyagú lemezen nestelődik —, a csatolt meta objektum (az ERP-s cikkszámod, rendelési sor) pedig szó szerint visszajön minden elhelyezett példánynál, így a nest egyeztethető a rendszeredben. Minden lemez hordozza azt az alapanyag-sort is, amelyből kivágták, a vágáshosszát és az átszúrásszámát, a stockUsage pedig összesíti a lemezeket és az árat lemezméretenként.

Kizárási zónák — nestelés egy hiba körül

A táblánkénti kizárási zónák (stock[].exclusions) lehetővé teszik, hogy a motor egy lemezhiba, egy leszorító helye vagy egy előre nyomtatott terület körül nesteljen — a quality-0 zóna minden alkatrész számára tiltott terület. A forgatás lehet folyamatos vagy diszkrét lista; az options.minSeparation az alkatrészek közötti távolságot adja meg a pisztoly vagy a sugár szélességéhez, az options.edgeClearance pedig a lemez szélén hagyott távolságot. Az elrendezés determinisztikus: egy rögzített seed ugyanazt a nestet reprodukálja árajánlathoz vagy auditáláshoz.

Azonnal az árajánlathoz, max a megrendeléshez

A POST /v1/optimize/nest az lbf motorral szinkron válaszol — determinisztikusan, a kérésen belül, elég gyorsan ahhoz, hogy a munkát az ügyfél várakozása közben beárazd. Amikor a munkát a gépre engedik, küldd el ugyanazt a törzset engine: "max" értékkel, és kérdezd le a GET /v1/jobs/{id} végpontot: előbb lefuttatja az lbf-et, majd az általad megadott időkeretet (options.timeBudgetMs) arra költi, hogy kevesebb lemezes elrendezést keressen, és sosem ad vissza többet. A válasz alakja mindkét esetben ugyanaz; a kizárási zónás táblát ebben a munkában is az lbf szolgálja ki, figyelmeztetéssel.

Letölthető anyag
Lemez nesting API — összefoglaló

Kétoldalas összefoglaló (PDF, angol nyelven) — a probléma, mit küldesz és mit kapsz vissza, egy kérés és egy válasz, és hogyan építhetsz a motorra. Nyomtatásra kész, QR-kóddal erre az oldalra.

PDF2 oldalIngyenes
PDF letöltése

Gyakori kérdések

Van API lemezalkatrészek nestingjéhez?
Igen. Szabálytalan alkatrészek valódi alakú nestingje lemezre a CutOptim Engine API negyedik módja, a POST /v1/optimize/nest. Minden alkatrészt poligonként (opcionális lyukakkal) küldesz, plusz a lemezméreteket, és visszakapod a nestelt kiosztást, minden példány helyét és a lemezszámot — lézeres, plazmás vagy vízsugaras vágáshoz. Ez egy geometriai ütközésmotor, amely ma már éles környezetben fut.
Kezeli a lemezhibákat vagy a leszorítók helyét?
Igen. Minden lemez hordozhat kizárási zónákat (stock[].exclusions) — poligonokat, amelyektől a motor minden alkatrészt távol tart. A quality-0 zóna tiltott terület, így egy hiba, egy leszorító helye vagy egy előre nyomtatott terület köré is nestelhetsz. Ezt a képességet a téglalapos API nem tudja kifejezni.
Megjelölhetem az alkatrészeket az ERP-s cikkszámaimmal?
Igen. Bármelyik alkatrész- vagy lemezsor hordozhat meta objektumot — a cikkszámodat, a rendelési sort vagy az ügyfél hivatkozását —, és az szó szerint visszajön minden elhelyezett példánynál és minden lemeznél, így a nest egyeztethető a saját rendszeredben. Soha nem befolyásolja az elrendezést. Jelölj meg anyagot is, és a munka úgy particionálódik, hogy egy alkatrész csak a saját anyagú lemezen nestelődik.
Hány lemezt fog megspórolni?
Az alkatrészek összetételétől függ, ezért általános százalékot nem mondunk. A tisztességes, összevethető mérőszám a lemezszám ugyanazokkal a darabokkal: egy jellemző, 272 darabos munkán a valódi alakú nest 6 lemezt használt ott, ahol ugyanezek a darabok befoglaló téglalappal elhelyezve 9-et igényelnek. A sűrűség-százalék nem összevethető egy téglalapos pakoló kihasználásával, mert a befoglaló téglalap a bemarási üres teret tömörnek számolja.
Tud választani több lemezméret között?
Igen. Küldj egy alapanyag-sort lemezméretenként (árral, ha a legolcsóbb tervet kéred), és a nest összehasonlítja őket — a teljes lemezterület szerint, vagy az options.minimizeCost mellett a teljes ár szerint —, így az eredmény nem függ attól, milyen sorrendben sorolod fel őket. Keverheti is a méreteket: minden lemezt, a legkevésbé tele lévővel kezdve, újranestel az olcsóbb vagy kisebb méretekre, és kicseréli, ha a teljes terv jobb, így egy félig üres utolsó lemez gyakran kisebb méretre vált. A sheets[].stock és a stockUsage megmondja, melyik méretből jött minden lemez.
Jelenti, hogy egy kis munka a lemez mekkora részét használja?
Igen. Minden lemez hordozza a usedWidth, a usedHeight és a usedArea értéket — az elhelyezett alkatrészek befoglaló téglalapja a lemez sarkától —, így egy árajánlat a teljes lemez helyett egy sávot vagy a befoglaló téglalapot számlázhatja. A legkevésbé tele lévő lemezt alapértelmezésben e sarok felé tömörítjük, azokkal a forgatás-részhalmazokkal, amelyeket az egyes alkatrészek megengednek; a lemezszám és az ár sosem változik.

Lemezmegmunkálási használati eset (app) · Benchmarkok