fix: [rd] 모터 위치/형상 수정 — 브라켓 안쪽에 3개 다리로 안착
- 모터를 벽쪽(바깥)에서 샤프트 방향(안쪽)으로 이동 - 원통형 모터 본체로 변경 - 3개 마운팅 다리 추가 (브라켓 위에 안착)
This commit is contained in:
@@ -1058,12 +1058,33 @@ function fs3dBuild() {
|
||||
meshes.shaft.position.set(0, shaftY, 0);
|
||||
scene.add(meshes.shaft);
|
||||
|
||||
// === MOTOR (outside bracket, connected via 복주머니) ===
|
||||
const motorGeo = new THREE.BoxGeometry(150, 100, 120);
|
||||
// === MOTOR (브라켓 위에 3개 다리로 안착, 샤프트 방향으로 위치) ===
|
||||
meshes.motor = new THREE.Group();
|
||||
const motorMat = new THREE.MeshStandardMaterial({ color: 0x2563eb, metalness: 0.4, roughness: 0.4 });
|
||||
meshes.motor = new THREE.Mesh(motorGeo, motorMat);
|
||||
const motorXPos = motorDir * (W1 / 2 + 80); // 브라켓 바깥에 위치
|
||||
meshes.motor.position.set(motorXPos, shaftY, 0);
|
||||
const legMat = new THREE.MeshStandardMaterial({ color: 0x374151, metalness: 0.5, roughness: 0.4 });
|
||||
|
||||
// Motor body (원통형)
|
||||
const motorLen = 200; // 모터 길이 (X방향, 샤프트 방향)
|
||||
const motorR = 55; // 모터 반지름
|
||||
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);
|
||||
motorBody.position.set(motorCenterX, 0, 0);
|
||||
meshes.motor.add(motorBody);
|
||||
|
||||
// Motor mounting legs (3개 — 브라켓 위에 안착)
|
||||
const legW = 8, legH = 40, legD = 20;
|
||||
const legGeo = new THREE.BoxGeometry(legW, legH, legD);
|
||||
const legOffsets = [-motorLen * 0.35, 0, motorLen * 0.35]; // 모터 길이 방향 3등분
|
||||
legOffsets.forEach(dx => {
|
||||
const leg = new THREE.Mesh(legGeo, legMat);
|
||||
leg.position.set(motorCenterX + motorDir * dx, -motorR - legH / 2, 0);
|
||||
meshes.motor.add(leg);
|
||||
});
|
||||
|
||||
meshes.motor.position.set(0, shaftY, 0);
|
||||
scene.add(meshes.motor);
|
||||
|
||||
// === GUIDE RAILS (ExtrudeGeometry) ===
|
||||
|
||||
Reference in New Issue
Block a user