Aller au contenu principal
← CutOptim Engine APIEngine API · nesting · disponible dès aujourd’hui

API d’imbrication et de nesting de tôles

Oui — il existe une API pour le nesting de tôlerie. Imbriquer des pièces de tôlerie irrégulières — équerres, goussets, brides, joints — sur de la tôle en plaques est un problème de nesting à forme réelle, et la CutOptim Engine API le résout en HTTP sur POST /v1/optimize/nest. Votre ERP, votre MES ou votre logiciel de devis envoie les contours des pièces et les formats de tôle en JSON et récupère la disposition imbriquée, le placement de chaque pièce et le nombre de tôles — pour le laser, le plasma ou le jet d’eau.

Disponible dès aujourd’hui. Le moteur de nesting (jagua-rs, un moteur de collision géométrique) tourne en production derrière POST /v1/optimize/nest — une classe d’algorithme différente du placeur guillotine rectangulaire, qui renvoie un nesting à forme réelle plutôt qu’un plan de coupe rectangulaire.

Tous les formats, moteurs, limites et exemples de code pour les développeurs : API d’imbrication (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 }
}

Le nesting n'est pas inclus dans la démo publique — exécutez cet exemple avec une clé de test gratuite. Créer une clé de test gratuite

  • Disponible dès aujourd’hui sur POST /v1/optimize/nest — pièces polygonales quelconques (avec trous), pas seulement des rectangles.
  • Des zones d’exclusion par feuille imbriquent autour d’un défaut de tôle, de l’empreinte d’une bride ou d’une zone préimprimée (stock[].exclusions).
  • Partition par matériau : étiquetez pièces et tôles, et chaque pièce n’est imbriquée que sur de la tôle de son propre matériau.
  • Joignez un objet meta (référence pièce, ligne de commande) : il revient sur chaque exemplaire placé, de sorte que le nesting se réconcilie avec votre ERP.
  • Plusieurs formats de tôle : le nesting les compare par surface de tôle, ou par prix avec minimizeCost, et peut les mélanger — une dernière tôle à moitié vide passe à un format plus petit.
  • Sur un travail représentatif de 272 pièces, le nesting a utilisé 6 feuilles là où les mêmes pièces par rectangle englobant en exigent 9 — la métrique honnête est le nombre de tôles, pas un pourcentage de remplissage.
  • Validation gratuite : POST /v1/validate/nest contrôle un travail sans clé et sans quota.

Pourquoi les tôliers ont besoin du nesting

La tôle coûte cher et les pièces irrégulières la gaspillent : un placeur rectangulaire traite le rectangle englobant de chaque pièce comme plein, de sorte que l’air à l’intérieur d’un gousset ou d’une équerre en L est jeté. Le nesting à forme réelle imbrique les contours réels et récupère cet air. Sur un travail représentatif de 272 pièces, le nesting a utilisé 6 feuilles là où les mêmes pièces par rectangle englobant en exigent 9 — la métrique honnête est le nombre de tôles sur les mêmes pièces, et non un pourcentage de remplissage.

Ce que vous envoyez et ce que vous recevez

Envoyez chaque pièce sous forme de polygone (avec trous facultatifs) et une quantité, plus les formats de tôle. La réponse donne chaque placement comme transformation rigide (une rotation en degrés, puis une translation x/y), le nombre de tôles, la densité et les pièces qui n’ont pas tenu. Étiquetez pièces et tôles avec un matériau et le travail est partitionné par matériau — une pièce n’est imbriquée que sur de la tôle de son propre matériau — et tout objet meta (votre référence pièce ERP, votre ligne de commande) revient tel quel sur chaque exemplaire placé, de sorte que le nesting se réconcilie avec votre système. Chaque tôle porte aussi la ligne de stock dont elle provient, sa longueur de coupe et son nombre de perçages, et stockUsage totalise tôles et prix par format de tôle.

Zones d’exclusion — imbriquer autour d’un défaut

Des zones d’exclusion par feuille (stock[].exclusions) permettent au moteur d’imbriquer autour d’un défaut de tôle, de l’empreinte d’une bride ou d’une zone préimprimée — une zone de qualité 0 est une région strictement interdite à toute pièce. La rotation peut être continue ou une liste discrète ; options.minSeparation fixe l’espacement entre pièces pour la largeur de la torche ou du faisceau, et options.edgeClearance le dégagement au bord de la tôle. La disposition est déterministe : un seed figé reproduit le même nesting pour un devis ou un audit.

