Claude 7507f768a3 feat: MVP 3D-Druck Kostenkalkulator
- Single-Page HTML-App mit allen 18 Eingabefeldern
- 12 Berechnungen live (calc.js, reine Funktionen)
- LocalStorage-Persistenz, Mehrfach-Projekte via Sidebar
- Excel Im-/Export ueber SheetJS (vendored, MIT)
- Drag&Drop + File-Picker-Import
- Apple-Swiss-Styling, responsive
- Vorlagen-Excel mit 3 Reitern (Eingabe/Kalkulation/Angebot), Formeln referenzieren Eingabe
- openpyxl-Script fuer reproduzierbaren Template-Build
- 5 Test-Szenarien validiert

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 21:15:25 +02:00
2026-04-23 21:15:25 +02:00
2026-04-23 21:15:25 +02:00
2026-04-23 21:15:25 +02:00
2026-04-23 21:15:25 +02:00

3D-Druck Kostenkalkulator

Apple-Swiss-minimalistischer Kostenkalkulator fuer 3D-Druck-Auftraege. Einzeldatei-Browser-App ohne Backend, ohne Build-Step, ohne externe Runtime-Calls.

Setup / Start

Einfach index.html im Browser oeffnen:

open index.html

Alternativ auf einem beliebigen Webserver hosten (python3 -m http.server 8000, dann http://localhost:8000).

Die App funktioniert offline. Alle Daten liegen im LocalStorage des Browsers.

Features (MVP)

  • Single-Page-HTML-App, Vanilla JS, keine Frameworks, kein Build
  • Alle 18 Eingabefelder laut Spec
  • Alle 12 Berechnungen live ohne "Berechnen"-Button
  • Excel-Export (.xlsx) ueber SheetJS (vendored)
  • Excel-Import per Drag&Drop und File-Picker
  • LocalStorage-Persistenz, mehrere Projekte, Sidebar mit Liste / Neu / Duplizieren / Loeschen
  • Apple-Swiss-Style (8pt-Raster, system-ui-Font, viel Whitespace, dezente Farben)
  • Ergebnis-Kachel prominent: Stueckpreis netto + brutto, Gesamt, Marge
  • Responsive (Desktop / Tablet / Mobile)
  • Default-Sprache DE
  • Mitgelieferte Vorlage: templates/3D-Druck-Kostenkalkulator.xlsx mit Reitern "Eingabe" (Werte), "Kalkulation" (Formeln), "Angebot" (Druck-Ansicht). Formeln referenzieren "Eingabe", sodass Aenderungen live durchschlagen.

Berechnungslogik

  1. Materialkosten = Verbrauch(g) * (Preis/kg / 1000)
  2. Maschinenkosten = Druckzeit(h) * Maschinenstundensatz
  3. Energiekosten = Druckzeit * Stromverbrauch * Strompreis
  4. Nachbearbeitungskosten = (Min/60) * Nachbearb.-Stundensatz
  5. Gesamtherstellungskosten = 1+2+3+4 + Ruest + Verpackung + Versand
  6. Ausschuss-Zuschlag = 5 * Ausschussrisiko
  7. Zwischensumme netto = 5 + 6
  8. Marge = 7 * Gewinnaufschlag
  9. Kundenpreis netto = 7 + 8 +/- individueller Zuschlag/Rabatt
  10. Stueckpreis netto = 9 / Stueckzahl
  11. Stueckpreis brutto = 10 * (1 + MwSt)
  12. Gesamtpreis brutto = 11 * Stueckzahl

5 Test-Szenarien validiert: siehe tests/manual-scenarios.md.

Dateistruktur

.
├── index.html
├── assets/
│   ├── styles.css
│   ├── calc.js           # 12 Berechnungen, reine Funktionen
│   ├── state.js          # LocalStorage + Defaults
│   ├── excel.js          # SheetJS Im-/Export
│   ├── app.js            # UI-Controller
│   └── xlsx.full.min.js  # SheetJS Community Edition (MIT), vendored
├── templates/
│   └── 3D-Druck-Kostenkalkulator.xlsx
├── scripts/
│   └── generate-template.py  # openpyxl, erzeugt die Vorlage
├── tests/
│   └── manual-scenarios.md
└── README.md

Template neu bauen

python3 -m venv .venv
.venv/bin/pip install openpyxl
.venv/bin/python scripts/generate-template.py

Offen fuer Sprint 2

  • .xlsm mit VBA-Makros (ImportFromWebApp, ExportToAngebot, AngebotAlsPdf, "Historie"-Reiter)
  • 3 Farb-Varianten (hell / dunkel / Accent) inkl. Theme-Switcher
  • DE/EN Sprach-Toggle fuer alle Oberflaechen-Texte
  • Lighthouse-Score-Polish (>= 95 Performance + A11y + Best Practices)
  • Etsy-Preview-PNGs (1000x1000)
  • Etsy-Listing-Text DE + EN
  • Angebots-Druck-Ansicht direkt in der HTML-App (PDF-Export via window.print)
  • Inter-WOFF2-Font vendored (aktuell system-ui-Fallback)

Bekannte Einschraenkungen im MVP

  • Druckzeit ist im UI als Dezimalstunden eingabbar (nicht als h:m-Picker)
  • Stromkosten werden aus Stromverbrauch * Strompreis * Druckzeit berechnet (keine separaten Fixwert-Eingabe)
  • Import liest nur den "Eingabe"-Reiter (keine Rekonstruktion aus "Kalkulation")

Lizenz

Proprietaer — Einzelplatz-Lizenz, nicht zur Weiterverbreitung. Etsy-kompatible Lizenz folgt in Sprint 2.

Description
3D-Druck Kostenkalkulator - Apple-Swiss HTML-App mit Excel-Round-Trip
Readme 380 KiB
Languages
JavaScript 43.2%
HTML 19.3%
Python 19.1%
CSS 18.4%