v0.4.9: naadwanden (2 delen, deur), kopbalken op naden, isolatie niet meer getekend

- HouseModel: naadwand per naad (ensureSeamWalls bij nieuwe woning en unit toevoegen),
  twee delen met beplating alleen aan de kamerzijde, openingen gespiegeld
- WallModel: buitenzijde 'geen', thicknessOf eenzijdig
- FloorModel: kopbalken (rims) voor vloer en dak op naden, ook in PDF en totalen
- isolatie: 3D-lagen en filter verwijderd, berekening blijft

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Machiel
2026-09-30 13:13:07 +02:00
co-authored by Claude Opus 5.5
parent f163f4deb1
commit 9bd7faeaa6
11 changed files with 271 additions and 124 deletions
+3 -6
View File
@@ -713,7 +713,6 @@ function mountFloorEditor(container, callbacks) {
const floorMaterials = roofMode ? RoofModel.createMaterials() : FloorModel.createMaterials();
let osbVisible = true;
let isolatieVisible = true;
let floorGroup3D = null;
let lastResolvedOpenings = [];
let lastChassisData = { wheels: [], outOfBounds: false };
@@ -721,11 +720,9 @@ function mountFloorEditor(container, callbacks) {
// Weergave-filter (core/view-filter.js). Beplating = OSB-plaat (bij een
// dak: plafondplaat + dakleer).
createViewFilter(document.getElementById('floor-toolbar-3d'), [
{ key: 'beplating', label: roofMode ? 'Beplating (plafond + dakleer)' : 'Beplating (OSB-plaat)' },
{ key: 'isolatie', label: 'Isolatie' }
{ key: 'beplating', label: roofMode ? 'Beplating (plafond + dakleer)' : 'Beplating (OSB-plaat)' }
], (v) => {
osbVisible = v.beplating;
isolatieVisible = v.isolatie;
update3DScene();
});
// Omgeving (core/skybox.js: geen/dag/nacht); de vloer staat op de tegelvloer.
@@ -740,8 +737,8 @@ function mountFloorEditor(container, callbacks) {
function update3DScene() {
if (floorGroup3D) scene.remove(floorGroup3D);
floorGroup3D = roofMode
? RoofModel.build3D(calcData, lastResolvedOpenings, { materials: floorMaterials, osbVisible, isolatieVisible, dakleerVisible: osbVisible })
: FloorModel.build3D(calcData, lastResolvedOpenings, lastChassisData, { materials: floorMaterials, osbVisible, isolatieVisible });
? RoofModel.build3D(calcData, lastResolvedOpenings, { materials: floorMaterials, osbVisible, dakleerVisible: osbVisible })
: FloorModel.build3D(calcData, lastResolvedOpenings, lastChassisData, { materials: floorMaterials, osbVisible });
scene.add(floorGroup3D);
applySky(); // schaduw van de nieuwe vloer
}