For optimal performance, it is recommended to assign a unique Mesh to each part of the robotic arm and then attach each part to its parent Mesh. This way, when you rotate a parent Mesh, its children Meshes will also rotate accordingly.
Here is an example to illustrate this concept:
var material = new THREE.MeshBasicMaterial();
var mainHandGeometry = new THREE.BoxGeometry(50, 10, 10);
var mainMesh = new THREE.Mesh(mainHandGeometry, material);
var midHandGeometry = new THREE.BoxGeometry(30, 5, 5);
var midMesh = new THREE.Mesh(midHandGeometry, material);
var lastHandGeometry = new THREE.BoxGeometry(15, 3, 3);
var lastMesh = new THREE.Mesh(lastHandGeometry, material);
midMesh.add(lastMesh);
lastMesh.position.set(10, 10, 10);
mainMesh.add(midMesh);
midMesh.position.set(10, 10, 10);
By setting up the Meshes in this manner, rotating the mainMesh will also rotate its children. Similarly, rotating midMesh will result in lastMesh rotating as well.