查找模型中节点形状的边或孔

时间:2017-04-25 08:37:25

标签: 3d three.js autodesk autodesk-forge autodesk-viewer

有没有办法识别模型中的节点是否有洞?

例如,我们想知道墙上是否有窗户或其他开口,以及有多少这样的开口及其位置。

我试图迭代节点的多边形,采用它们的质心和法线并试图找到不连续性,但它没有给出高置信度的结果。

还尝试计算边缘以外的直线,但有时在墙的中间会出现一条直线。

还有另一种方法吗?也许在Three.js中有一个内置函数来计算网格的边缘?

1 个答案:

答案 0 :(得分:1)

可能有非常简单的方法来计算边缘等等,但我担心它们不会有太多帮助,除非你有非常简单的几何形状,并且没有例外情况。

对于更通用的解决方案,我认为您最好的选择是使用顶点,边缘,法线等从多边形生成实体模型,以及一些能够使用实体来分析它们的3D几何库。拓扑。

这是搜索“js 3d boolean”时出现的第一个

https://duckduckgo.com/?q=js+3d+boolean

FinalMesh布尔3D库:

http://finalmesh.com/boolean3d.htm

这个说它可以处理带孔的多边形并对它们进行优化,包括去除孔,去除多余点以及从三角形生成多边形。

给定一个多边形P,您可以移除其孔以生成无孔多边形Q,然后从Q中减去P以获得P中的所有开口。

我相信还有很多其他人可供您评估和比较。