diff --git a/resources/views/rd/fire-shutter-drawing/index.blade.php b/resources/views/rd/fire-shutter-drawing/index.blade.php index f4bf469a..c9a978da 100644 --- a/resources/views/rd/fire-shutter-drawing/index.blade.php +++ b/resources/views/rd/fire-shutter-drawing/index.blade.php @@ -1500,24 +1500,25 @@ function fs3dBuild() { const wallMat = new THREE.MeshStandardMaterial({ color: wallColor, transparent: true, opacity: wl.opacity / 100, side: THREE.DoubleSide }); meshes.wall = new THREE.Group(); - // 좌/우 기둥 (하나의 통 박스) + // 좌/우 기둥 (바닥~셔터박스 윗면까지, 인방과 겹치지 않게) + const colH = H + b.height; // 기둥 높이: 인방 아래까지 if (wl.wing > 0) { - const colGeo = new THREE.BoxGeometry(wl.wing, wallH, wl.thick); + const colGeo = new THREE.BoxGeometry(wl.wing, colH, wl.thick); const leftCol = new THREE.Mesh(colGeo, wallMat); - leftCol.position.set(-W1 / 2 - wl.wing / 2, wallH / 2, 0); + leftCol.position.set(-W1 / 2 - wl.wing / 2, colH / 2, 0); meshes.wall.add(leftCol); const rightCol = new THREE.Mesh(colGeo.clone(), wallMat); - rightCol.position.set(W1 / 2 + wl.wing / 2, wallH / 2, 0); + rightCol.position.set(W1 / 2 + wl.wing / 2, colH / 2, 0); meshes.wall.add(rightCol); } - // 상부 인방 (셔터박스 윗면부터 위로만) + // 상부 인방 (셔터박스 윗면~topMargin, 기둥 포함 전체 폭) if (wl.topMargin > 0) { const totalW = W1 + wl.wing * 2; const lintelGeo = new THREE.BoxGeometry(totalW, wl.topMargin, wl.thick); const lintel = new THREE.Mesh(lintelGeo, wallMat); - lintel.position.set(0, H + b.height + wl.topMargin / 2, 0); + lintel.position.set(0, colH + wl.topMargin / 2, 0); meshes.wall.add(lintel); }