Salta al contenuto principale
← CutOptim Engine APIEngine API · nesting · già disponibile

API di nesting per lamiera

Sì, esiste un’API per il nesting della lamiera. Disporre pezzi irregolari di lamiera — staffe, fazzoletti, flange, guarnizioni — su piastre a magazzino è un problema di nesting true-shape, e la CutOptim Engine API lo risolve via HTTP su POST /v1/optimize/nest. Il tuo gestionale, l’MES o il software di preventivazione invia in JSON i contorni dei pezzi e i formati delle piastre e riceve il layout annidato, il posizionamento di ogni pezzo e il numero di piastre — per laser, plasma o getto d’acqua.

È già disponibile. Il motore di nesting (jagua-rs, un motore geometrico di collisione) gira in produzione dietro POST /v1/optimize/nest — una classe di algoritmo diversa dal packer rettangolare guillotine — e restituisce un nesting true-shape anziché un piano di taglio rettangolare.

Tutti i formati, i motori, i limiti e gli esempi di codice per sviluppatori: API di nesting CutOptim

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 }
}

Il nesting non è incluso nella demo pubblica — esegui questo esempio con una chiave di test gratuita. Crea una chiave di test gratuita

  • Già disponibile su POST /v1/optimize/nest — pezzi poligonali qualsiasi (con fori), non solo rettangoli.
  • Le zone di esclusione per lastra annidano intorno a un difetto della piastra, all’impronta di un morsetto o a un’area prestampata (stock[].exclusions).
  • Partizione per materiale: etichetta pezzi e piastre e ogni pezzo viene annidato solo su piastra del proprio materiale.
  • Allega un oggetto meta (codice pezzo, riga d’ordine) e torna su ogni copia posizionata, così il nesting si riconcilia con il tuo gestionale.
  • Più formati di piastra: il nesting li confronta per area della piastra, o per prezzo con minimizeCost, e può mescolarli — l’ultima piastra mezza vuota passa a un formato più piccolo.
  • Su un lavoro rappresentativo di 272 pezzi il nesting ha usato 6 lastre dove gli stessi pezzi per bounding box ne richiedono 9: la metrica onesta è il numero di piastre, non una percentuale di densità.
  • Validazione gratuita: POST /v1/validate/nest controlla un lavoro senza chiave e senza quota.

Perché ne hanno bisogno le officine di lavorazione lamiera

La lamiera costa e i pezzi irregolari la sprecano: un packer rettangolare considera pieno il bounding box di ogni pezzo, quindi l’aria dentro un fazzoletto o una squadra a L viene buttata. Il nesting true-shape incastra i contorni reali e recupera quell’aria. Su un lavoro rappresentativo di 272 pezzi il nesting ha usato 6 lastre dove gli stessi pezzi per bounding box ne richiedono 9: la metrica onesta è il numero di piastre sugli stessi pezzi, non una percentuale di densità.

Cosa invii e cosa ottieni

Invii ogni pezzo come poligono (con eventuali fori) e una quantità, più i formati delle piastre. La risposta dà ogni posizionamento come trasformazione rigida (una rotazione in gradi, poi una traslazione x/y), il numero di piastre, la densità e gli eventuali pezzi che non ci stavano. Se etichetti pezzi e piastre con un material, il lavoro viene diviso per materiale — un pezzo viene annidato solo su piastra del proprio materiale — e ogni oggetto meta (il codice pezzo del gestionale, la riga d’ordine) torna identico su ogni copia posizionata, così il nesting si riconcilia con il tuo sistema. Ogni piastra porta inoltre la riga di materiale da cui è stata ricavata, la lunghezza di taglio e il numero di forature, e stockUsage totalizza piastre e prezzo per formato.

Zone di esclusione: annida intorno a un difetto

Le zone di esclusione per lastra (stock[].exclusions) permettono al motore di annidare intorno a un difetto della piastra, all’impronta di un morsetto o a un’area prestampata: una zona con quality 0 è una regione vietata in modo assoluto per ogni pezzo. La rotazione può essere continua o una lista discreta; options.minSeparation imposta la distanza tra i pezzi per la larghezza della torcia o del fascio, e options.edgeClearance la distanza dal bordo della piastra. Il layout è deterministico: un seed fissato riproduce lo stesso nesting per un preventivo o una verifica.

