Waende bekommen Dicke, Carportdaecher werden flacher

Vier Korrekturen am Aussenplan:

Die Waende sind Kaesten und keine Flaechen mehr. An einer Oeffnung stand
sonst ein Blatt Papier im Raum - Innenseite, Oberkante und die beiden
Schnittkanten fehlten, und genau das sah seltsam aus. Die Dicke wird nur
gerechnet, wo ein Koerper ueberhaupt offen ist; bei einer geschlossenen Wand
sieht man sie nie.

Der First der Garage lief vorher schon richtig, Nord-Sued. Die Drehung um 90
Grad war ein Missverstaendnis und ist zurueckgenommen - jetzt steht die Achse
ausgeschrieben da, damit bei diesem fast quadratischen Grundriss nicht wieder
die zweite Nachkommastelle entscheidet.

Die halb offenen Nord- und Suedwaende des EG-Carports sind wieder zu. Die
Faehigkeit bleibt im Zeichner, sie wird hier nur nicht mehr gebraucht.

Beide Pultdaecher sind auf ein Drittel abgeflacht: 0,27 m statt 0,8 beim
OG-Carport, 0,23 statt 0,7 beim EG-Carport - rund vier Prozent Neigung. Beim
OG-Carport ist die Wandhoehe dafuer auf 2,23 m gesetzt, damit die hohe Seite
bei 2,50 m herauskommt und dort an die Traufe des Garagendachs anschliesst.
Nachgerechnet: beide bei 2,50 m.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-04 20:49:56 +02:00
co-authored by Claude Opus 5
parent d30f4ac0ab
commit 8119645123
+67 -14
View File
@@ -134,27 +134,30 @@ function aussenFlaechen()
// Beide Carports sind Holzkonstruktionen mit Pultdach, die Module
// liegen plan darauf. Der OG-Carport faellt zur Strasse ab, also nach
// Westen, und ist nach Sueden offen.
["raum" => "Carport OG", "z" => 0, "hoehe" => 2.5, "farbe" => "#b8b3aa",
// Die hohe Seite liegt im Osten und schliesst dort an die Traufe des
// Garagendachs an - deshalb 2,23 + 0,27 und nicht glatt 2,5: die
// Oberkante der hohen Seite soll die 2,5 treffen, nicht die Wand.
["raum" => "Carport OG", "z" => 0, "hoehe" => 2.23, "farbe" => "#b8b3aa",
"dachfarbe" => "#a8a29a", "pv" => true,
"dach" => ["art" => "pult", "hoehe" => 0.8, "tief" => "W"],
"dach" => ["art" => "pult", "hoehe" => 0.27, "tief" => "W"],
"offen" => ["S"],
"ecken" => [[12.2, 19.2], [13.3, 25.4], [9.3, 26.1], [8.2, 19.9]]],
// Der EG-Carport faellt nach Sueden ab, ist nach Westen offen, und
// seine Nord- und Suedwand stehen nur in der hinteren Haelfte.
// Der EG-Carport faellt nach Sueden ab und ist nach Westen offen.
["raum" => "Carport EG", "z" => 0, "hoehe" => 2.2, "farbe" => "#b8b3aa",
"dachfarbe" => "#a8a29a", "pv" => true,
"dach" => ["art" => "pult", "hoehe" => 0.7, "tief" => "S"],
"offen" => ["W"], "halb" => ["N", "S"],
"dach" => ["art" => "pult", "hoehe" => 0.23, "tief" => "S"],
"offen" => ["W"],
"ecken" => [[19.0, 34.6], [19.3, 39.1], [10.7, 40.3], [10.4, 35.8]]],
// Die Garage hat ein begruentes Dach und ihr Tor nach Sueden. Der
// First laeuft quer zu dem, was die laengere Achse nahelegen wuerde -
// bei einem fast quadratischen Grundriss entscheidet das sonst der
// Zufall der zweiten Nachkommastelle.
// First laeuft Nord-Sued, die Traufen liegen also im Osten und Westen;
// an der westlichen setzt der OG-Carport an. Ausgeschrieben, weil bei
// einem fast quadratischen Grundriss sonst die zweite Nachkommastelle
// entscheidet, welche Seite die laengere ist.
["raum" => "Garage", "z" => 0, "hoehe" => 2.5, "farbe" => "#c9ced5",
"dachfarbe" => "#7d9470", "tor" => "S",
"dach" => ["art" => "sattel", "hoehe" => 1.5, "achse" => "OW"],
"dach" => ["art" => "sattel", "hoehe" => 1.5, "achse" => "NS"],
"ecken" => [[12.2, 19.2], [13.3, 25.4], [19.6, 24.3], [18.5, 18.0]]],
["raum" => "Veranda EG", "z" => 0, "hoehe" => 0, "farbe" => "#aeb8c4",
@@ -398,6 +401,9 @@ function aussenZeichnung()
$farbe = $f["farbe"] ?? "#8a9099";
$offen = $f["offen"] ?? [];
$halb = $f["halb"] ?? [];
// Wandstaerke gibt es nur, wo sie zu sehen ist - an einer Oeffnung.
// Bei einem geschlossenen Koerper waere sie Rechenarbeit fuer nichts.
$dicke = ($offen || $halb) ? ($f["dicke"] ?? 0.2) : 0.0;
// --- Hoehe der Oberkante je Ecke ---------------------------------
//
@@ -481,16 +487,63 @@ function aussenZeichnung()
}
}
$wandflaeche = [
// Eine Wand ist ein Kasten und keine Flaeche. Sichtbar wird
// die Dicke nur an einer Oeffnung - dort steht sonst ein
// Blatt Papier im Raum, und genau das sah seltsam aus.
// Innenseite, Oberkante und die beiden Schnittkanten kommen
// deshalb nur dazu, wo der Koerper ueberhaupt offen ist.
$innenVon = [$von[0] - $k["nx"] * $dicke, $von[1] - $k["ny"] * $dicke];
$innenBis = [$bis[0] - $k["nx"] * $dicke, $bis[1] - $k["ny"] * $dicke];
$seiten = [];
// Aussenseite
$seiten[] = [[
aussenPunkt($einpassung, $von[0], $von[1], $z),
aussenPunkt($einpassung, $bis[0], $bis[1], $z),
aussenPunkt($einpassung, $bis[0], $bis[1], $zBis),
aussenPunkt($einpassung, $von[0], $von[1], $zVon),
];
if (!aussenSichtbar($wandflaeche)) {
], 0.72];
if ($dicke > 0) {
// Innenseite - umgekehrter Umlauf, damit sie zaehlt, wenn
// man durch die Oeffnung hineinsieht.
$seiten[] = [[
aussenPunkt($einpassung, $innenBis[0], $innenBis[1], $z),
aussenPunkt($einpassung, $innenVon[0], $innenVon[1], $z),
aussenPunkt($einpassung, $innenVon[0], $innenVon[1], $zVon),
aussenPunkt($einpassung, $innenBis[0], $innenBis[1], $zBis),
], 0.60];
// Oberkante
$seiten[] = [[
aussenPunkt($einpassung, $von[0], $von[1], $zVon),
aussenPunkt($einpassung, $bis[0], $bis[1], $zBis),
aussenPunkt($einpassung, $innenBis[0], $innenBis[1], $zBis),
aussenPunkt($einpassung, $innenVon[0], $innenVon[1], $zVon),
], 0.86];
// Die beiden Schnittkanten an den Enden der Wand
$seiten[] = [[
aussenPunkt($einpassung, $innenVon[0], $innenVon[1], $z),
aussenPunkt($einpassung, $von[0], $von[1], $z),
aussenPunkt($einpassung, $von[0], $von[1], $zVon),
aussenPunkt($einpassung, $innenVon[0], $innenVon[1], $zVon),
], 0.84];
$seiten[] = [[
aussenPunkt($einpassung, $bis[0], $bis[1], $z),
aussenPunkt($einpassung, $innenBis[0], $innenBis[1], $z),
aussenPunkt($einpassung, $innenBis[0], $innenBis[1], $zBis),
aussenPunkt($einpassung, $bis[0], $bis[1], $zBis),
], 0.84];
}
$etwasSichtbar = false;
foreach ($seiten as $seite) {
if (aussenSichtbar($seite[0])) {
$polygone[] = ["punkte" => $seite[0],
"farbe" => aussenSchatten($farbe, $seite[1])];
$etwasSichtbar = true;
}
}
if (!$etwasSichtbar) {
continue;
}
$polygone[] = ["punkte" => $wandflaeche, "farbe" => aussenSchatten($farbe, 0.72)];
// Das Tor sitzt mittig in seiner Wand und reicht nicht ganz
// bis unter die Traufe.