---
title: Geschosse & Ebenen
linkTitle: Geschosse
weight: 1
---

Das **EBENEN**-Panel ist die zentrale Projekt-Struktur. Geschosse mit Name, Höhe und OKFF definieren — Dossier baut die komplette Layer-Hierarchie automatisch auf.

## Geschoss-Definition

Jedes Geschoss trägt:

| Feld   | Beschreibung                                          |
|--------|-------------------------------------------------------|
| Name   | `UG`, `EG`, `1OG`, `2OG`, `DG`, … (frei wählbar)      |
| Höhe   | Lichte Höhe in mm                                     |
| OKFF   | Oberkante Fertigfussboden, absolut in mm              |
| Typ    | Vollgeschoss · Untergeschoss · Dachgeschoss · Attika  |

Gespeichert als JSON in `doc.Strings["dossier_ebenen"]` — bleibt in der `.3dm` erhalten.

## Layer-Hierarchie

Aus den Geschossen baut Dossier diese Struktur:

```text
10_GRUNDRISSE
  ├── EG
  │   ├── 20_WAENDE
  │   ├── 30_DECKEN
  │   ├── 31_DAECHER
  │   └── 40_TREPPEN
  ├── 1OG     (gleiche Sublayer)
  └── 2OG
20_SCHNITTE
30_ANSICHTEN
00_RASTER
01_VERMESSUNG
40_SITUATION
90_REFERENZEN
99_KONSTRUKTION
```

Wird ein neues Geschoss angelegt, werden die Sublayer automatisch nachgezogen (`layer_builder.py`).

## Presets

Häufige Konstellationen sind als Presets verfügbar:

- **Einfamilienhaus** — UG / EG / OG / DG
- **Mehrfamilienhaus** — UG / EG / 1OG / 2OG / 3OG / DG
- **Gewerbe** — TG / EG / 1OG / 2OG

Eigene Presets können gespeichert und projektübergreifend wiederverwendet werden.

## Aktives Geschoss

Das aktive Geschoss bestimmt, auf welchem Layer neue Smart-Elemente landen. Wechsel über das Drop-Down im EBENEN-Panel oder über die OBERLEISTE.

## Multi-Geschoss-Clipping

Beim Editieren eines Geschosses werden alle darüberliegenden Geschosse automatisch geclippt — sichtbar ist nur das aktive plus optional die unmittelbar darunterliegenden Etagen als Referenz. Die Clipping-Planes sitzen exakt auf OKFF + Geschoss-Höhe und folgen jeder Höhen-Änderung sofort.

Modi:

- **Aktiv only** — nur das gewählte Geschoss
- **Aktiv + Darunter** — mit der nächst tieferen Etage als Kontext (Standard)
- **Alle** — Multi-Geschoss-Stack ohne Clipping

Toggle über die OBERLEISTE oder per Shortcut. Clipping ist viewport-spezifisch — Schnittansichten bleiben unberührt.

## Top-View Z-Guard

In der Top-View werden Smart-Elemente versehentlich gerne mit Z-Offset verschoben. Der **Z-Guard** fängt das ab: bei Move/Drag-Operationen aus der Top-View wird die Z-Komponente auf 0 (relativ zum aktiven Geschoss-OKFF) gezwungen, ausser der User hält explizit eine Modifier-Taste. Das verhindert die typischen "warum schwebt jetzt meine Wand"-Fehler.

## Snap-Bar pro Geschoss

Eigene Snap-Targets pro Geschoss werden im EBENEN-Panel über die **Snap-Bar** verwaltet:

- **OKFF-Linien** — pro Geschoss als horizontale Endlos-Snaps
- **Achs-Lines** — Tragwerk-Achsen als geteilte Referenz
- **Polyline-Knoten** — automatisch aus den Wand-Polylines abgeleitet

Snaps werden viewport-bezogen registriert und beim Geschoss-Wechsel automatisch ein-/ausgeblendet. Spart Rhinos OSnap-Slot für andere Workflows.

{{< callout type="info" >}}
Code-Identifier verwenden **ASCII-Schreibweise** (`UG`, `OG`, `DG`) — UI darf Umlaute, Layer-Codes nicht. Das ist eine bewusste Konvention seit der Python-3-Migration.
{{< /callout >}}

## Cross-Module-Verhalten

Wenn Geschoss-Höhen oder OKFF im EBENEN-Panel geändert werden:

1. `rhinopanel.py` schreibt die neuen Werte in `doc.Strings`
2. `elemente_bridge._regenerate_all()` wird über Sticky-Reference getriggert
3. Alle Wand- und Decken-Volumen regenerieren automatisch