Instantané pour le devis, max pour la commande

POST /v1/optimize/nest répond de façon synchrone avec le moteur lbf — déterministe et dans la requête, assez rapide pour chiffrer un travail pendant que le client attend. Quand le travail part sur la machine, envoyez le même corps avec engine: "max" et interrogez GET /v1/jobs/{id} : il exécute d’abord lbf, puis consacre un budget de temps que vous fixez (options.timeBudgetMs) à chercher une disposition avec moins de tôles, et n’en renvoie jamais davantage. La réponse a la même structure dans les deux cas ; une feuille avec zones d’exclusion reste servie par lbf à l’intérieur de ce travail, avec un avertissement.

Ressource à télécharger
Fiche de synthèse : API de nesting de tôlerie

Un résumé de deux pages (PDF en anglais) — le problème, ce que vous envoyez et recevez, une requête et une réponse, et comment construire sur le moteur. Prêt à imprimer, avec un QR code vers cette page.

PDF2 pagesGratuit
Télécharger le PDF

Questions fréquentes

Existe-t-il une API pour le nesting de tôlerie ?
Oui. Le nesting à forme réelle de pièces irrégulières sur tôle est le quatrième mode de la CutOptim Engine API, POST /v1/optimize/nest. Vous envoyez chaque pièce sous forme de polygone (avec trous facultatifs) plus les formats de tôle, et recevez la disposition imbriquée, le placement de chaque exemplaire et le nombre de tôles — pour le laser, le plasma ou le jet d’eau. C’est un moteur de collision géométrique qui tourne en production dès aujourd’hui.
Gère-t-elle les défauts de tôle ou les zones de bridage ?
Oui. Chaque tôle peut porter des zones d’exclusion (stock[].exclusions) — des polygones dont le moteur écarte toute pièce. Une zone de qualité 0 est une région strictement interdite : vous pouvez donc imbriquer autour d’un défaut, de l’empreinte d’une bride ou d’une zone préimprimée. Une API rectangulaire ne sait pas exprimer cela.
Puis-je étiqueter les pièces avec mes références ERP ?
Oui. Toute ligne de pièce ou de tôle peut porter un objet meta — votre référence pièce, ligne de commande ou référence client — qui revient tel quel sur chaque exemplaire placé et chaque tôle, de sorte que le nesting se réconcilie avec votre propre système. Il n’influence jamais la disposition. Ajoutez aussi un matériau et le travail est partitionné pour qu’une pièce ne soit imbriquée que sur de la tôle de son propre matériau.
Combien de tôles économisera-t-elle ?
Cela dépend de la répartition des pièces ; nous ne citons donc pas de pourcentage général. La métrique honnête et comparable est le nombre de tôles sur les mêmes pièces : sur un travail représentatif de 272 pièces, le nesting à forme réelle a utilisé 6 tôles là où les mêmes pièces placées par rectangle englobant en exigent 9. Un pourcentage de densité n’est pas comparable au rendement d’un placeur rectangulaire, car un rectangle englobant compte l’air des échancrures comme plein.
Peut-elle choisir entre plusieurs formats de tôle ?
Oui. Envoyez une ligne de stock par format de tôle (avec un prix si vous voulez le plan le moins cher) et le nesting les compare — par surface totale de tôle, ou par prix total avec options.minimizeCost — de sorte que la réponse ne dépend pas de l’ordre dans lequel vous les listez. Il peut aussi mélanger les formats : chaque tôle, la moins remplie d’abord, est ré-imbriquée sur les formats moins chers ou plus petits et remplacée quand l’ensemble du plan s’améliore ; une dernière tôle à moitié vide passe ainsi souvent à un format plus petit. sheets[].stock et stockUsage indiquent de quel format provient chaque tôle.
Indique-t-elle quelle part d’une tôle un petit travail utilise ?
Oui. Chaque tôle porte usedWidth, usedHeight et usedArea — le rectangle englobant de ses pièces placées depuis le coin de la tôle — de sorte qu’un devis peut facturer une bande ou le rectangle englobant au lieu de la tôle entière. La tôle la moins remplie est compactée par défaut vers ce coin, avec des sous-ensembles de rotations parmi celles que chaque pièce autorise ; le nombre de tôles et le prix ne changent jamais.

Cas d’usage chaudronnerie et tôlerie (application) · Benchmarks