From 5ad2ed07e3cc6a72caecedd34a612b5729aa30b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Sat, 14 Mar 2026 18:30:26 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20[fire-shutter]=20=EC=83=A4=ED=94=84?= =?UTF-8?q?=ED=8A=B8=20=EC=B5=9C=EC=86=8C=20=EA=B0=90=EA=B9=80=EB=9F=89=20?= =?UTF-8?q?=ED=91=9C=EC=8B=9C=20+=20shutterPos=20100=20=EB=B3=B5=EC=9B=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - shutterPos 100%(완전 내림)에서도 샤프트에 최소 감김 표시 (minRollH=8%) - 스크린이 샤프트에 물리적으로 연결된 실제 구조 반영 - shutterPos 기본값 100으로 복원 --- .../views/rd/fire-shutter-drawing/index.blade.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/resources/views/rd/fire-shutter-drawing/index.blade.php b/resources/views/rd/fire-shutter-drawing/index.blade.php index 36a68bee..2a0296b6 100644 --- a/resources/views/rd/fire-shutter-drawing/index.blade.php +++ b/resources/views/rd/fire-shutter-drawing/index.blade.php @@ -257,7 +257,7 @@
- + 100%
@@ -406,7 +406,7 @@ // Shutter Box sb: { width:2280, height:380, depth:500, thickness:1.6, shaftDia:80, bracketW:10, motorSide:'right', viewMode:'side', showShaft:true, showSlatRoll:true, showMotor:true, showBrake:true, showSpring:true }, // 3D - td: { shutterPos:50, caseOpacity:0.3, lightPreset:'default', bgColor:'#ffffff', show:{ case:true, shaft:true, motor:true, rails:true, slats:true, bottomBar:true, wall:false, slatRoll:true } }, + td: { shutterPos:100, caseOpacity:0.3, lightPreset:'default', bgColor:'#ffffff', show:{ case:true, shaft:true, motor:true, rails:true, slats:true, bottomBar:true, wall:false, slatRoll:true } }, // Wall (벽체) wall: { wing:600, thick:600, topMargin:300, color:'#a1887f', opacity:30 }, // View @@ -2436,12 +2436,14 @@ function createRailGroup() { meshes.slats.add(lineGroup); } - // === SLAT ROLL (샤프트에 감긴 슬랫 — 샤프트 전체에 두껍게 감기는 실린더) === + // === SLAT ROLL (샤프트에 감긴 슬랫 — 항상 최소 반 바퀴 감김 표시) === const rolledH = H - shutterH; - if (rolledH > 0) { + { // 스크린 100% 내려도 샤프트에 최소 감김량 표시 (물리적 연결) + const minRollH = H * 0.08; + const effectiveRolledH = Math.max(rolledH, minRollH); const wrapThick = S.productType === 'steel' ? 10 : 1; const shaftR = b.shaftDia / 2; - const rollThick = Math.max(Math.sqrt(rolledH * wrapThick / Math.PI), 8); + const rollThick = Math.max(Math.sqrt(effectiveRolledH * wrapThick / Math.PI), 8); const rollOuterR = shaftR + rollThick; const rollLen = W - 30 - stubPinVisible * 2; // 샤프트 관 길이에 맞춤