AutoDesk 视图和数据 API - return 所选元素的位置

AutoDesk View and Data API - return position of selected element

问题:

我一直在使用 AutoDesk 视图和数据 API,我很想知道是否可以 return 选定元素的几何信息。理想情况下,我需要所选元素的位置、大小、角度、形状类型等,以便我可以比较,例如,两条线。我不介意如何表示这些信息,只要可以比较两个形状即可。

Objective:

如果有一行,这样(伪表示):

(x1=0,y1=0),(x2=10,y2=0),长度为10的二维直线;

和另一行,例如:

(x1=20,y1=20),(x2=30,y2=20), 另一条长度为10的二维直线.

那我就可以根据这个信息说这两条线是相似的,推导出它们的角度。显然还需要对所选实体的类型进行一些指示。这就是我的问题所期望的结果。

我试过的:

到目前为止,我在 Viewer3d.js 中发现了几个有用的函数,但是 none 似乎 return 任何关于单个选定形状的几何位置的数据:

Viewing.Extension.SomeExtension = function (viewer, options)
{
    ...

    var shapeRenderData = viewer.impl.getRenderProxy(viewer, dbId);
    var shapeFragmentData = viewer.impl.getFragmentProxy(viewer, dbId);
}

我已经了解如何包含 onSelect 事件,为了清楚起见,我将其省略。

这两个 return 一个具有 fragId, scale, quaternionposition 属性的 JSON 对象 - 尽管 fragId 除外,这些属性具有空值。

额外:

我基于我根据 AutoDesk 团队的 GitHub 教程创建的扩展:

https://github.com/Developer-Autodesk/tutorial-getting.started-view.and.data/blob/master/chapter-3.md#Step5

请注意第五步包含我正在讨论的 onSelect 事件的代码,如果您希望重新创建问题来帮助我解决这个问题。

我写了一篇关于几何捕捉和选择命令的博客 post。我认为它应该为您的问题提供一些答案:

Geometry snapping and selection commands with View & Data API