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>
102 lines
4.1 KiB
Markdown
102 lines
4.1 KiB
Markdown
---
|
|
title: Material-Library
|
|
linkTitle: Materialien
|
|
weight: 5
|
|
---
|
|
|
|
Die Material-Library lebt im **PROJECT-SETTINGS**-Tab "Materialien" und folgt einem **klassischen List/Detail-Layout**: links die Material-Liste, rechts der Detail-Editor für die aktive Auswahl.
|
|
|
|
## List/Detail-Workflow
|
|
|
|
{{% steps %}}
|
|
|
|
### Material in der Liste anlegen
|
|
|
|
Plus-Button → neues Material mit Default-Werten. Liste wird sofort aktualisiert, Thumbnail erscheint.
|
|
|
|
### Detail editieren
|
|
|
|
Rechts werden alle Eigenschaften der aktiven Auswahl gezeigt: Name, Farbe, Rauheit, Metallic, Texturen, Linetype-Binding. Änderungen werden live geschrieben — kein Apply-Button.
|
|
|
|
### Verwendung im Modell
|
|
|
|
Material wird im ELEMENTE-Panel pro Smart-Element ausgewählt. Auto-Regen aktualisiert die Rhino-Rendermaterials und triggert eine View-Aktualisierung.
|
|
|
|
{{% /steps %}}
|
|
|
|
## PBR-Materialien
|
|
|
|
Jedes Material trägt:
|
|
|
|
| Eigenschaft | Beschreibung |
|
|
|---------------|-------------------------------------------------------|
|
|
| Name | Frei vergeben — `Sichtbeton fein`, `Eiche geölt` |
|
|
| Albedo | Basis-Farbe (Hex) oder Albedo-Textur (PNG/JPG) |
|
|
| Roughness | Glanz-Schärfe, 0 (Spiegel) → 1 (matt) |
|
|
| Metallic | Dielektrikum vs. Metall, 0 → 1 |
|
|
| Normal-Map | Optional — PNG für Surface-Detail |
|
|
| Linetype | Gebundener Linetype für Schnittlinien (Bezug zu .lin) |
|
|
|
|
Rhino-Renderer (Cycles) liest die PBR-Daten direkt — kein separater Material-Editor nötig.
|
|
|
|
## Material/Ebene-Separation
|
|
|
|
Eine bewusste DOSSIER-Konvention:
|
|
|
|
```text
|
|
Material ──────▶ Wie sieht's aus? (Albedo, Roughness, …)
|
|
Layer ──────▶ Wozu gehört's? (10_GRUNDRISSE::EG::20_WAENDE)
|
|
```
|
|
|
|
Die beiden bleiben **getrennt** — ein Material kann auf vielen Layern verwendet werden, ein Layer kann viele Materialien tragen. Das vermeidet die typische Rhino-Falle, in der Layer-Farbe und Material-Farbe konkurrieren.
|
|
|
|
## Auto-Regen
|
|
|
|
Wird ein Material editiert (Farbe geändert, Textur ersetzt), regenerieren sich alle Smart-Elemente, die es verwenden, automatisch:
|
|
|
|
1. `materialien_bridge` schreibt das neue PBR-Set in Rhinos `RenderMaterial`-Tabelle
|
|
2. `elemente_bridge._regenerate_all_with_material(material_id)` läuft über alle Wände, Decken, … mit diesem Material
|
|
3. Joint-Cache wird invalidiert (Material kann die Lineweight bei Anschnitten beeinflussen)
|
|
|
|
Spürbare Latenz < 200 ms für Projekte unter 500 Smart-Elementen.
|
|
|
|
## Linetypes (.lin-Import)
|
|
|
|
Der **Linientypen**-Tab in PROJECT-SETTINGS importiert branchenübliche `.lin`-Files:
|
|
|
|
```text
|
|
*BORDER,Border __ __ . __ __ . __ __ . __ __ . __ __ .
|
|
A,.5,-.25,.5,-.25,0,-.25
|
|
```
|
|
|
|
Der Parser zerlegt die Sequenz und schreibt eine native `Rhino.DocObjects.Linetype` ins Dokument. Skalierung wird projektweit gesetzt und folgt dem aktiven Massstab (siehe [Massstab](../massstab)).
|
|
|
|
Pattern-Editor visualisiert die Sequenz mit Drag-Handles für Strich/Lücke-Längen — `.lin`-Import und Editor schreiben in denselben Datentyp, sind also austauschbar.
|
|
|
|
## Hatches (.pat-Import)
|
|
|
|
Der **Schraffuren**-Tab importiert branchenübliche `.pat`-Hatch-Pattern:
|
|
|
|
```text
|
|
*ANSI31,ANSI Iron, Brick, Stone masonry
|
|
45,0,0,0,.125
|
|
```
|
|
|
|
Pattern werden als `Rhino.DocObjects.HatchPattern` registriert und stehen Section-Styles, Layer-Properties und Gestaltung-Panel direkt zur Verfügung.
|
|
|
|
**Pattern + Scale + Rotation-Signatur** wird im GESTALTUNG-Panel zur automatischen Layer-Erkennung verwendet (siehe [Gestaltung](../gestaltung)).
|
|
|
|
## Material-Cache
|
|
|
|
Beim Lesen wird über eine **Hex → MaterialIndex-Map** gecacht. Stale-Check bei jedem Read:
|
|
|
|
- Existiert der Material-Index noch im Rhino-Doc?
|
|
- Hat sich der Hex-Wert verändert?
|
|
- Wurde das Material extern via Rhinos Material-Editor gelöscht?
|
|
|
|
Bei Stale wird die Map neu aufgebaut. Manuell triggerbar via [Werkzeuge → Material-Cache leeren](../werkzeuge).
|
|
|
|
{{< callout type="info" >}}
|
|
Texturen werden **relativ zur `.3dm`** referenziert. Wenn das Projekt verschoben wird, müssen Texturen mitwandern — Dossier zeigt fehlende Texturen mit einem warnenden Placeholder-Thumbnail in der Library-Liste an.
|
|
{{< /callout >}}
|