获取查看器中给定元素旁边的元素

时间:2018-05-28 08:31:22

标签: autodesk-forge autodesk-viewer

在我们的Forge应用中,我们需要选择与给定元素相邻的所有元素。示例:用户选择楼板元素,这会导致选择相邻的基础,墙壁等。当我说相邻时,我指的是交叉元素和表面相互接触的元素。

我们试图通过比较所有元素的边界框来实现这一点,但它只适用于简单的几何图形(立方体),其中边界框的大小几乎与元素本身的大小相同,并且元素边沿(x,y,z)定向。 (未旋转)。 The attached image说明了复杂地板的边界框(红色)效果不佳,因为它会导致选择明显与地板分开的基础和列(绿色)。 / p>

所以我要问的是:

  • 是否有用于获取相邻元素的内置函数?如果没有;
  • 如何获取定义元素轮廓的点?我对渲染的WebGL三角形不感兴趣,只对原始点(例如立方体的8个点)感兴趣。

此致 Torjus

1 个答案:

答案 0 :(得分:0)

这是一个非常具体的请求,遗憾的是没有用于这种复杂计算的内置函数。根据您正在处理的几何结构,它可能是一项非常昂贵的操作,您需要自己实现该自定义逻辑。

最终的算法可能需要几个步骤,第一步是你提到的快速边界框检查,然后进行更精细的分析。您可以查看该文章,了解如何检索给定元素的顶点:Accessing mesh information with the Forge Viewer