---
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.
