Dach: Mansarden-Untertypen (Giebel/Walm/Zelt) + parametrierbarer Knick
Bisher gab es nur die Giebel-Mansarde (2-seitig). Neu über Roof.mansardType: - 'giebel' (Default): Mansard-Satteldach, Giebel an den Enden (wie bisher) - 'walm': allseitige Mansarde (Sockel + oberer Walm, kein Giebel) — 8 Flächen - 'zelt': allseitige Mansarde zur flachen Spitze — 8 Flächen, kein First Knicklage jetzt parametrierbar (Roof.mansardKneeRatio, Default 0.4 der halben Spannweite). Dach-Panel: Mansard-Art-Dropdown + Knicklage-Feld (nur bei Mansarde). +4 Geometrie-Tests (Ratio, Walm-/Zelt-Flächen/Grate). Nebenbei: Fenster-Dialog-Labels klarer als 'Einbaulage ab / Abstand von Kante' (Nutzer: wo sitzt das Fenster in der Aussparung, ab Innen-/Aussenkante + wieviel). 666/666 grün.
This commit is contained in:
@@ -80,6 +80,10 @@ export interface RoofInfo {
|
||||
pitchDeg: number;
|
||||
/** Obere Neigung (Grad) — nur Mansarde relevant. */
|
||||
pitchUpperDeg?: number;
|
||||
/** Mansarde-Untertyp (Giebel/Walm/Zelt) — nur Mansarde relevant. */
|
||||
mansardType?: "giebel" | "walm" | "zelt";
|
||||
/** Mansarde-Knicklage (0..0.5 der halben Spannweite) — nur Mansarde relevant. */
|
||||
mansardKneeRatio?: number;
|
||||
/** Dachüberstand an der Traufe (Meter). */
|
||||
overhang: number;
|
||||
/** Firstrichtung entlang X oder Y. */
|
||||
@@ -626,6 +630,8 @@ function roofSelection(project: Project, roof: Roof): Selection {
|
||||
shape: roof.shape,
|
||||
pitchDeg: roof.pitchDeg,
|
||||
pitchUpperDeg: roof.pitchUpperDeg,
|
||||
mansardType: roof.mansardType,
|
||||
mansardKneeRatio: roof.mansardKneeRatio,
|
||||
overhang: roof.overhang,
|
||||
ridgeAxis: roof.ridgeAxis,
|
||||
thickness: roof.thickness,
|
||||
|
||||
Reference in New Issue
Block a user