Files
3d.lehrstun.de/docs/kurskonzept.md
Hans Puettmann e762bac3e3 L2-Korrektur (A1-mini Material) + Onshape + Referenz-Ordner
Quellen:
- DigiLab-A1-mini-PDF (im OneDrive, frei nutzbar — Bildungseinrichtung)
- QUA-LiS-NRW-Handreichung (im OneDrive, frei kopierbar — Landes-Material)
- Onshape-Briefing von Herb (eigene Recherche)

Konkrete Aenderungen:

L2 aufgabe_md (Drucker-Tabelle korrigiert nach DigiLab-Daten):
- A1 mini kann PLA, PLA+, PETG, Flex, ASA — kein ABS (Heizbett max 80°C)
- AMS lite mit 4 Spulen → Multi-Color moeglich
- P-Serie: PLA, PLA+, PETG; ABS nur mit Lehrer-Aufsicht
- Tabelle mit Druckflaeche + Material + Besonderheiten pro Drucker-Modell

Onshape als neue Software-Tool-Seite (analog software-tinkercad.md):
- docs/software-onshape.md mit kuratierter Linkliste (deutsch first)
- Lernkurve angepasst: L4 TinkerCAD → L5+ Onshape, OpenSCAD als Alternative
- kurskonzept.md + COCKPIT.md aktualisiert

Referenz-Ordner docs/_referenzen/:
- README.md mit Lizenz-Tabelle und Nutzungshinweisen
- digilab-a1mini-anleitung.txt (pdftotext-Extrakt, 10-Schritte-Workflow)
- qua-lis-nrw-handreichung.txt (pdftotext-Extrakt, 54 Seiten Schul-Handreichung)
- onshape-briefing.md (vollstaendige Linkliste, Hintergrund-Doku — NICHT als
  cad.lehrstun.de-Anweisung uebernommen; Briefing-To-Dos sind ausdruecklich
  uebersprungen, Onshape bleibt Software-Tool-Seite in unserer Site)

Naechster Schritt: NRW-Handreichung auswerten fuer Troubleshooting +
Projekt-Inspirations-Liste (Etappe 3 + 8).
2026-05-25 13:16:56 +02:00

313 lines
16 KiB
Markdown

