首先说一下ExtrudeGeometry ,可以先看官网,这个方法的意思是沿着给定的路径拉伸一个平面图形,然后就成为3D图形了。
所以很明显这个方法要两个参数,路径和图形。
然后接下来说管线的问题。
var radius = data[i]['Diameter'] - 0; // 管子的半径
var shape = new THREE.Shape();
shape.absarc( 0, 0, radius, 0, Math.PI * 2, false );var material = new THREE.MeshBasicMaterial({color:0xff0000});var v1 = new THREE.Vector3( 0, 0, 0 );
var v2 = new THREE.Vector3( 100, 0, 0);var path = new THREE.LineCurve3( v1, v2 )var extrudeSettings = {bevelEnabled: false,steps: 1,extrudePath: path
};var geometry = new THREE.ExtrudeGeometry( shape, extrudeSettings );
var mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );
用上面的方法就可以画出一条管子。