【问题标题】:Finding edges or holes in a shape of a node in the model在模型中的节点形状中查找边或孔
【发布时间】:2017-09-22 04:01:57
【问题描述】:

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

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

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

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

那么还有其他方法可以做到这一点吗?也许 Three.js 中有一个内置函数来计算网格的边缘?

【问题讨论】:

  • 你应该看看这篇文章Here
  • @Aboopallikara 这有什么关系?
  • 你考虑过EWS吗?您可以将模型转换为 XML 并访问所有 BRep 数据,例如外部和内部面循环。
  • 这将转换整个模型,但我想检测模型一小部分的边缘......而且看起来它必须使用某些服务器来完成?我希望它在浏览器中按需离线工作。

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


【解决方案1】:

可能有一些非常简单的方法来计算边等,但恐怕它们不会有太大帮助,除非你有非常简单的几何图形,而且没有特殊情况。

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

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

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

FinalMesh 布尔 3D 库:

http://finalmesh.com/boolean3d.htm

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

给定一个多边形 P,你可以去掉它的孔来生成一个无孔多边形 Q,然后从 Q 中减去 P 以获得 P 中的所有开口。

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-26
  • 2011-07-01
  • 1970-01-01
  • 2018-07-24
相关资源
最近更新 更多