如何从场景中删除 stl 文件?
How can I delete a stl file from my scene?
我需要在单击按钮时加载一些 stl 文件,问题是每次单击此按钮时都会加载一个新的 stl 文件覆盖前一个。如何在加载下一个文件之前清理我的场景?谢谢!
这是我加载 stl 并在我按下按钮时调用的函数
(在这个例子中只有两个 stl 文件,但我应该有更多):
function loading(){
var material = new THREE.MeshPhongMaterial( {ambient: 0x555555, color: 0xAAAAAA, specular: 0x111111, shininess: 200} );
var loader = new THREE.STLLoader();
loader.addEventListener( 'load', function ( event ) {
var geometry = event.content;
var mesh = new THREE.Mesh( geometry, material );
mesh.scale.set( 0.02, 0.02, 0.02 );
mesh.position.set( 0, 0, 0 );
mesh.castShadow = true;
mesh.receiveShadow = true;
mesh.needsUpdate = true;
geometry.dynamic = true;
scene.add( mesh );
} );
if ( assembly[0] == 2 && assembly[1] == 2 && assembly[2] == 2 && assembly[3] == 1 ){
loader.load( '2_2_2_1_1_0.stl');}
else { loader.load( '1_1_1_2_0_1.stl'); }
}
从场景中移除之前的网格
scene.remove( mesh );
我需要在单击按钮时加载一些 stl 文件,问题是每次单击此按钮时都会加载一个新的 stl 文件覆盖前一个。如何在加载下一个文件之前清理我的场景?谢谢!
这是我加载 stl 并在我按下按钮时调用的函数 (在这个例子中只有两个 stl 文件,但我应该有更多):
function loading(){
var material = new THREE.MeshPhongMaterial( {ambient: 0x555555, color: 0xAAAAAA, specular: 0x111111, shininess: 200} );
var loader = new THREE.STLLoader();
loader.addEventListener( 'load', function ( event ) {
var geometry = event.content;
var mesh = new THREE.Mesh( geometry, material );
mesh.scale.set( 0.02, 0.02, 0.02 );
mesh.position.set( 0, 0, 0 );
mesh.castShadow = true;
mesh.receiveShadow = true;
mesh.needsUpdate = true;
geometry.dynamic = true;
scene.add( mesh );
} );
if ( assembly[0] == 2 && assembly[1] == 2 && assembly[2] == 2 && assembly[3] == 1 ){
loader.load( '2_2_2_1_1_0.stl');}
else { loader.load( '1_1_1_2_0_1.stl'); }
}
从场景中移除之前的网格
scene.remove( mesh );