---
type: konzept-hauptdokument
projekt: 3d.lehrstun.de
stand: 2026-05-24
status: entwurf v2
tags: [konzept, hauptdokument]
---
# 3D-Druck-AG — Kurskonzept (Entwurf v2)
> **Lesehinweis Obsidian:** Das ist das Hauptdokument am Stück. Detail-Module
> liegen in eigenen Dateien — siehe [[COCKPIT]] für die Übersicht, oder direkt
> [[architektur]], [[datenmodell]], [[routen]], [[druckerapi]], [[slotsystem]],
> [[sicherheit]], [[selbstlern-loop]], [[lehrer-dashboard]], [[etappen]],
> [[offene-fragen]], [[glossar]].
**Stand:** 2026-05-24 (nach Reality-Check-Iteration mit Herb)
**Status:** Entwurf v2, zur Abstimmung mit Herr Rechmann
**Rahmen:** Offene Nachmittags-AG am Lessing-Gymnasium, **läuft jahrelang**,
ca. 8-10 Einzel-SuS (optional 2er-Paarungen), eigener Druckraum mit
4 Bambu-Lab-Druckern (3 geschlossen + 1 A1 mini). **Unbenotet**, kein Lehrplan,
freier Zugang. Neue Mitglieder kommen über die Jahre dazu, alte gehen.
> **Lesehinweis für Herr Rechmann:** Dieses Dokument ist Entwurf v2. Es ersetzt v1
> (2026-05-23) nach einer Reality-Check-Analyse aus vier Perspektiven (neuer
> SuS / erfahrener SuS / Lehrer / Technik). Wichtige Korrektur gegenüber v1:
> Wir haben fälschlich „12 Termine" angenommen — die AG ist tatsächlich offen
> und langfristig. Das ändert mehrere Architektur-Entscheidungen. Vollständige
> Entscheidungs-Historie: [[decisions]].
---
## 1. Didaktischer Kern
### Onboarding-Pfad statt fester Lehrplan
Die AG hat **keinen Curriculum**. Neue Mitglieder bekommen einen
**Onboarding-Pfad** mit 3 selbst-zertifizierten Lektionen — danach freie
Wahl, was sie machen wollen.
| Lektion | Inhalt | Pflicht für | Nach Abschluss freigeschaltet |
|---|---|---|---|
| **L1 Drucker-Kennenlernen + Sicherheit** | Drucker-Übersicht, A1-mini-Hands-Off, Bambu Handy App einrichten, vorbereitetes 3D-Modell drucken | Neue | **Slot-Buchung** (V2 — siehe [[../decisions#E-020]]) |
| **L2 3D-Modell aus dem Netz drucken** | 3D-Modell auf Printables/MakerWorld suchen, in Bambu Studio slicen, drucken | Neue | Eigene Projekte aus Katalog |
| **L3 Mein eigenes 3D-Modell designen** | MakerWorld-Customizer: Schlüsselanhänger mit eigenem Namen | Neue | Eigenes-Projekt-Vollzugriff |
| **L4 Visuelles CAD** | [[software-tinkercad|TinkerCAD]] — klick-basiert, niedrigschwellig | Frei | — |
| **L5+ Professionelles CAD** | [[software-onshape|Onshape]] — parametrisch, browser-basiert, Profi-Werkzeug (ab 13 J.) | Frei | — |
| **Alternative für Code-affine** | [[software-openscad|OpenSCAD]] — Code statt Klick | Frei | — |
| **Eigene Projekte (Dauer-Modus)** | Idee → 3D-Modell → Druck → Iteration → Abschluss mit Reflexion → in Katalog | Frei | — |
Nach Onboarding **verschwindet die Onboarding-Karte** aus dem Cockpit (V1 — progressives Cockpit, [[../decisions#E-020]]). Erfahrene SuS sehen nur noch ihre laufenden Projekte, Druckaufträge, Slots.
### Warum diese Reihenfolge
Quellen: PHBern IdeenSet, inf-schule.de, ZSL Baden-Württemberg, QUA-LiS NRW.
- „Druck zuerst, Modellierung später" verhindert Frust.
- Customizer als Brücke zwischen „fertig laden" und „selbst zeichnen" — fehlt in den meisten Schulkonzepten, MakerWorld macht ihn so leicht zugänglich.
- **L4 (TinkerCAD) → L5 (Onshape)** ist die didaktische Hauptachse: erst klick-basiert + niedrigschwellig, dann professionell + parametrisch. Onshape ist das Werkzeug, das SuS auch in Studium + Beruf wiedersehen — investierte Lernzeit lohnt sich doppelt.
- **OpenSCAD** bleibt als Alternative für Programmier-affine SuS — wer lieber Code als Maus mag.
### Selbstlern-Loop als Kern (Wachstums-Mechanismus)
**Was die Site vom Arduino-Kurs grundsätzlich unterscheidet:** Jedes
abgeschlossene Projekt wird nach Lehrer-Freigabe in die interne Bibliothek
aufgenommen. Über die Jahre wächst eine **eigene Projekt-Sammlung** — wertvoller
als jeder externe 3D-Modell-Katalog, weil sie zeigt: „Das wurde bei uns
schonmal gemacht."
Vollständiger Workflow: [[selbstlern-loop]].
Kurzfassung:
1. Neuer SuS **stöbert** im Projekt-Katalog (eigene + ZSL-Seed).
2. **Wählt** Vorlage oder eigene Idee.
3. **Arbeitet** im Cockpit (Files, Druckaufträge, Slots).
4. Beim Abschluss: **Pflicht-Checkliste** (Selbsteinschätzung 🟢🟡🔴 + Cover-Foto **oder** STL + 1 Tag — sonst alles optional).
5. **Lehrer-Review**: freigeben, Rückfrage, oder hartes Löschen (Penismodell-Fall).
6. Bei Freigabe: Projekt landet im Katalog, ist für andere SuS sichtbar.
### Doku-Hürde
8.-Klässler tun sich schwer mit ausführlicher Stand-Notiz. Lösung:
**Stunden-Beginn-Abfrage** (siehe §7) als „Was machst du heute?"-Mini-Modal,
das mit einem Klick beantwortbar ist („Ich arbeite an X weiter").
Kein KI-Lernhelfer in dieser Site. SuS nutzen Schul-Copilot.
---
## 2. Architektur — eine Site, drei Zonen
> 📎 Detail mit Mermaid-Diagrammen: [[architektur]]. Datenmodell: [[datenmodell]]. Routen: [[routen]].
> Code-Organisation: **Blueprint-Struktur** von Anfang an (V8, [[../decisions#E-020]]).
```
┌─────────────────────── 3d.lehrstun.de ─────────────────────────┐
│ │
│ ÖFFENTLICH (kein Login) │
│ ───────────────────────── │
│ • Lektionen (Onboarding-Pfad + freie Module) │
│ • Software-Sektion (Bambu Studio, Printables, ...) │
│ • Projekt-Katalog (interner Wachstum + ZSL-Seed) │
│ • Drucker-Status (Live, anonym) │
│ • Troubleshooting │
│ │
│ ┌── Vorname + Tier-Icon + PIN-Login ─────────────────────┐ │
│ │ │ │
│ │ SuS-COCKPIT (PROGRESSIV, V1) │ │
│ │ ─ Neu: nur Onboarding-Karte + Check-In │ │
│ │ ─ Onboarding fertig: + eigene Projekte, Druck, Slots │ │
│ │ ─ Erfahren: voll, ohne Onboarding-Karte │ │
│ │ Bei Lehrer-Rückfrage: gelbes Banner ganz oben (V6) │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
│ ADMIN (Passwort, Herb + Herr Rechmann) │
│ • Drill-Down-Dashboard (V5): Wer ist heute hier / │
│ Wartet auf Review / Wer hängt fest / Drucker-Status │
│ • Projekt-Freigabe-Queue (mit Three.js-Vorschau, V3-Aktion) │
│ • SuS-Profile, PIN-Generierung, Druckbogen │
│ • Slot-Priorisierung │
│ • Drucker-Übersicht + manueller Status-Override │
│ • Lektionen-/Software-Editor (inline, Whitelist) │
└─────────────────────────────────────────────────────────────────┘
```
---
## 3. Datenmodell (Kurzfassung)
> 📎 Detail mit ERD + Tabellen-Erklärung: [[datenmodell]]. Live im Code: [`database.py`](../database.py).
**Kern-Tabellen (gegenüber v1 erweitert):**
- `ag_mitgliedschaft` (ersetzt `kurs` — AG ist dauerhaft, nicht trimester-basiert)
- `profil` (Vorname + Tier + PIN, Pflicht-Login)
- `paarung` (optional, 2er-Zusammenschluss)
- `profil_lektion_status` ([[../decisions#E-019]] — Onboarding-Fortschritt, selbst-zertifiziert)
- `login_lockout` (V7 — persistenter Lockout in DB)
- `projekt` (vollständiger Lebenszyklus: `status_lebenszyklus`, `selbsteinschaetzung`, `freigabe_status`, `vorlage_projekt_id`)
- `projekt_datei` (BLOB, 30 MB Limit, abstrahiert)
- `projekt_tag` (für Suche und Filter)
- `projekt_rueckfrage` (Lehrer-Notizen pro Projekt)
- `lehrer_notiz` (allgemeine Notizen vom Lehrer ans SuS-Cockpit)
- `check_in` (V3-Format mit Modus + optionalem Freitext)
- `drucker`, `drucker_status`, `druckauftrag`, `slot`, `lektion`, `einstellung`, `aenderung_log`
---
## 4. Routen (Kurzfassung)
> 📎 Vollständige Routen-Tabelle: [[routen]]. Stubs im Code: [`app.py`](../app.py).
Blueprint-Aufteilung (V8):
- `routes/oeffentlich.py` — öffentliche Seiten
- `routes/profil.py` — Login, Cockpit, eigene Projekte/Aufträge/Slots
- `routes/admin.py` — Dashboard, Review-Queue, Inline-Edit
- `routes/api.py` — JSON-Endpunkte (Drucker-Status, Slot-Polling)
- `services/bambu.py` — Cloud-API-Wrapper (isoliert)
- `services/datei.py` — File-BLOB-Handling (abstrahiert für spätere S3-Migration)
---
## 5. Drucker-API-Anbindung
> 📎 Detail: [[druckerapi]]. Entscheidungen: [[../decisions#E-005]], [[../decisions#E-006]].
- Bambu Cloud-API-Polling vom Hetzner aus, alle ~30 s (Lib: `bambulabs_api`).
- Inoffiziell, fragil → Fallback: manueller Status-Override durch Lehrer.
- Lesen: Status, Job, Restzeit. **Kein** Job-Upload von der Site (Developer-Mode-Pflicht wäre Bambu-Cloud-Verlust).
---
## 6. Slot-System
> 📎 Detail mit Sequenz-Diagrammen + UI-Skizze: [[slotsystem]].
- **Windhund-Prinzip** als Default, Lehrer kann priorisieren oder verschieben.
- **Slot-Buchung erst freigeschaltet nach L1 (Sicherheits-Lektion)** — V2, [[../decisions#E-020]].
- Drucker dürfen über Nacht / Freistunden laufen.
- Drucker-Ausfall → Admin-Vorschlag „Slot auf anderen Drucker verschieben".
---
## 7. Stunden-Beginn-Abfrage (V3 — radikal kurz)
UI im Cockpit beim ersten Aufruf eines Besuchstages:
```
┌─ Hallo Mia! Was machst du heute? ──────────┐
│ │
│ ◉ Ich arbeite an meinem Projekt weiter: │
│ „Schlüsselanhänger mit Logo" │
│ │
│ ○ Neues Projekt anfangen │
│ ○ Onboarding-Lektion machen │
│ ○ Drucken (warte auf Drucker) │
│ ○ Anderen helfen │
│ ○ Sonstiges │
│ │
│ [Optional] kurz, was genau: │
│ ┌──────────────────────────────────────┐ │
│ │ │ │
│ └──────────────────────────────────────┘ │
│ │
│ [Los geht's] │
└──────────────────────────────────────────────┘
```
**Verhaltens-Details (V3 + E-021):**
- Default-Auswahl ist „Ich arbeite weiter" mit Titel des aktiven Projekts — **ein Klick reicht**.
- Freitext **ist immer optional**, nicht Pflicht.
- Nur einmal pro Besuchstag (UNIQUE-Constraint auf `check_in`).
- Lehrer-Dashboard zeigt alle Antworten des Tages aggregiert (siehe [[lehrer-dashboard]]).
---
## 8. Software-Sektion
| Software | Wofür | Lektion |
|---|---|---|
| **Bambu Studio** | Slicer (PC), Pflicht | L1 |
| **Bambu Handy** | Live-Kamera, Druck-Steuerung | L1 |
| **Bambu Academy** | Kostenloser Drucker-Kurs mit Zertifikat | L1 |
| **Printables.com** | 3D-Modell-Plattform (sauber, kein NSFW) | L2 |
| **MakerWorld.com** | Bambu-eigene Plattform + Customizer | L2 + L3 |
| **TinkerCAD** | Visuelles CAD im Browser, Klassenraum-Modus, ab Klasse 6 | L4 |
| **Onshape** | Professionelles parametrisches CAD im Browser, Education-Plan kostenlos (ab 13 J.) | L5+ |
| **OpenSCAD** | Parametrisches CAD per Code — Alternative für Programmier-affine | L4+ (Alt.) |
**Nicht empfohlen:** Thingiverse (NSFW-Ads), Cults3D (Bezahl-Push).
---
## 9. Sicherheit + Organisation
> 📎 Detail: [[sicherheit]]. Quellen: siehe [[COCKPIT#wichtige-externe-quellen]].
- **UKBW-Richtlinie** als Basis für L1.
- **PLA + PLA+ als Default**, PETG + ABS nur unter Aufsicht (Admin-Toggle).
- **A1 mini (offen):** explizite Hands-Off-Regel beim Hotend.
- **Druckraum mit Dauerlüftung** → entspannte Lage.
---
## 10. ZSL-Material als Seed-Inhalt
Bei Kursstart ist die Projekt-Bibliothek leer. Damit Neuzugänge nicht ins Nichts schauen:
- **8-10 ZSL-Projekte** aus dem CC-BY-4.0-Material des Landes Baden-Württemberg werden in unser Design **umgearbeitet** (mit Urhebernachweis).
- Herr Rechmann + Herb wählen aus den 20+ verfügbaren Projekten gemischte Schwierigkeit.
- Beschreibungen werden auf unsere Bambu-Drucker + 8-10-SuS-AG angepasst (keine 1:1-PDF-Einbettung).
- Bilder + STLs werden mit Quellen-Hinweis übernommen.
- Diese Projekte erscheinen als reguläre Katalog-Karten mit Badge „Vorlagen-Projekt".
Über die Jahre **wächst die Bibliothek durch SuS-Projekte selbst** — siehe [[selbstlern-loop]].
Details: [[../decisions#E-022]].
---
## 11. Implementierungs-Etappen (Übersicht)
> 📎 Lebende Detail-Version mit Checkboxen: [[etappen]].
Etappen sind seit V8 ([[../decisions#E-020]]) **mit Blueprint-Struktur von Anfang an** gedacht:
```
0 ✓ Skelett anlegen (2026-05-23)
1 Basis: Login + Profile + Onboarding-Status + Inline-Edit + Persistenter Lockout
2 Cockpit (progressiv, V1) + Check-In + Paarung + Lehrer-Dashboard (V5)
3 Lektionen + Software-Sektion + Troubleshooting
4 Drucker-API-Spike (Bambu-Cloud-Auth + Felder-Validierung)
5 Drucker-Integration + Live-Status + manueller Override
6 Selbstlern-Loop: Projekt-Katalog + Lebenszyklus + Files + Review + Three.js
7 Slot-System (gesperrt bis L1, V2) + Druckaufträge
8 ZSL-Material-Import (8-10 Projekte umgearbeitet)
9 Deploy + Polish (DNS, nginx, systemd, PummelHummel)
```
Erwarteter Gesamtaufwand: 8-10 Coding-Sitzungen.
---
## 12. Offene Punkte (lebende Liste)
> 📎 Aktuelle Liste: [[offene-fragen]]. Geklärte Punkte stehen in [[decisions]].
**Vor Implementation noch zu klären** (mit Herr Rechmann oder im Doing):
- Welche 8-10 ZSL-Projekte konkret? (mit Herr Rechmann)
- Material-Tracking als späteres Modul nötig? (siehe [[offene-fragen]])
- Bambu-Cloud-Account-Inhaber (Schul-Account vs. Herb privat)
- A1-mini-Firmware-Version (für API-Kompatibilität)
---
## 13. Quellen
- **PHBern IdeenSet 3D-Drucken**: https://www.phbern.ch/dienstleistungen/unterrichtsmedien/ideenset-3d-drucken
- **inf-schule.de 3D-Druck**: https://inf-schule.de/informatiksysteme/3d_druck
- **ZSL Baden-Württemberg „3D-Druck erleben"**: CC-BY-4.0, im OneDrive-Bücher-Ordner
- **UKBW Sicherheit (PDF)**: https://www.ukbw.de/fileadmin/user_upload/Sicherer-Umgang-mit-3D-Druckern-in-der-Schule.pdf
- **Bambu Lab Academy**: https://bambulab.com/en/support/academy
- **Printables Education**: https://www.printables.com/education
- **bambulabs_api (Python)**: https://github.com/BambuTools/bambulabs_api
---
## 14. Was als Nächstes passieren muss
1. **Herr Rechmann liest dieses Konzept** + die Detail-Module ([[selbstlern-loop]], [[lehrer-dashboard]], [[datenmodell]]).
2. Herr Rechmann + Herb wählen die 8-10 ZSL-Projekte aus (siehe §10).
3. **DNS**: `3d.lehrstun.de` als A-Record auf 46.225.114.15 anlegen.
4. **Etappe 1 starten**: Blueprint-Struktur + Login + Profile + Onboarding-Status (siehe [[etappen]]).