Three.js 3JS中的边界表示

Three.js 3JS中的边界表示,three.js,brep,Three.js,Brep,我一直在使用ThreeJS构建自己的基于web的CAD前端。API具有惊人的功能。我的目的是将ThreeJS接口的物理特性与不同的产品集成,遗憾的是,唯一受支持的通用CAD格式是STL。 有限元分析中最重要的输入之一是边界。在我的例子中,它们是3d模型的面,可以是任意形状,而不是三角形。显然,ThreeJS将Face3视为一张脸 例如: 这种表示法也称为边界表示法 有没有办法把这些脸分成三张 我尝试了RayCaster,但它不起作用,我的目的是事先从模型中获取所有人脸的列表 非常感谢首先,一

我一直在使用ThreeJS构建自己的基于web的CAD前端。API具有惊人的功能。我的目的是将ThreeJS接口的物理特性与不同的产品集成,遗憾的是,唯一受支持的通用CAD格式是STL。 有限元分析中最重要的输入之一是边界。在我的例子中,它们是3d模型的面,可以是任意形状,而不是三角形。显然,ThreeJS将Face3视为一张脸


例如:

这种表示法也称为边界表示法

有没有办法把这些脸分成三张

我尝试了RayCaster,但它不起作用,我的目的是事先从模型中获取所有人脸的列表


非常感谢

首先,一些语义。在
THREE.js
中,面是一个三角形。对于您来说,面是一个形状(可能是多个三角形),它构成了模型的一个有界区域。您是否有描述面(其边界区域、面顶点索引等)的信息?如果是这样,您可以将它们放入
缓冲几何体
”。光线投射器将为您提供一个
面部索引
,然后您可以对照
来确定您的面部。非常感谢您的输入。看来,我不得不使用一个外部程序从STL获取BRep。如@TheJim01所述,唯一需要关注的是:“一个面是一个形状(可能是多个三角形),它构成了模型的一个有界区域”。好了,现在我可以得到那个自定义面的坐标了。我想知道是否可以用不同的颜色为这些顶点重新创建三角形,使其看起来像我高亮显示了该面?如果您为对象指定一个材质数组,如
object.material=[actualObjectMaterial,highlightMaterial]
,您可以将所有组的
materialIndex
属性设置为0。然后,如果要突出显示特定的面/组,只需将
materialIndex
设置为1即可。这将切换该面的材质,并且仅切换该面的材质。再次感谢。我从不玩材料。听起来是个好主意。我会试试看。