diff --git a/resources/views/rd/fire-shutter-drawing/index.blade.php b/resources/views/rd/fire-shutter-drawing/index.blade.php index ca88f03a..f055a1c9 100644 --- a/resources/views/rd/fire-shutter-drawing/index.blade.php +++ b/resources/views/rd/fire-shutter-drawing/index.blade.php @@ -1137,11 +1137,17 @@ function addPlate(w, h, d, x, y, z) { m.add(new THREE.LineSegments(edges, boxEdgeMat)); } - // ── 박스 본체 (트레이형, 상부 개방) ── + // ── 박스 본체 ── + const flangeBack = 55; // 후면판 상단 안쪽 절곡 깊이 + const flangeFront = 50; // 전면판 상단 안쪽 절곡 깊이 // 후면판 (Back plate — 전체 높이) addPlate(W1, b.height, pt, 0, b.height / 2, -b.depth / 2 + pt / 2); + // 후면판 상단 'ㄱ' 절곡 (안쪽 수평 선반) + addPlate(W1, pt, flangeBack, 0, b.height - pt / 2, -b.depth / 2 + flangeBack / 2); // 전면판 (Front plate — 짧음, 상단에서 걸림) addPlate(W1, frontH, pt, 0, b.height - frontH / 2, b.depth / 2 - pt / 2); + // 전면판 상단 'ㄱ' 절곡 (안쪽 수평 선반) + addPlate(W1, pt, flangeFront, 0, b.height - pt / 2, b.depth / 2 - flangeFront / 2); // 전면 하부판 (전면판 아래 빈 공간을 막는 수직판) const frontGap = b.height - frontH; if (frontGap > 0) addPlate(W1, frontGap, pt, 0, frontGap / 2, b.depth / 2 - pt / 2); @@ -1158,18 +1164,9 @@ function addPlate(w, h, d, x, y, z) { addPlate(W1, pt, bottomLipD, 0, pt / 2, b.depth / 2 - bottomLipD / 2); } - // ── 덮개 (Cover) — 별도 부품, 박스 위에 올라감 ── - const coverOverhang = 20; // 전면/후면 오버행 - const coverW = W1; - const coverD = b.depth + coverOverhang * 2; // 전후로 오버행 - const coverLipH = 50; // 전면 립 높이 (접혀 내려오는 부분) - const coverY = b.height + pt; // 박스 본체 위 - // 덮개 상판 (수평) - addPlate(coverW, pt, coverD, 0, coverY + pt / 2, 0); - // 덮개 후면 립 (뒤로 접혀 내려옴) - addPlate(coverW, coverLipH, pt, 0, coverY - coverLipH / 2, -coverD / 2 + pt / 2); - // 덮개 전면 립 (앞으로 접혀 내려옴) - addPlate(coverW, coverLipH, pt, 0, coverY - coverLipH / 2, coverD / 2 - pt / 2); + // ── 덮개 (Cover) — 절곡 선반 위에 올라가는 평판 ── + const coverY = b.height; // 절곡 선반 위 + addPlate(W1, pt, b.depth, 0, coverY + pt / 2, 0); scene.add(meshes.case);