Files
DOSSIER-WEBSITE/content/features/symbol-library.md
T
karim c0a5de194f Refresh site copy to reflect current Dossier state
- 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>
2026-05-29 01:33:38 +02:00

102 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Symbol-Library
linkTitle: Symbol-Library
weight: 6
---
Die Symbol-Library lebt im **PROJECT-SETTINGS**-Tab "Symbole" und macht ein klassisches Architekturbüro-Problem zentral verwaltbar: Möbel, Sanitär-Apparate, Bäume, Autos, technische Symbole — überall im Modell, aber konsistent in der Darstellung.
## 2D+3D Pair-Files
Jedes Symbol besteht aus zwei verknüpften Files:
```text
sofa-3sitz.3dm — 3D-Modell (Block-Definition)
sofa-3sitz.2d.3dm — 2D-Plandarstellung (Block-Definition)
```
Beim Plazieren entscheidet der View-Type:
- **3D-View / Perspektive** → 3D-File wird verwendet
- **Top-View im Grundriss** → 2D-File wird verwendet
- **Section-Plane aktiv** → Section-Cut wird aus dem 3D-File abgeleitet
So bleibt ein Sofa im Schnitt eine sauber gezeichnete 2D-Plandarstellung, in der Visualisierung aber ein vollständiges 3D-Möbel.
## Satellite-Picker
Statt Symbole in einem schwergewichtigen Browser zu suchen, öffnet DOSSIER einen **Satellite-Picker** — ein eigenständiges, kleines Fenster mit Live-Thumbnails:
- Floating-Window neben dem Modellraum
- Filter nach Kategorie (Möbel · Sanitär · Vegetation · Verkehr · …)
- Klick auf Thumbnail → Symbol wird in Rhino plaziert (Drag-Place)
- Mehrfach-Plazierung in Serie ohne Picker zu schliessen
Bleibt offen während aktivem Modell-Edit — typischer Workflow für Wohnungs-Möblierung.
## Multi-Format-Import
Symbole müssen nicht in `.3dm` vorliegen. CRUD im PROJECT-SETTINGS-Symbole-Tab unterstützt:
| Format | Verwendung |
|--------------|-----------------------------------------------------|
| `.3dm` | Rhino-native (Pair-Files werden so behandelt) |
| `.dwg` | Möbel- und Sanitärbibliotheken aus dem Industriestandard |
| `.obj` | Generische 3D-Modelle aus 3D-Asset-Libraries |
| `.fbx` | 3D-Modelle aus DCC-Tools |
| `.dae` | Collada — Mesh- und Szenen-Austauschformat |
| `.stl` | Mesh-only — Grobgeometrie |
Beim Import wird das File in den projektbezogenen `symbols/`-Ordner kopiert, ein Block in der Rhino-Block-Tabelle registriert und das Thumbnail generiert.
## Auto-Thumbnails (Base64-PNG)
Thumbnails werden **automatisch** beim Import erzeugt:
1. Symbol wird headless in einer 256×256-Viewport gerendert
2. Iso-Ansicht für 3D-Files, Top-Ansicht für 2D-Files
3. PNG wird als **Base64-String** in die `dossier.project.json` geschrieben
Vorteil von Base64: Thumbnails sind teil der Projekt-Konfiguration — der Satellite-Picker kann sie ohne File-IO im Hintergrund anzeigen, und Library-Sharing wird trivial (Config kopieren = Thumbnails mitkopiert).
Cache-Größe pro Symbol typisch 412 KB.
## CRUD-Operationen
Volle Verwaltung im PROJECT-SETTINGS-Symbole-Tab:
- **Create** — Import-Button öffnet File-Picker, Format wird auto-detected
- **Read** — Liste mit Thumbnails, Filter nach Kategorie, Suche im Namen
- **Update** — Symbol-Eigenschaften (Name, Kategorie, 2D-Pair zuordnen) editieren
- **Delete** — Block-Definition aus Rhino entfernen, File aus `symbols/`-Ordner löschen, JSON-Eintrag entfernen
Lösch-Operation prüft, ob das Symbol im Modell verwendet wird, und bietet Replace-Optionen statt blockierender Hard-Delete.
## Datenhaltung
```text
projekt-ordner/
├── projekt.3dm
├── dossier.project.json
│ └── symbols: [
│ { id: "sofa-3sitz", name: "Sofa 3-Sitz",
│ file_3d: "symbols/sofa-3sitz.3dm",
│ file_2d: "symbols/sofa-3sitz.2d.3dm",
│ thumbnail: "data:image/png;base64,iVBORw0KGgo...",
│ category: "moebel" }
│ ]
└── symbols/
├── sofa-3sitz.3dm
├── sofa-3sitz.2d.3dm
├── tisch-esstisch.3dm
└── …
```
Symbol-Files relativ referenziert — Projekt verschieben = Symbole ziehen mit.
## Roadmap
**Library Phase C** (geplant): Cloud-Sync via GitHub-Releases — Team-Sharing einer projektübergreifenden Symbol-Library mit semantischer Versionierung. Siehe [Roadmap](../../docs/roadmap).
**Satellite-Windows-Restyle** (geplant): alle Satellite-Windows (Symbol-Picker, Material-Picker, …) im einheitlichen Pill-Style. Siehe [Roadmap](../../docs/roadmap).