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

Autodesk forge 获取查看器中给定元素旁边的元素,autodesk-forge,autodesk-viewer,Autodesk Forge,Autodesk Viewer,在Forge应用程序中,我们需要选择与给定元素相邻的所有元素。示例:用户选择楼板图元,这将导致选择相邻的基础、墙等。当我说相邻时,我指的是相交的元素和表面相互接触的元素 我们试图通过相互比较所有元素的边界框来实现这一点,但它仅适用于简单几何体(立方体),其中边界框的大小几乎与元素本身的大小相同,并且元素边沿(x、y、z)定向。(未旋转)说明了复杂楼板的边界框(红色)是如何工作不好的,因为它会导致选择与楼板明显分开的基础和柱(绿色) 所以我要问的是: 是否有用于获取相邻元素的内置函数?若否, 如

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

我们试图通过相互比较所有元素的边界框来实现这一点,但它仅适用于简单几何体(立方体),其中边界框的大小几乎与元素本身的大小相同,并且元素边沿(x、y、z)定向。(未旋转)说明了复杂楼板的边界框(红色)是如何工作不好的,因为它会导致选择与楼板明显分开的基础和柱(绿色)

所以我要问的是:

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

这是一个非常具体的请求,不幸的是,对于如此复杂的计算,没有内置函数。根据您正在处理的几何图形,这可能是一个非常昂贵的操作,您需要自己实现该自定义逻辑


最终的算法可能需要几个步骤,第一步是如您所述的快速边界框检查,然后是更精细的分析。您可以查看这篇文章,了解如何检索给定元素的顶点:

谢谢您,Phillipe!我知道这是一项具体的要求,是的,也是一项代价高昂的行动。我们不需要100%的准确度,但比仅边界框更好。只要我们能得到顶点,我们就能得到更好的解。谢谢你的链接。