diff --git a/resources/views/rd/fire-shutter-drawing/index.blade.php b/resources/views/rd/fire-shutter-drawing/index.blade.php index ea1e6637..a730a783 100644 --- a/resources/views/rd/fire-shutter-drawing/index.blade.php +++ b/resources/views/rd/fire-shutter-drawing/index.blade.php @@ -1123,27 +1123,27 @@ function fs3dBuild() { const motorBodyGeo = new THREE.CylinderGeometry(motorR, motorR, motorLen, 24); motorBodyGeo.rotateZ(Math.PI / 2); const motorBody = new THREE.Mesh(motorBodyGeo, motorMat); - // 복주머니 바깥쪽에 모터 배치 (브라켓 바깥) - const motorCenterX = motorDir * (W1 / 2 + bkW + motorLen / 2); + // 브라켓 안쪽(샤프트 방향)에 모터 배치 — 복주머니 옆 + const motorCenterX = motorDir * (W1 / 2 - bkW - couplingLen - motorLen / 2); motorBody.position.set(motorCenterX, 0, 0); meshes.motor.add(motorBody); - // Motor end cap (뒷면 마감판) + // Motor end cap (바깥쪽 마감판 — 샤프트 반대편) const endCapGeo = new THREE.CylinderGeometry(motorR + 5, motorR + 5, 8, 24); endCapGeo.rotateZ(Math.PI / 2); const endCapMat = new THREE.MeshStandardMaterial({ color: 0x1e40af, metalness: 0.5, roughness: 0.3 }); const endCap = new THREE.Mesh(endCapGeo, endCapMat); - endCap.position.set(motorCenterX + motorDir * (motorLen / 2 + 4), 0, 0); + endCap.position.set(motorCenterX - motorDir * (motorLen / 2 + 4), 0, 0); meshes.motor.add(endCap); - // Motor output shaft (모터 돌출축 — 모터에서 안쪽으로 돌출) - const outShaftR = b.shaftDia * 0.25; // 돌출축: 샤프트보다 작은 축 + // Motor output shaft (모터 돌출축 — 모터에서 복주머니 방향으로 돌출) + const outShaftR = b.shaftDia * 0.25; const outShaftLen = 40; const outShaftGeo = new THREE.CylinderGeometry(outShaftR, outShaftR, outShaftLen, 16); outShaftGeo.rotateZ(Math.PI / 2); const outShaftMat = new THREE.MeshStandardMaterial({ color: 0x94a3b8, metalness: 0.8, roughness: 0.2 }); const outShaft = new THREE.Mesh(outShaftGeo, outShaftMat); - outShaft.position.set(motorCenterX - motorDir * (motorLen / 2 + outShaftLen / 2), 0, 0); + outShaft.position.set(motorCenterX + motorDir * (motorLen / 2 + outShaftLen / 2), 0, 0); meshes.motor.add(outShaft); // Motor mounting legs (3개)