Saisissez les dimensions du panneau, le trait de scie, le sens du fil et la largeur, la hauteur et la quantité des pièces à découper (jusqu’à 8 sortes de pièces ; les lignes sans largeur ni hauteur sont ignorées). L’épaisseur et le prix d’un panneau peuvent rester vides.
Table des matières
-
Ce que vous pouvez faire sur cette page
-
À quoi sert ce calcul ?
-
Mode d'emploi
-
Formules et figures
-
Pièces par panneau pour une seule sorte de pièce
-
Panneaux si chaque pièce est achetée séparément
-
Plan par la méthode par bandes (condition pour tenir dans une bande et pour empiler les bandes)
-
Surface des chutes et rendement
-
Nombre minimal théorique d’après la surface (borne inférieure)
-
Panneaux économisés et coût estimé
-
-
Symboles et termes
-
Ce qu’il est utile de savoir avant de commencer
-
Calculer avec Excel
-
Calculer avec Google Sheets
-
Calculer avec Python
-
Écrire la formule en LaTeX et autres langages mathématiques (à copier-coller)
-
Faire faire le calcul par ChatGPT
-
Les atouts de DataChef
-
Fonctions connexes
-
Liste des calculatrices NumberChef
Ce que vous pouvez faire sur cette page
- Saisissez les dimensions du panneau (contreplaqué ou MDF de 2 500 × 1 220 mm, 2 440 × 1 220 mm, 2 800 × 2 070 mm… dans la liste, ou à la main) et la largeur, la hauteur et la quantité des pièces à découper (jusqu’à 8 sortes) : vous voyez aussitôt combien de panneaux acheter
- Le calcul tient compte du trait de scie (l’épaisseur de la lame, 3 mm par défaut) et du sens du fil (les pièces peuvent-elles être tournées de 90° ?). Pour une seule sorte de pièce, il compte une grille « en largeur × en hauteur » (en comparant aussi le sens tourné et les pièces tournées dans la bande qui reste) ; pour plusieurs sortes, il les regroupe avec la méthode par bandes, en remplissant des bandes de la pièce la plus haute à la plus basse
- Vous obtenez un plan de découpe en couleurs pour chaque panneau, qui montre où va chaque pièce, et un tableau comme « Panneau 1 : Dessus×2+Côté×2, chute 0,62 m² ». Il indique aussi combien de panneaux on économise en regroupant les pièces plutôt qu’en découpant chaque sorte dans ses propres panneaux
- Il affiche la surface des chutes, le rendement (surface totale des pièces ÷ surface totale des panneaux) et le nombre minimal théorique de panneaux d’après la surface (la borne inférieure), et dit si le plan l’atteint. Indiquez le prix d’un panneau (facultatif) pour obtenir le coût estimé
- Vous trouverez aussi une explication simple des formules et des formules à copier pour Excel, Google Sheets et Python
À quoi sert ce calcul ?
Par exemple, pour une bibliothèque avec 2 dessus de 1 200 × 600 mm, 4 côtés de 900 × 550 mm et 3 rayons de 800 × 450 mm dans du contreplaqué de 2 500 × 1 220 mm, acheter des panneaux pour chaque sorte de pièce demande 3 panneaux, mais les regrouper en bandes par hauteur n’en demande que 2 (panneau 1 : dessus×2 + côtés×2 ; panneau 2 : côtés×2 + rayons×3).
Les panneaux sont encombrants et difficiles à charger en voiture, et les restes prennent de la place : fixer le nombre de panneaux et le plan avant d’aller au magasin évite le gaspillage. Calculez avec « Aligner » un contreplaqué décoratif dont le fil doit être aligné, et avec « Peu importe » un contreplaqué de construction ou un panneau à peindre pour économiser des panneaux.
Le service de découpe des magasins de bricolage (scie à panneaux) ne coupe que « d’un bord à l’autre, en ligne droite » ; la découpe est souvent facturée à la coupe, et certains magasins limitent le nombre de coupes par panneau. Le plan de cette page respecte cette façon de couper (coupe guillotine) : en suivant la figure, « coupez d’abord droit sur toute la longueur à 600 mm du haut, puis recoupez le morceau du haut à 1 200 mm de la gauche… », vous ne serez pas perdu au comptoir (le trait de scie est la part enlevée par la lame : les cotes de coupe sont les dimensions des pièces).
Compter les coupes permet d’estimer le prix de la découpe et de vérifier qu’on reste dans la limite du magasin. Ajustez le trait de scie à l’épaisseur de la lame de la scie à panneaux du magasin (souvent autour de 3 mm, demandez sur place). Certains magasins refusent les bandes très étroites (quelques centimètres) ou les coupes en biais ou arrêtées : renseignez-vous d’abord si vous avez beaucoup de pièces fines.
Des pièces de 625 × 610 mm (un quart de panneau de 2 500 × 1 220 mm) semblent donner 8 pièces sans trait de scie, mais avec 3 mm on n’en tire que \(\lfloor 2\,503 \div 628 \rfloor = 3\) en largeur et \(\lfloor 1\,223 \div 613 \rfloor = 1\) en hauteur, soit 3 pièces (4 en les tournant). En passant à 622 × 608 mm, on en tire 4 en largeur × 2 en hauteur = 8.
Modifier un peu les dimensions dès la conception peut ainsi changer beaucoup le nombre de panneaux. Essayez sur ce calculateur, avant d’acheter, des ajustements comme réduire la profondeur d’une tablette de quelques millimètres ou couper un dessus en deux : vous économiserez sur le matériau.
Dans les ateliers de menuiserie et d’agencement, les fabricants d’enseignes (panneaux composites aluminium, plexiglas) ou la tôlerie, le matériau pèse lourd dans le prix de revient : on y suit au quotidien le plan de découpe (l’optimisation ou « nesting ») et le rendement. Le rendement de cette page, surface totale des pièces divisée par surface totale des panneaux, suit la même définition qu’en entreprise.
En atelier, on place des centaines de pièces différentes avec des logiciels spécialisés d’optimisation de découpe. La méthode par bandes est une heuristique de manuel pour ranger des rectangles, et l’une des bases de ces logiciels.
Tout ce qui revient à « découper des rectangles dans une plaque de format standard » se calcule avec les mêmes formules que le contreplaqué : plaques de plexiglas ou de PVC, plaques de plâtre (souvent 2 500 × 1 200 mm), panneaux décoratifs, OSB (2 500 × 1 250 mm), etc. Pour un matériau que l’on raye puis que l’on casse, comme le verre, mettez le trait de scie à 0 (de même pour le carrelage coupé au coupe-carreau manuel ; avec une scie à eau, comptez l’épaisseur du disque), et choisissez « Peu importe » pour un matériau sans fil afin d’économiser des plaques.
Le verre et le plexiglas mince cassent facilement, et les panneaux à motif imposent un sens : réglez le trait de scie et la rotation selon le matériau.
Formules et figures
Symboles et termes
Symboles
| \(W\) | W | La largeur du panneau (mm), c’est-à-dire la longueur horizontale d’un panneau acheté. De l’anglais « width » (largeur), en majuscule pour la distinguer de la largeur \(w\) des pièces. |
| \(H\) | H | La hauteur du panneau (mm), sa longueur verticale. De l’anglais « height » (hauteur), en majuscule pour la distinguer de la hauteur \(h\) des pièces. Si le sens du fil importe peu, échanger largeur et hauteur ne change pas le nombre (avec « Aligner », il faut les accorder au sens des pièces). |
| \(w\), \(w_i\) | w, w indice i | La largeur d’une pièce (la planche à découper, en mm). Le \(i\) de \(w_i\) est un numéro : « la \(i\)-ième sorte de pièce » (il y a plusieurs sortes, comme les dessus, les côtés et les tablettes). |
| \(h\), \(h_i\) | h, h indice i | La hauteur d’une pièce (mm). Dans la formule de la méthode par bandes, \(h_1,\ h_2,\ \ldots\) désignent aussi la hauteur de chaque bande (hauteur de bande = hauteur de la pièce la plus haute de la bande). |
| \(k\) | k | Le trait de scie (épaisseur de la lame, en mm). Chaque coupe fait perdre cette largeur de bois. De l’anglais « kerf » (trait de scie). |
| \(c\) | c | Le nombre de pièces alignées en largeur quand on ne découpe qu’une sorte de pièce. Il vaut \(\lfloor (W + k) \div (w + k) \rfloor\). De l’anglais « column » (colonne). |
| \(r\) | r | Le nombre de pièces alignées en hauteur quand on ne découpe qu’une sorte de pièce. Il vaut \(\lfloor (H + k) \div (h + k) \rfloor\). De l’anglais « row » (rangée). |
| \(m\), \(m_i\) | m, m indice i | Le nombre de pièces que l’on tire d’un panneau quand on ne découpe qu’une sorte de pièce : \(m = c \times r\). |
| \(q_i\) | q indice i | La quantité nécessaire de la pièce \(i\). De l’anglais « quantity » (quantité). |
| \(B_i\) | B indice i | Le nombre de panneaux nécessaires pour la seule pièce \(i\). Il vaut \(\lceil q_i \div m_i \rceil\). |
| \(B_{\text{sép}}\) | B séparé | Le nombre total de panneaux quand chaque sorte de pièce est découpée dans ses propres panneaux (achat séparé) : la somme des \(B_i\). |
| \(B\) | B | Le nombre de panneaux nécessaires en regroupant les pièces (plan par la méthode par bandes, etc.). C’est la valeur principale de cette page. |
| \(n\) | n | Le nombre de pièces alignées dans une bande. Il y a \(n - 1\) traits de scie entre elles, d’où son rôle dans la condition pour tenir dans une bande. De « nombre ». |
| \(s\) | s | Le nombre de bandes empilées dans un panneau. Il y a \(s - 1\) traits de scie entre elles, d’où son rôle dans la condition d’empilement. De l’anglais « shelf » (le nom anglais des bandes). |
| \(A_{\text{ch}}\) | A chute | La surface des chutes (mm², m²) : la surface totale des panneaux achetés moins celle des pièces, sciure du trait de scie comprise. \(A\) vient de l’anglais « area » (aire). |
| \(Y\) | Y | Le rendement (%) : la surface totale des pièces divisée par celle des panneaux, multipliée par 100. De l’anglais « yield » (rendement). |
| \(B_{\min}\) | B min | Le nombre minimal théorique d’après la surface (la borne inférieure). Il vaut \(\lceil \sum_i q_i (w_i + k)(h_i + k) \div ((W + k)(H + k)) \rceil\) ; si le nombre \(B\) en regroupant lui est égal, le plan est optimal. « min » abrège minimum. |
| \(\Delta\) | delta | Le nombre de panneaux économisés : \(B_{\text{sép}} - B\). La lettre grecque delta sert souvent à noter une différence. |
| \(u\) | u | Le prix d’un panneau (€). De l’anglais « unit price » (prix unitaire). |
| \(T\) | T | Le coût estimé (€), de l’anglais « total ». Il ne couvre que les panneaux, pas la découpe ni la livraison. |
| \(\lfloor x \rfloor\) | partie entière | Le signe qui arrondit un nombre à l’entier inférieur (par exemple \(\lfloor 3{,}11 \rfloor = 3\), \(\lfloor 2 \rfloor = 2\)). Le nombre de pièces que l’on tire « laisse de côté ce qui ne tient pas », d’où ce signe. |
| \(\lceil x \rceil\) | partie entière supérieure | Le signe qui arrondit un nombre à l’entier supérieur (par exemple \(\lceil 1{,}48 \rceil = 2\), \(\lceil 2 \rceil = 2\)). Le nombre de panneaux à acheter « ajoute un panneau pour ce qui manque », d’où ce signe. |
| \(\sum\) | sigma (somme) | Le signe « additionner tout ». \(\sum_i q_i w_i h_i\) veut dire : calculer \(q_i w_i h_i\) (quantité × largeur × hauteur) pour chaque sorte de pièce \(i\) et tout additionner. C’est la lettre grecque sigma, qui correspond au S de « somme ». |
Termes
| panneau | La grande plaque dans laquelle on découpe les pièces. Contreplaqué, MDF, aggloméré, mélaminé, plexiglas, tôle… tout matériau vendu en plaques de formats standard. Cette page le traite comme un rectangle de largeur \(W\) × hauteur \(H\). |
| plan de découpe | La façon de répartir les pièces dans les panneaux avant de les découper (on parle aussi de calepinage ou de débit). Cette page traite la découpe à deux dimensions (largeur et hauteur) ; la découpe à une dimension, en longueur seulement, comme des tasseaux ou des tubes, se fait avec le « Calcul de débit de bois ». |
| trait de scie | La largeur de bois perdue à chaque coupe, égale à l’épaisseur de la lame. Les lames de scie circulaire ou de scie à panneaux font souvent 1,5 à 3 mm ; on compte en général environ 3 mm pour les éclats et le trait de crayon. Si vous connaissez l’épaisseur de votre lame (souvent gravée dessus), entrez-la. Le trait de scie s’additionne à chaque coupe : il compte d’autant plus que les pièces sont petites et nombreuses. |
| sens du fil | Le dessin de la surface du bois, qui suit le sens des fibres. Sur un contreplaqué décoratif ou du bois massif, des pièces au fil désordonné font un rendu peu naturel : on ne peut alors pas tourner les pièces de 90° dans le plan de découpe. Cette page propose de choisir le « Sens du fil ». Pour un contreplaqué de construction ou un panneau peint, « Peu importe » convient. |
| coupe guillotine | Une coupe droite qui traverse le panneau d’un bord à l’autre ; on recoupe ensuite les morceaux de la même façon. Les scies à panneaux des services de découpe en magasin ne font que ce type de coupe, et ce calculateur se limite donc aux plans découpables ainsi (méthode par bandes). Autoriser des coupes arrêtées en cours de route (entailles en L) permettrait parfois de serrer davantage, mais elles sont difficiles même à la scie circulaire. |
| méthode par bandes | Une méthode de placement qui trie les pièces de la plus haute à la plus basse et remplit le panneau de haut en bas avec des « bandes » qui le traversent. En anglais FFDH (First Fit Decreasing Height, « dans la première bande qui convient, par hauteur décroissante ») ; c’est une heuristique classique de rangement de rectangles. Les coupes traversent le panneau de bord à bord : on peut confier le plan tel quel à un service de découpe. Simple et efficace, elle ne donne pas toujours le moins de panneaux possible. |
| chute | Le matériau qui reste une fois les pièces découpées, comme la bande étroite au bord du panneau ou le morceau resté à droite d’une bande. Moins il y a de chutes, moins on gaspille, et plus le rendement est élevé. Les grandes chutes servent pour de petites tablettes ou des renforts. |
| rendement | La part du matériau réellement utilisée pour les pièces. Sur cette page, c’est « surface totale des pièces ÷ surface totale des panneaux achetés » ; il se rapproche de 100 % quand les chutes et le trait de scie diminuent. On parle aussi de taux d’utilisation. |
| borne inférieure | Une valeur en dessous de laquelle on ne peut pas descendre, aussi ingénieux soit-on. Le nombre minimal théorique de cette page est une borne inférieure tirée de la surface ; si le nombre de panneaux du plan lui est égal, on sait que le plan est optimal. Sinon, en découpe à deux dimensions, la forme des pièces empêche souvent de l’atteindre. |
| solution optimale | La meilleure réponse parmi toutes les façons possibles ; ici, le plan qui utilise le moins de panneaux. Si le nombre en regroupant égale la borne inférieure, c’est une solution optimale ; sinon, ce calculateur n’explore pas toutes les combinaisons et ne peut pas le confirmer. |
| heuristique | Une méthode qui donne vite une bonne réponse par des étapes fixes, sans garantie d’atteindre la solution optimale. Pour les problèmes de combinaison comme la découpe de panneaux, le nombre de placements possibles explose avec le nombre de pièces et on ne peut pas tout essayer : on utilise donc des heuristiques, même en milieu professionnel. La méthode par bandes et le calcul en grille de cette page en sont. |
| contreplaqué | Un panneau fait de fines feuilles de bois (placages) collées fil croisé. Il se déforme peu et existe en grands formats, d’où son usage courant en bricolage pour les étagères, caissons et supports. On trouve du contreplaqué peuplier, okoumé, bouleau, de construction (CTBX), etc. ; les épaisseurs courantes sont 5, 10, 15, 18 et 22 mm, et le format le plus courant en France est 2 500 × 1 220 mm. |
| MDF | Le panneau de fibres à densité moyenne (Medium Density Fiberboard), appelé aussi médium : des fibres de bois collées sous presse. Sa surface est lisse et régulière, idéale pour la peinture. Les formats courants sont 2 440 × 1 220 mm et 2 800 × 2 070 mm. |
| OSB | Le panneau de grandes lamelles de bois orientées et collées (Oriented Strand Board). Économique et solide, il sert surtout en construction (murs, planchers, toitures) et se vend souvent en 2 500 × 1 250 mm ou en dalles rainurées-bouvetées. |
Ce qu’il est utile de savoir avant de commencer
Voici ce qui aide à utiliser le calcul de cette page en le comprenant vraiment, et pas seulement en appuyant sur le bouton.
| Division euclidienne (CM1-CM2, 9-11 ans) |
|
| Valeurs approchées et arrondis (CM1-CM2, 9-11 ans) |
|
| Aire du rectangle (CM1, 9-10 ans) |
|
| Proportions et pourcentages (CM2 et 6e, 10-12 ans) |
|
| Calcul littéral et inéquations (5e à 3e, 12-15 ans) |
|
Calculer avec Excel
| Largeur du panneau (mm) | 2500 |
| Hauteur du panneau (mm) | 1220 |
| Largeur de la pièce (mm) | 800 |
| Hauteur de la pièce (mm) | 500 |
| Trait de scie (mm) | 3 |
| Nombre en largeur | =ENT((B1+B5)/(B3+B5)) |
| Nombre en hauteur | =ENT((B2+B5)/(B4+B5)) |
| Pièces par panneau | =B6*B7 |
| Quantité de pièces | 8 |
| Pièces par panneau | 6 |
| Panneaux nécessaires | =ARRONDI.SUP(B1/B2;0) |
| Nombre de panneaux | 2 |
| Largeur du panneau (mm) | 2500 |
| Hauteur du panneau (mm) | 1220 |
| Surface totale des pièces (mm²) | 3200000 |
| Surface des chutes (mm²) | =B1*B2*B3-B4 |
| Surface des chutes (m²) | =B5/1000000 |
| Rendement (%) | =B4/(B1*B2*B3)*100 |
| Somme pour toutes les pièces de (largeur + trait de scie) × (hauteur + trait de scie) (mm²) | 4539531 |
| (largeur du panneau + trait de scie) × (hauteur du panneau + trait de scie) (mm²) | 3061169 |
| Nombre minimal théorique | =ARRONDI.SUP(B1/B2;0) |
| Panneaux en achat séparé | 3 |
| Panneaux en regroupant | 2 |
| Prix d’un panneau (€) | 115 |
| Panneaux économisés | =B1-B2 |
| Coût estimé (€) | =B3*B2 |
« ENT(valeur) » arrondit à l’entier inférieur (le ⌊ ⌋ des formules), et « ARRONDI.SUP(valeur;0) » arrondit à l’entier supérieur (le ⌈ ⌉ des formules).
B8 du premier tableau vaut 6 (3 en largeur × 2 en hauteur), B3 du deuxième tableau 2 panneaux, B6 du troisième tableau 2,9 m² et B7 environ 52,5 % (8 pièces de 800 × 500 mm dans 2 panneaux), B3 du quatrième tableau 2 panneaux, et le cinquième tableau donne 1 panneau économisé pour un coût de 230 €.
Le plan par la méthode par bandes lui-même demande de trier les pièces par hauteur et de les placer à la main de bande en bande : dans un tableur, servez-vous plutôt des tableaux pour vérifier le nombre de pièces, les chutes et la borne inférieure, et faites le plan sur cette page ou avec le code Python ci-dessous.
Calculer avec Google Sheets
| Largeur du panneau (mm) | 2500 |
| Hauteur du panneau (mm) | 1220 |
| Largeur de la pièce (mm) | 800 |
| Hauteur de la pièce (mm) | 500 |
| Trait de scie (mm) | 3 |
| Nombre en largeur | =ENT((B1+B5)/(B3+B5)) |
| Nombre en hauteur | =ENT((B2+B5)/(B4+B5)) |
| Pièces par panneau | =B6*B7 |
| Quantité de pièces | 8 |
| Pièces par panneau | 6 |
| Panneaux nécessaires | =ARRONDI.SUP(B1/B2;0) |
| Nombre de panneaux | 2 |
| Largeur du panneau (mm) | 2500 |
| Hauteur du panneau (mm) | 1220 |
| Surface totale des pièces (mm²) | 3200000 |
| Surface des chutes (mm²) | =B1*B2*B3-B4 |
| Surface des chutes (m²) | =B5/1000000 |
| Rendement (%) | =B4/(B1*B2*B3)*100 |
| Somme pour toutes les pièces de (largeur + trait de scie) × (hauteur + trait de scie) (mm²) | 4539531 |
| (largeur du panneau + trait de scie) × (hauteur du panneau + trait de scie) (mm²) | 3061169 |
| Nombre minimal théorique | =ARRONDI.SUP(B1/B2;0) |
| Panneaux en achat séparé | 3 |
| Panneaux en regroupant | 2 |
| Prix d’un panneau (€) | 115 |
| Panneaux économisés | =B1-B2 |
| Coût estimé (€) | =B3*B2 |
Calculer avec Python
import math
sheet_w, sheet_h = 2500, 1220 # largeur et hauteur du panneau (mm)
kerf = 3 # trait de scie (épaisseur de la lame, mm)
rotate = True # True si le sens du fil importe peu (les pièces peuvent tourner de 90°)
unit_price = 115 # prix d'un panneau (€)
# pièces à découper : (nom, largeur mm, hauteur mm, quantité)
parts = [("Dessus", 1200, 600, 2), ("Côté", 900, 550, 4), ("Rayon", 800, 450, 3)]
# panneaux si chaque pièce est achetée séparément (grille en largeur × en hauteur ; si la rotation est permise, on essaie aussi l'autre sens)
def per_sheet(w, h):
return ((sheet_w + kerf) // (w + kerf)) * ((sheet_h + kerf) // (h + kerf)) # arrondi à l'entier inférieur (le ⌊ ⌋ des formules)
sheets_separate = 0
for name, w, h, qty in parts:
m = max(per_sheet(w, h), per_sheet(h, w) if rotate else 0)
sheets_separate += math.ceil(qty / m) # arrondi à l'entier supérieur (le ⌈ ⌉ des formules)
# pièces regroupées : méthode par bandes (par hauteur décroissante, dans la première bande qui convient ; si la rotation est permise, grand côté en largeur)
pieces = []
for name, w, h, qty in parts:
pw, ph = (max(w, h), min(w, h)) if rotate else (w, h)
pieces += [(name, pw, ph)] * qty
pieces.sort(key=lambda p: (-p[2], -p[1]))
sheets = [] # pour chaque panneau {"y": position de la bande suivante, "shelves": [{"y", "h", "x", "parts"}]}
for name, pw, ph in pieces:
for sheet in sheets:
shelf = next((s for s in sheet["shelves"] if ph <= s["h"] and pw <= sheet_w - s["x"]), None)
if shelf is None and ph <= sheet_h - sheet["y"]:
shelf = {"y": sheet["y"], "h": ph, "x": 0, "parts": []}
sheet["shelves"].append(shelf)
sheet["y"] += ph + kerf
if shelf is not None:
shelf["parts"].append((name, shelf["x"], shelf["y"], pw, ph))
shelf["x"] += pw + kerf
break
else:
sheets.append({"y": ph + kerf, "shelves": [{"y": 0, "h": ph, "x": pw + kerf, "parts": [(name, 0, 0, pw, ph)]}]})
# chutes, rendement et borne inférieure d'après la surface
parts_area = sum(qty * w * h for name, w, h, qty in parts)
total_area = len(sheets) * sheet_w * sheet_h
lower_bound = math.ceil(sum(qty * (w + kerf) * (h + kerf) for name, w, h, qty in parts) / ((sheet_w + kerf) * (sheet_h + kerf)))
print(f"Achat séparé de chaque pièce : {sheets_separate} panneaux")
print(f"Pièces regroupées (méthode par bandes) : {len(sheets)} panneaux (borne inférieure d'après la surface : {lower_bound})")
for i, sheet in enumerate(sheets, 1):
for shelf in sheet["shelves"]:
print(f" Panneau {i} bande (y={shelf['y']}) : " + ", ".join(f"{n}@x={x} {pw}x{ph}" for n, x, y, pw, ph in shelf["parts"]))
print(f"Surface des chutes : {(total_area - parts_area) / 1e6:.3f} m² Rendement : {parts_area / total_area * 100:.1f} %")
print(f"Coût estimé : {unit_price * len(sheets)} €")
Écrire la formule en LaTeX et autres langages mathématiques (à copier-coller)
c = ⌊(W + k) ÷ (w + k)⌋, r = ⌊(H + k) ÷ (h + k)⌋, m = c × r
c = \left\lfloor \frac{W + k}{w + k} \right\rfloor,\quad r = \left\lfloor \frac{H + k}{h + k} \right\rfloor,\quad m = c \times r
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>c</mi>
<mo>=</mo>
<mo>⌊</mo>
<mfrac>
<mrow><mi>W</mi><mo>+</mo><mi>k</mi></mrow>
<mrow><mi>w</mi><mo>+</mo><mi>k</mi></mrow>
</mfrac>
<mo>⌋</mo>
<mo>,</mo>
<mi>r</mi>
<mo>=</mo>
<mo>⌊</mo>
<mfrac>
<mrow><mi>H</mi><mo>+</mo><mi>k</mi></mrow>
<mrow><mi>h</mi><mo>+</mo><mi>k</mi></mrow>
</mfrac>
<mo>⌋</mo>
<mo>,</mo>
<mi>m</mi>
<mo>=</mo>
<mi>c</mi>
<mo>×</mo>
<mi>r</mi>
</mrow>
</math>
c = |__ (W + k) / (w + k) __|, r = |__ (H + k) / (h + k) __|, m = c * r
c = Floor[(W + k)/(w + k)]; r = Floor[(H + k)/(h + k)]; m = c*r
c := floor((W + k)/(w + k)); r := floor((H + k)/(h + k)); m := c*r;
c = floor((W + k)/(w + k)); r = floor((H + k)/(h + k)); m = c*r;
c = ⌊(W + k)/(w + k)⌋, r = ⌊(H + k)/(h + k)⌋, m = c × r
Bᵢ = ⌈qᵢ ÷ mᵢ⌉, Bsép = B₁ + B₂ + …
B_i = \left\lceil \frac{q_i}{m_i} \right\rceil,\quad B_{\text{sép}} = \sum_i B_i
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>B</mi><mi>i</mi></msub>
<mo>=</mo>
<mo>⌈</mo>
<mfrac><msub><mi>q</mi><mi>i</mi></msub><msub><mi>m</mi><mi>i</mi></msub></mfrac>
<mo>⌉</mo>
<mo>,</mo>
<msub><mi>B</mi><mtext>sép</mtext></msub>
<mo>=</mo>
<munder><mo>∑</mo><mi>i</mi></munder>
<msub><mi>B</mi><mi>i</mi></msub>
</mrow>
</math>
B_i = |~ q_i / m_i ~|, B_"sep" = sum_i B_i
Total[Ceiling[q/m]]
B := add(ceil(q[i]/m[i]), i = 1 .. n);
B = sum(ceil(q ./ m));
B_i = ⌈q_i/m_i⌉, B_sép = ∑_i B_i
w₁ + w₂ + … + wₙ + (n − 1)k ⩽ W, h₁ + h₂ + … + hₛ + (s − 1)k ⩽ H
\sum_{j=1}^{n} w_j + (n - 1)k \leqslant W,\quad \sum_{t=1}^{s} h_t + (s - 1)k \leqslant H
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover>
<msub><mi>w</mi><mi>j</mi></msub>
<mo>+</mo>
<mo>(</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo>)</mo><mi>k</mi>
<mo>≤</mo>
<mi>W</mi>
<mo>,</mo>
<munderover><mo>∑</mo><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mi>s</mi></munderover>
<msub><mi>h</mi><mi>t</mi></msub>
<mo>+</mo>
<mo>(</mo><mi>s</mi><mo>−</mo><mn>1</mn><mo>)</mo><mi>k</mi>
<mo>≤</mo>
<mi>H</mi>
</mrow>
</math>
sum_(j=1)^n w_j + (n - 1) k <= W, sum_(t=1)^s h_t + (s - 1) k <= H
Total[w] + (Length[w] - 1)*k <= W && Total[h] + (Length[h] - 1)*k <= H
add(w[j], j = 1 .. n) + (n - 1)*k <= W; add(h[t], t = 1 .. s) + (s - 1)*k <= H;
sum(w) + (numel(w) - 1)*k <= W && sum(h) + (numel(h) - 1)*k <= H
∑_(j=1)^n w_j + (n − 1)k ≤ W, ∑_(t=1)^s h_t + (s − 1)k ≤ H
Ach = B × W × H − Σ qᵢ wᵢ hᵢ, Y = Σ qᵢ wᵢ hᵢ ÷ (B × W × H) × 100
A_{\text{ch}} = B\,W\,H - \sum_i q_i w_i h_i,\quad Y = \frac{\sum_i q_i w_i h_i}{B\,W\,H} \times 100
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>A</mi><mtext>ch</mtext></msub>
<mo>=</mo>
<mi>B</mi><mo>⁢</mo><mi>W</mi><mo>⁢</mo><mi>H</mi>
<mo>−</mo>
<munder><mo>∑</mo><mi>i</mi></munder>
<msub><mi>q</mi><mi>i</mi></msub><msub><mi>w</mi><mi>i</mi></msub><msub><mi>h</mi><mi>i</mi></msub>
<mo>,</mo>
<mi>Y</mi>
<mo>=</mo>
<mfrac>
<mrow><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>q</mi><mi>i</mi></msub><msub><mi>w</mi><mi>i</mi></msub><msub><mi>h</mi><mi>i</mi></msub></mrow>
<mrow><mi>B</mi><mo>⁢</mo><mi>W</mi><mo>⁢</mo><mi>H</mi></mrow>
</mfrac>
<mo>×</mo>
<mn>100</mn>
</mrow>
</math>
A_"ch" = B W H - sum_i q_i w_i h_i, Y = (sum_i q_i w_i h_i) / (B W H) * 100
{B*W*H - Total[q*w*h], Total[q*w*h]/(B*W*H)*100}
Awaste := B*W*H - add(q[i]*w[i]*h[i], i = 1 .. n); Y := add(q[i]*w[i]*h[i], i = 1 .. n)/(B*W*H)*100;
Awaste = B*W*H - sum(q .* w .* h); Y = sum(q .* w .* h)/(B*W*H)*100;
A_ch = BWH − ∑_i q_i w_i h_i, Y = (∑_i q_i w_i h_i)/(BWH) × 100
Bmin = ⌈Σ qᵢ (wᵢ + k)(hᵢ + k) ÷ ((W + k)(H + k))⌉
B_{\min} = \left\lceil \frac{\sum_i q_i (w_i + k)(h_i + k)}{(W + k)(H + k)} \right\rceil
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>B</mi><mi>min</mi></msub>
<mo>=</mo>
<mo>⌈</mo>
<mfrac>
<mrow><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>q</mi><mi>i</mi></msub><mo>(</mo><msub><mi>w</mi><mi>i</mi></msub><mo>+</mo><mi>k</mi><mo>)</mo><mo>(</mo><msub><mi>h</mi><mi>i</mi></msub><mo>+</mo><mi>k</mi><mo>)</mo></mrow>
<mrow><mo>(</mo><mi>W</mi><mo>+</mo><mi>k</mi><mo>)</mo><mo>(</mo><mi>H</mi><mo>+</mo><mi>k</mi><mo>)</mo></mrow>
</mfrac>
<mo>⌉</mo>
</mrow>
</math>
B_min = |~ (sum_i q_i (w_i + k)(h_i + k)) / ((W + k)(H + k)) ~|
Ceiling[Total[q*(w + k)*(h + k)]/((W + k)*(H + k))]
Bmin := ceil(add(q[i]*(w[i] + k)*(h[i] + k), i = 1 .. n)/((W + k)*(H + k)));
Bmin = ceil(sum(q .* (w + k) .* (h + k))/((W + k)*(H + k)));
B_min = ⌈(∑_i q_i (w_i + k)(h_i + k))/((W + k)(H + k))⌉
Δ = Bsép − B, T = u × B
\Delta = B_{\text{sép}} - B,\quad T = u \times B
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>Δ</mi>
<mo>=</mo>
<msub><mi>B</mi><mtext>sép</mtext></msub>
<mo>−</mo>
<mi>B</mi>
<mo>,</mo>
<mi>T</mi>
<mo>=</mo>
<mi>u</mi>
<mo>×</mo>
<mi>B</mi>
</mrow>
</math>
Delta = B_"sep" - B, T = u * B
{bSep - b, u*b}
Delta := Bsep - B; T := u*B;
Delta = Bsep - B; T = u*B;
Δ = B_sép − B, T = u × B
Faire faire le calcul par ChatGPT
Tu es un assistant de calcul pour la découpe de panneaux (plan de découpe). Fais le calcul suivant en exécutant réellement du code Python, et fonde ta réponse uniquement sur les nombres obtenus à l’exécution (ne réponds pas de tête ni au jugé). Dans des panneaux de contreplaqué de 2 500 × 1 220 mm, avec un trait de scie de 3 mm et des pièces qui peuvent tourner de 90°, on découpe 2 dessus de 1 200 × 600 mm, 4 côtés de 900 × 550 mm et 3 rayons de 800 × 450 mm. Calcule chacune des valeurs suivantes : 1. Pour chaque pièce, le nombre de pièces par panneau si l’on ne découpe que cette pièce (⌊(2500+3)÷(largeur+3)⌋ × ⌊(1220+3)÷(hauteur+3)⌋ ; calcule aussi le sens avec largeur et hauteur échangées et garde le plus grand) 2. Le nombre total de panneaux si chaque sorte de pièce est découpée dans ses propres panneaux (somme des quantités ÷ pièces par panneau, arrondies à l’entier supérieur) 3. Le nombre de panneaux et la position des pièces dans chaque panneau avec la méthode par bandes (First Fit Decreasing Height : pièces triées par hauteur décroissante, bandes qui traversent le panneau remplies de haut en bas ; dans une bande on avance de largeur + trait de scie, et les bandes descendent de hauteur + trait de scie) 4. La surface des chutes (surface totale des panneaux − surface totale des pièces) et le rendement (%) 5. Le nombre minimal théorique d’après la surface (somme pour toutes les pièces de (largeur+3) × (hauteur+3), divisée par (2500+3) × (1220+3), arrondie à l’entier supérieur) Indique le code utilisé et les nombres obtenus à l’exécution.
Mode d'emploi
-
1Saisissez vos nombresTapez les nombres à calculer dans les champs de saisie
-
2CalculezAppuyez sur le bouton « Calculer »
-
3Lisez le résultatLe résultat s’affiche aussitôt. La même page explique aussi le raisonnement et la formule
Les atouts de DataChef
Aucune compétence requise – simple et intuitif
Aucune donnée personnelle nécessaire
Le fichier est supprimé automatiquement après le téléchargement
Aucune mention de crédit nécessaire
Aucune autorisation préalable nécessaire