首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用three.js实现STL对象的横截面

用three.js实现STL对象的横截面
EN

Stack Overflow用户
提问于 2016-01-20 22:17:18
回答 1查看 1.6K关注 0票数 2

我试着用Three.js的STLLoader函数加载心脏模型的横截面。我目前正尝试为csg.js库使用csg.js包装器,就像在此堆栈溢出柱中一样。

这是我的csg减法代码

代码语言:javascript
复制
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未定义TypeError:无法读取未定义属性的“长度”

我猜想这是因为(a)我没有预先使用ThreeCSG,(b)我需要在代码中的其他地方执行减法,或者(c)不支持STL格式模型。

在任何情况下,我都很困惑,我会很感激在使用three.js方面更有经验的人的建议。

EN

回答 1

Stack Overflow用户

发布于 2016-01-21 05:08:24

看上去是对的。如果STL几何体为空或忘记初始化xSection,则可能发生此错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34911705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档