c0a5de194f
- Move Display-Mode "Dossier Plan" to shipped; describe walls as multilayer with T-/L-/X-joints and Sturz/Brüstung openings; expand stairs depth and configurable 2D plan display - Drop BIM framing and identity-by-negation throughout - Replace named CAD product comparisons with generic phrasing - Remove unsupported "6+ months in production" claim - Use "Python 3.9" instead of "CPython 3.9" in user-facing copy - Rename "Tauri-Launcher" card to "Launcher" and drop sparkles icon Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
111 lines
5.4 KiB
Markdown
111 lines
5.4 KiB
Markdown
---
|
|
title: Smart-Elemente
|
|
linkTitle: Smart-Elemente
|
|
weight: 2
|
|
---
|
|
|
|
Smart-Elemente sind parametrische Bauteile mit dem **Source ↔ Volume Pattern**: eine editierbare Source-Geometrie und ein automatisch generiertes Volumen.
|
|
|
|
## Pattern
|
|
|
|
```text
|
|
Source-Geometrie (vom User editiert)
|
|
│
|
|
▼ Regeneration bei Change
|
|
Volume (Brep, vom Plugin verwaltet)
|
|
```
|
|
|
|
Wird die Source verschoben oder verformt, regeneriert das Volumen automatisch — Wand-Joints, Decken-Aussparungen und Öffnungs-Cutouts werden mitgeführt.
|
|
|
|
## Bauteil-Typen
|
|
|
|
### Wände
|
|
|
|
| Source | Volume |
|
|
|-------------------------|-----------------------------------------------------|
|
|
| Polyline (mit Bögen) | Mehrschichtiges Brep, Geschoss-OKFF als Basis |
|
|
|
|
**Mehrschichtiger Wandaufbau:** Eine Wand besteht aus einem Stapel definierter Schichten — pro Schicht eigenes Material, eigene Dicke und eigene Anschnitt-Properties. Tragschicht, Dämmung, Verkleidung lassen sich separat steuern; das Volumen wird als Schicht-Stack regeneriert und behält pro Schicht die korrekte Hatch- und Linetype-Zuordnung.
|
|
|
|
**T-/L-/X-Anschlüsse mit Schicht-Mitführung:** Joints zwischen Wänden werden pro Schicht gerechnet — die Tragschicht stösst korrekt durch, die Dämmung umläuft, die Verkleidung schliesst sauber ab. Die Anschluss-Logik liest Schicht-Reihenfolge und -Priorität aus dem Wandaufbau.
|
|
|
|
**Polyline-Achse statt Einzel-Segmente:** Eine Wand ist ein zusammenhängender Polyline-Strang — gerade Teilstrecken, Bogen-Segmente und Knicke gehören zur selben Source. Knicke innerhalb einer Wand brauchen kein eigenes Joint-Setup mehr.
|
|
|
|
**Chain-Anchor:** Die Polyline trägt einen stabilen Anker auf einem festgelegten Knoten. Bei Modifikationen am Strang (verschieben, verlängern, Knoten einfügen) bleibt die Wand-Identität an diesem Anker — Material, UserStrings und Joint-Verknüpfungen wandern mit.
|
|
|
|
**Native Rhino-Grips:** Knoten der Polyline-Achse erscheinen direkt als Rhino-Grips. Verschieben eines Knotens triggert Volume-Regeneration plus Joint-Re-Calc in einem Idle-Tick — keine separate Edit-Mode-UI nötig.
|
|
|
|
**Cmd+Z stabil:** Undo/Redo über alle Joint-Operationen ist garantiert konsistent. Der Joint-Cache wird über die Polyline-Achse rekonstruiert, nicht aus dem stale Pre-Undo-State.
|
|
|
|
**Joint-Cache** pro Geschoss (`_JOINTS_CACHE_KEY`), invalidiert bei Add/Delete und nach Polyline-Edits über den Grip-Handler.
|
|
|
|
**Wand-Typen:** Tragwand · Trennwand · Brandwand · Aufschüttung
|
|
|
|
**Material-Cache:** Hex → MaterialIndex, stale-Check beim Lesen — der Cache wird beim Material-Delete in Rhino automatisch invalidiert (siehe [Materialien](../materialien)).
|
|
|
|
### Decken & Dächer
|
|
|
|
| Source | Volume |
|
|
|------------|---------------------------------------------------------|
|
|
| Outline | Brep-Extrusion mit konstanter Stärke, OKFF + Geschoss-Höhe |
|
|
|
|
- Aussparungen für Schächte als Sekundär-Curves
|
|
- Dächer mit Neigung (Pultdach, Satteldach, Walmdach)
|
|
|
|
### Öffnungen (Fenster / Türen)
|
|
|
|
| Source | Volume |
|
|
|---------|-----------------------------------------------------|
|
|
| Punkt | Rahmen + Sims + Flügel, schneidet Wand-Volumen aus |
|
|
|
|
- Bibliothek mit Standard-Typen (Holz / Aluminium / Kunststoff)
|
|
- **Sturz und Brüstung** parametrisch — pro Öffnung in Höhe, Materialität und Profil einstellbar
|
|
- Cutout im mehrschichtigen Wand-Aufbau wird pro Schicht korrekt nachgeführt — die Tragschicht bekommt den Strukturschnitt, die Verkleidung folgt der Laibungs-Geometrie
|
|
- Anschlag-Logik (innen / aussen / mittig) folgt dem Wandaufbau
|
|
|
|
### Treppen
|
|
|
|
Geometrie-Typen:
|
|
|
|
- **Gerade Treppe** — Anfangs-/Endpunkt, Steigung
|
|
- **L-Treppe** — Dreipunkt, Zwischenpodest automatisch
|
|
- **Wendeltreppe** — Zentrum, Radius, Steigungswinkel
|
|
|
|
**Detaillierte 3D-Geometrie:** Tritt- und Setzstufen mit eigenen Materialien, Wangen und Geländer-Anschlüsse als Teil der Source-Geometrie. Zwischenpodeste sind eigenständige Elemente innerhalb des Treppenstrangs.
|
|
|
|
**Einstellbare 2D-Plandarstellung:** Pro Treppe konfigurierbar — Bruchlinien-Position, Auf-/Ab-Pfeil, sichtbarer Tritt-Bereich (vor/nach Bruch) und Beschriftung. Top-View, Schnitt und 3D-Modell bleiben automatisch konsistent: die 2D-Darstellung wird aus derselben Source abgeleitet wie das 3D-Volumen, nicht separat gezeichnet.
|
|
|
|
### Tragwerk
|
|
|
|
- **Stützen** — Punkt, Profil (Rechteck / Rund / I)
|
|
- **Träger** — Linie, I-Profil mit Schenkel-Höhe und -Breite
|
|
- **I-Profile** — Standardisierte Querschnitte (HEA / HEB / IPE)
|
|
|
|
## UI-Workflow
|
|
|
|
Im **ELEMENTE**-Panel:
|
|
|
|
1. Bauteil-Typ wählen (Wand, Decke, Öffnung, …)
|
|
2. Variante wählen (Tragwand, Pultdach, Holzfenster, …)
|
|
3. Source in Rhino zeichnen
|
|
4. Volumen erscheint sofort
|
|
|
|
## Properties
|
|
|
|
Das **ELEMENTE-PROPERTIES**-Panel zeigt für die Selektion:
|
|
|
|
- Element-Typ und -Variante
|
|
- Dicke / Höhe / Position
|
|
- Geschoss-Zuordnung
|
|
- UserStrings (`dossier_element_id`, `dossier_element_type`)
|
|
|
|
Änderungen werden direkt geschrieben — keine Apply-Button-Logik.
|
|
|
|
## Übersicht
|
|
|
|
Das **ELEMENTE-ÜBERSICHT**-Panel listet alle Smart-Elemente im Dokument tabellarisch — gefiltert nach Geschoss, Typ und Material. Ideal für Mengen-Audits und Konsistenz-Checks.
|
|
|
|
{{< callout type="warning" >}}
|
|
`elemente.py` ist **7'244 LOC** und enthält Architektur-Logik aus echten Projekten. Nicht ohne expliziten Auftrag und Test-Plan refaktorisieren.
|
|
{{< /callout >}}
|