three.js stlloader.js线框并选择单个面部'

时间:2015-02-18 05:29:21

标签: three.js stl-format

任何人都可以建议我如何修复下面的代码来获取STL文件中的线框?非常感谢.p s:有没有人知道如何选择加载的stl文件的面孔? p s:我刚刚使用JSON来解决问题

var loader = new THREE.STLLoader();
            loader.load('models/general_lee.stl', function (geometry) {
                geometry.scene.traverse( function(child) {
                    if (child instanceof THREE.Mesh) {
                        child.material = new THREE.MeshBasicMaterial( { color: 0x009900, wireframe: true, vertexColors: THREE.VertexColors } );
                        child.scale.set(20,20,20)
                        scene.add( child );
                    }
                })  
            })  

2 个答案:

答案 0 :(得分:0)

var loader = new THREE.STLLoader();
loader.load('models/general_lee.stl', function (geometry) {
  var material = new THREE.MeshBasicMaterial( { color: 0x009900, wireframe: true );
  var mesh = new THREE.Mesh( geometry, material );
  scene.add( mesh );
});

我认为这是你应该如何将你的对象添加到场景中,尽管我还没有测试过它 拾取面将与任何其他object3D对象相同。搜索谷歌的教程。

答案 1 :(得分:0)

经过几次实验,我认为几乎不可能存储STL文件的所有面。相反,我使用blender 2.65转换器将STL文件转换为JSON。它工作得很好,并为我提供了顶点,面,法线,甚至顶点和面的#,我能够非常容易地处理每个面。此外,在选择相邻面时,我使用了半边数据结构。