From 0c9e04b6e7b66a832f94c74ea69344a1a3562854 Mon Sep 17 00:00:00 2001 From: Jo Date: Mon, 6 Jul 2026 20:12:21 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20poids=20et=20temps=20sont=20ceux=20du=20?= =?UTF-8?q?plateau=20entier,=20divis=C3=A9s=20par=20pi=C3=A8ces/plateau?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/app.py b/app.py index 7585547..94db72b 100644 --- a/app.py +++ b/app.py @@ -244,17 +244,20 @@ def calc(weight_g, print_time_s, design_mult, gross_margin_pct, discount_pct, if pieces_per_plate < 1: pieces_per_plate = 1 - price_kg = price_per_kg_override if price_per_kg_override is not None else s['filament_price_per_kg'] - mat = (price_kg / 1000) * weight_g + # weight_g et print_time_s = valeurs PLATEAU complet (Bambu Studio) + # Tous les coûts sont ramenés à la pièce en divisant par pieces_per_plate + price_kg = price_per_kg_override if price_per_kg_override is not None else s['filament_price_per_kg'] + weight_per_piece = weight_g / pieces_per_plate + mat = (price_kg / 1000) * weight_per_piece mat_margin = mat * (s['material_margin_pct'] / 100) design = mat * design_mult - # Manutention divisée par le nombre de pièces sur le plateau + # Manutention, usure et élec divisées par pièces/plateau handling = (s['handling_rate_per_hour'] / 60) * s['handling_minutes_per_plate'] / pieces_per_plate - printer_w = (s['printer_price'] / (s['printer_lifespan_hours'] * 3600)) * print_time_s - nozzle_w = (s['nozzle_price'] / (s['nozzle_lifespan_hours'] * 3600)) * print_time_s - plate_w = (s['plate_price'] / (s['plate_lifespan_hours'] * 3600)) * print_time_s + printer_w = (s['printer_price'] / (s['printer_lifespan_hours'] * 3600)) * print_time_s / pieces_per_plate + nozzle_w = (s['nozzle_price'] / (s['nozzle_lifespan_hours'] * 3600)) * print_time_s / pieces_per_plate + plate_w = (s['plate_price'] / (s['plate_lifespan_hours'] * 3600)) * print_time_s / pieces_per_plate wear = printer_w + nozzle_w + plate_w - elec = s['printer_power_kw'] * (print_time_s / 3600) * s['electricity_price_kwh'] + elec = s['printer_power_kw'] * (print_time_s / 3600) * s['electricity_price_kwh'] / pieces_per_plate cout_fixe = mat + mat_margin + wear + elec sous_total = cout_fixe + handling + design