Istantaneo per il preventivo, max per l’ordine

POST /v1/optimize/nest risponde in modo sincrono con il motore lbf — deterministico e dentro la richiesta, abbastanza veloce da calcolare il prezzo di un lavoro mentre il cliente attende. Quando il lavoro viene rilasciato alla macchina, invia lo stesso corpo con engine: "max" e interroga GET /v1/jobs/{id}: esegue prima lbf, poi impiega un budget di tempo che imposti tu (options.timeBudgetMs) cercando un layout con meno piastre, e non ne restituisce mai di più. La risposta ha la stessa struttura in entrambi i casi; una lastra con zone di esclusione è comunque servita da lbf all’interno di quel lavoro, con un avviso.

Risorsa scaricabile
Scheda sintetica API nesting lamiera

Una sintesi di due pagine (PDF in inglese): il problema, cosa invii e cosa ricevi, una richiesta e una risposta, e come costruire sul motore. Pronta da stampare, con un QR che rimanda a questa pagina.

PDF2 pagineGratis
Scarica il PDF

Domande frequenti

Esiste un’API per il nesting della lamiera?
Sì. Il nesting true-shape di pezzi irregolari su piastra è la quarta modalità della CutOptim Engine API, POST /v1/optimize/nest. Invii ogni pezzo come poligono (con eventuali fori) più i formati delle piastre e ricevi il layout annidato, il posizionamento di ogni copia e il numero di piastre — per laser, plasma o getto d’acqua. È un motore geometrico di collisione che oggi gira in produzione.
Gestisce i difetti della piastra o le aree dei morsetti?
Sì. Ogni piastra può portare zone di esclusione (stock[].exclusions) — poligoni da cui il motore tiene lontano ogni pezzo. Una zona con quality 0 è una regione vietata in modo assoluto, così puoi annidare intorno a un difetto, all’impronta di un morsetto o a un’area prestampata. È una capacità che l’API rettangolare non sa esprimere.
Posso etichettare i pezzi con i codici del mio gestionale?
Sì. Qualsiasi riga di pezzo o di piastra può portare un oggetto meta — il tuo codice pezzo, la riga d’ordine o il riferimento cliente — e torna identico su ogni copia posizionata e su ogni piastra, così il nesting si riconcilia con il tuo sistema. Non influisce mai sul layout. Etichetta anche un material e il lavoro viene diviso in modo che un pezzo venga annidato solo su piastra del proprio materiale.
Quante piastre fa risparmiare?
Dipende dal mix di pezzi, quindi non indichiamo una percentuale valida per tutti. La metrica onesta e confrontabile è il numero di piastre sugli stessi pezzi: su un lavoro rappresentativo di 272 pezzi il nesting true-shape ha usato 6 piastre dove gli stessi pezzi disposti per bounding box ne richiedono 9. Una percentuale di densità non è confrontabile con la resa di un packer rettangolare, perché un bounding box considera pieno lo spazio delle rientranze.
Può scegliere tra più formati di piastra?
Sì. Invia una riga di materiale per formato di piastra (con un prezzo se vuoi il piano più economico) e il nesting li confronta — per area totale delle piastre, o per prezzo totale con options.minimizeCost — così il risultato non dipende dall’ordine in cui li elenchi. Può anche mescolare i formati: ogni piastra, dalla meno piena, viene annidata di nuovo sui formati più economici o più piccoli e sostituita quando l’intero piano migliora, quindi l’ultima piastra mezza vuota passa spesso a un formato più piccolo. sheets[].stock e stockUsage indicano da quale formato proviene ogni piastra.
Indica quanta parte di una piastra usa un lavoro piccolo?
Sì. Ogni piastra porta usedWidth, usedHeight e usedArea — il bounding box dei suoi pezzi posizionati a partire dall’angolo della piastra — così un preventivo può addebitare una striscia o il bounding box invece dell’intera piastra. La piastra meno piena viene compattata per impostazione predefinita verso quell’angolo, con sottoinsiemi di rotazioni tra quelle che ogni pezzo consente; numero di piastre e prezzo non cambiano mai.

Caso d’uso lavorazione della lamiera (app) · Benchmark