three.js の STLLoader 関数を使用してロードした心臓モデルの断面を取得しようとしています。現在、このスタック オーバーフローの投稿と同じように、 csg.jsライブラリにThreeCSGラッパーを使用しようとしています。
csg減算のコードは次のとおりです
function modelLoadedCallBack( geometry ) {
material = new THREE.MeshPhongMaterial( { color: model.color } );
mesh = new THREE.Mesh( geometry, material );
mesh.rotation.set( model.rotationX, model.rotationY, model.rotationZ );
mesh.scale.set( model.scale, model.scale, model.scale );
var originalBSP = new ThreeBSP( mesh );
var xSectionBSP = new ThreeBSP( xSection );
var subtractedBSP = originalBSP.subtract( xSectionBSP );
var result = subtractedBSP.toMesh( material );
result.geometry.computeVertexNormals();
scene.add( result );
};
stl モデルをロードし、ローダーのコールバック関数でメッシュを差し引きます。私が得ているエラーは、ThreeCSG ラッパー ファイルの 34 行目にあり、
ThreeCSG.js:34 Uncaught TypeError:未定義のプロパティ「長さ」を読み取ることができません
これは、(a) ThreeCSG を適切に使用していない、(b) コードの別の場所で減算を行う必要がある、または (c) STL 形式のモデルがサポートされていないためだと推測しています。
いずれにせよ、私は完全に困惑しており、three.js の使用経験が豊富な人のアドバイスをいただければ幸いです。