--- 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 4–12 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).