Already give a try. Doesn’t work.
The only solution I’ve found so far is crazy as hell. I’ll probably be interned in a psychiatric hospital for this. 
For information, I think Line2() isn’t working due to my positions variable but I didn’t find anything in the doc about .setPositions(). 
function addLine(cube1, cube2) {
var material = new THREE.LineBasicMaterial({
color: 0xff0000,
linewidth:12
});
var geometry = new THREE.Geometry();
geometry.vertices.push(
new THREE.Vector3(cube1.xCoords, 25, cube1.zCoords),
new THREE.Vector3(cube2.xCoords, 25, cube2.zCoords),
new THREE.Vector3(cube1.xCoords + 1, 25, cube1.zCoords + 1),
new THREE.Vector3(cube2.xCoords - 1, 25, cube2.zCoords - 1),
new THREE.Vector3(cube1.xCoords - 1, 25, cube1.zCoords - 1),
new THREE.Vector3(cube2.xCoords + 1, 25, cube2.zCoords + 1),
new THREE.Vector3(cube1.xCoords + 1, 25, cube1.zCoords - 1),
new THREE.Vector3(cube2.xCoords - 1, 25, cube2.zCoords + 1),
new THREE.Vector3(cube1.xCoords - 1, 25, cube1.zCoords + 1),
new THREE.Vector3(cube2.xCoords + 1, 25, cube2.zCoords - 1),
new THREE.Vector3(cube1.xCoords + 2, 25, cube1.zCoords + 2),
new THREE.Vector3(cube2.xCoords - 2, 25, cube2.zCoords - 2),
new THREE.Vector3(cube1.xCoords - 2, 25, cube1.zCoords - 2),
new THREE.Vector3(cube2.xCoords + 2, 25, cube2.zCoords + 2),
new THREE.Vector3(cube1.xCoords + 2, 25, cube1.zCoords - 2),
new THREE.Vector3(cube2.xCoords - 2, 25, cube2.zCoords + 2),
new THREE.Vector3(cube1.xCoords - 2, 25, cube1.zCoords + 2),
new THREE.Vector3(cube2.xCoords + 2, 25, cube2.zCoords - 2),
new THREE.Vector3(cube1.xCoords + 1, 25 - 1, cube1.zCoords + 1),
new THREE.Vector3(cube2.xCoords - 1, 25 - 1, cube2.zCoords - 1),
new THREE.Vector3(cube1.xCoords - 1, 25 - 1, cube1.zCoords - 1),
new THREE.Vector3(cube2.xCoords + 1, 25 - 1, cube2.zCoords + 1),
new THREE.Vector3(cube1.xCoords + 1, 25 - 1, cube1.zCoords - 1),
new THREE.Vector3(cube2.xCoords - 1, 25 - 1, cube2.zCoords + 1),
new THREE.Vector3(cube1.xCoords - 1, 25 - 1, cube1.zCoords + 1),
new THREE.Vector3(cube2.xCoords + 1, 25 - 1, cube2.zCoords - 1),
new THREE.Vector3(cube1.xCoords + 2, 25 - 1, cube1.zCoords + 2),
new THREE.Vector3(cube2.xCoords - 2, 25 - 1, cube2.zCoords - 2),
new THREE.Vector3(cube1.xCoords - 2, 25 - 1, cube1.zCoords - 2),
new THREE.Vector3(cube2.xCoords + 2, 25 - 1, cube2.zCoords + 2),
new THREE.Vector3(cube1.xCoords + 2, 25 - 1, cube1.zCoords - 2),
new THREE.Vector3(cube2.xCoords - 2, 25 - 1, cube2.zCoords + 2),
new THREE.Vector3(cube1.xCoords - 2, 25 - 1, cube1.zCoords + 2),
new THREE.Vector3(cube2.xCoords + 2, 25 - 1, cube2.zCoords - 2),
new THREE.Vector3(cube1.xCoords + 1, 25 + 1, cube1.zCoords + 1),
new THREE.Vector3(cube2.xCoords - 1, 25 + 1, cube2.zCoords - 1),
new THREE.Vector3(cube1.xCoords - 1, 25 + 1, cube1.zCoords - 1),
new THREE.Vector3(cube2.xCoords + 1, 25 + 1, cube2.zCoords + 1),
new THREE.Vector3(cube1.xCoords + 1, 25 + 1, cube1.zCoords - 1),
new THREE.Vector3(cube2.xCoords - 1, 25 + 1, cube2.zCoords + 1),
new THREE.Vector3(cube1.xCoords - 1, 25 + 1, cube1.zCoords + 1),
new THREE.Vector3(cube2.xCoords + 1, 25 + 1, cube2.zCoords - 1),
new THREE.Vector3(cube1.xCoords + 2, 25 + 1, cube1.zCoords + 2),
new THREE.Vector3(cube2.xCoords - 2, 25 + 1, cube2.zCoords - 2),
new THREE.Vector3(cube1.xCoords - 2, 25 + 1, cube1.zCoords - 2),
new THREE.Vector3(cube2.xCoords + 2, 25 + 1, cube2.zCoords + 2),
new THREE.Vector3(cube1.xCoords + 2, 25 + 1, cube1.zCoords - 2),
new THREE.Vector3(cube2.xCoords - 2, 25 + 1, cube2.zCoords + 2),
new THREE.Vector3(cube1.xCoords - 2, 25 + 1, cube1.zCoords + 2),
new THREE.Vector3(cube2.xCoords + 2, 25 + 1, cube2.zCoords - 2),
new THREE.Vector3(cube1.xCoords + 1, 25 - 2, cube1.zCoords + 1),
new THREE.Vector3(cube2.xCoords - 1, 25 - 2, cube2.zCoords - 1),
new THREE.Vector3(cube1.xCoords - 1, 25 - 2, cube1.zCoords - 1),
new THREE.Vector3(cube2.xCoords + 1, 25 - 2, cube2.zCoords + 1),
new THREE.Vector3(cube1.xCoords + 1, 25 - 2, cube1.zCoords - 1),
new THREE.Vector3(cube2.xCoords - 1, 25 - 2, cube2.zCoords + 1),
new THREE.Vector3(cube1.xCoords - 1, 25 - 2, cube1.zCoords + 1),
new THREE.Vector3(cube2.xCoords + 1, 25 - 2, cube2.zCoords - 1),
new THREE.Vector3(cube1.xCoords + 2, 25 - 2, cube1.zCoords + 2),
new THREE.Vector3(cube2.xCoords - 2, 25 - 2, cube2.zCoords - 2),
new THREE.Vector3(cube1.xCoords - 2, 25 - 2, cube1.zCoords - 2),
new THREE.Vector3(cube2.xCoords + 2, 25 - 2, cube2.zCoords + 2),
new THREE.Vector3(cube1.xCoords + 2, 25 - 2, cube1.zCoords - 2),
new THREE.Vector3(cube2.xCoords - 2, 25 - 2, cube2.zCoords + 2),
new THREE.Vector3(cube1.xCoords - 2, 25 - 2, cube1.zCoords + 2),
new THREE.Vector3(cube2.xCoords + 2, 25 - 2, cube2.zCoords - 2),
new THREE.Vector3(cube1.xCoords + 1, 25 + 2, cube1.zCoords + 1),
new THREE.Vector3(cube2.xCoords - 1, 25 + 2, cube2.zCoords - 1),
new THREE.Vector3(cube1.xCoords - 1, 25 + 2, cube1.zCoords - 1),
new THREE.Vector3(cube2.xCoords + 1, 25 + 2, cube2.zCoords + 1),
new THREE.Vector3(cube1.xCoords + 1, 25 + 2, cube1.zCoords - 1),
new THREE.Vector3(cube2.xCoords - 1, 25 + 2, cube2.zCoords + 1),
new THREE.Vector3(cube1.xCoords - 1, 25 + 2, cube1.zCoords + 1),
new THREE.Vector3(cube2.xCoords + 1, 25 + 2, cube2.zCoords - 1),
new THREE.Vector3(cube1.xCoords + 2, 25 + 2, cube1.zCoords + 2),
new THREE.Vector3(cube2.xCoords - 2, 25 + 2, cube2.zCoords - 2),
new THREE.Vector3(cube1.xCoords - 2, 25 + 2, cube1.zCoords - 2),
new THREE.Vector3(cube2.xCoords + 2, 25 + 2, cube2.zCoords + 2),
new THREE.Vector3(cube1.xCoords + 2, 25 + 2, cube1.zCoords - 2),
new THREE.Vector3(cube2.xCoords - 2, 25 + 2, cube2.zCoords + 2),
new THREE.Vector3(cube1.xCoords - 2, 25 + 2, cube1.zCoords + 2),
new THREE.Vector3(cube2.xCoords + 2, 25 + 2, cube2.zCoords - 2)
);
var line = new THREE.Line(geometry, material);
scene.add(line);
}

THREE.Line() WebGL Hacks ! 


Please don’t consider this thread as solved as long as I’ll probably face some performance issues. 