All ChatGPT created, I just was scrivener and Feerless Leader.
This commit is contained in:
parent
12a180dbd5
commit
19bd89c405
7 changed files with 596 additions and 2 deletions
33
data/assumptions.json
Normal file
33
data/assumptions.json
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
"currency": "USD",
|
||||
"waste_factor": 1.15,
|
||||
"electricity_cost_per_kwh": 0.12,
|
||||
"printer_average_watts": 120,
|
||||
"print_hours_per_box": 8.0,
|
||||
"target_box_counts": [1, 4, 12],
|
||||
"printed_materials": [
|
||||
{
|
||||
"id": "petg",
|
||||
"name": "PETG",
|
||||
"cost_per_kg": 22.00,
|
||||
"grams_per_box": 220
|
||||
},
|
||||
{
|
||||
"id": "asa",
|
||||
"name": "ASA",
|
||||
"cost_per_kg": 28.00,
|
||||
"grams_per_box": 90
|
||||
},
|
||||
{
|
||||
"id": "tpu",
|
||||
"name": "TPU",
|
||||
"cost_per_kg": 26.00,
|
||||
"grams_per_box": 20
|
||||
}
|
||||
],
|
||||
"notes": [
|
||||
"Printed weights are initial estimates and should later be replaced with slicer-derived actuals.",
|
||||
"Waste factor is applied to printed material cost only.",
|
||||
"Electricity uses printer_average_watts multiplied by print_hours_per_box."
|
||||
]
|
||||
}
|
||||
85
data/bom.json
Normal file
85
data/bom.json
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
{
|
||||
"project_name": "Filament Drybox Cost Model",
|
||||
"source_model": "Filament Storage 2026 by GunplaMark",
|
||||
"source_url": "https://www.printables.com/",
|
||||
"currency": "USD",
|
||||
"components": [
|
||||
{
|
||||
"id": "container",
|
||||
"name": "4L cereal container",
|
||||
"category": "hardware",
|
||||
"unit_type": "each",
|
||||
"pack_qty": 4,
|
||||
"pack_cost": 39.99,
|
||||
"units_used_per_box": 1,
|
||||
"optional": false,
|
||||
"notes": "Praki, Wildone, or Skroam style 4L container"
|
||||
},
|
||||
{
|
||||
"id": "bearing",
|
||||
"name": "608 bearing",
|
||||
"category": "hardware",
|
||||
"unit_type": "each",
|
||||
"pack_qty": 10,
|
||||
"pack_cost": 11.99,
|
||||
"units_used_per_box": 4,
|
||||
"optional": false,
|
||||
"notes": "Open, ungreased fidget-spinner style bearings"
|
||||
},
|
||||
{
|
||||
"id": "badge_reel",
|
||||
"name": "badge reel",
|
||||
"category": "hardware",
|
||||
"unit_type": "each",
|
||||
"pack_qty": 10,
|
||||
"pack_cost": 14.99,
|
||||
"units_used_per_box": 1,
|
||||
"optional": false,
|
||||
"notes": "Used to harvest spring"
|
||||
},
|
||||
{
|
||||
"id": "foam_cord",
|
||||
"name": "3mm silicone foam cord",
|
||||
"category": "consumable",
|
||||
"unit_type": "meter",
|
||||
"pack_qty": 10,
|
||||
"pack_cost": 9.99,
|
||||
"units_used_per_box": 0.70,
|
||||
"optional": false,
|
||||
"notes": "Length per box is an estimate; measure actual lid circumference"
|
||||
},
|
||||
{
|
||||
"id": "desiccant",
|
||||
"name": "activated alumina desiccant",
|
||||
"category": "consumable",
|
||||
"unit_type": "gram",
|
||||
"pack_qty": 2000,
|
||||
"pack_cost": 24.99,
|
||||
"units_used_per_box": 150,
|
||||
"optional": false,
|
||||
"notes": "Silica gel could be modeled as an alternative later"
|
||||
},
|
||||
{
|
||||
"id": "hygrometer",
|
||||
"name": "rectangular hygrometer",
|
||||
"category": "hardware",
|
||||
"unit_type": "each",
|
||||
"pack_qty": 4,
|
||||
"pack_cost": 17.99,
|
||||
"units_used_per_box": 1,
|
||||
"optional": false,
|
||||
"notes": "Common small rectangular hygrometer"
|
||||
},
|
||||
{
|
||||
"id": "nfc_tag",
|
||||
"name": "25mm NFC tag",
|
||||
"category": "optional",
|
||||
"unit_type": "each",
|
||||
"pack_qty": 20,
|
||||
"pack_cost": 9.99,
|
||||
"units_used_per_box": 1,
|
||||
"optional": true,
|
||||
"notes": "Optional spool identification tag"
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue