fix: [rd] 모터 방향 수정 — 브라켓 안쪽(샤프트 방향)으로 배치

- 모터를 브라켓 바깥(벽쪽)에서 안쪽(복주머니 옆)으로 이동
- 돌출축이 복주머니 방향으로 향하도록 수정
- 마감판은 바깥(샤프트 반대편)에 위치
This commit is contained in:
김보곤
2026-03-08 21:51:39 +09:00
parent f4a39afe12
commit 85a3c8de47

View File

@@ -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개)