AutoDesk视图和数据API - 返回所选元素

时间:2015-09-28 15:19:43

标签: javascript autodesk autodesk-viewer

问题:

我一直在使用AutoDesk View和Data API,我很想知道是否可以返回有关所选元素的几何信息。理想情况下,我想要所选元素的位置,大小,角度,形状类型等,以便我可以比较两行。我不介意如何表示这些信息,只要可以比较两种形状。

目的:

如果有一条线,那么(伪表示):

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

和另一行,这样:

(x1 = 20,y1 = 20),(x2 = 30,y2 = 20),另一条长度为10的2d直线。

然后我可以说这两行与这些信息类似,并推断出它们的角度。显然需要对所选实体的类型有一些指示。这是我问题的理想结果。

我尝试过的事情:

到目前为止,我在Viewer3d.js中找到了几个有用的函数,但似乎都没有返回任何关于单个选定形状的几何位置的数据:

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

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

我已经明白了如何包含onSelect事件,为了清楚起见,我们将其排除在外。

这两个都返回一个属性为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活动的代码,如果您希望重新创建问题以帮助我解决此问题。

1 个答案:

答案 0 :(得分:2)

我写过关于几何捕捉和选择命令的博客文章。我认为它应该为你的问题提供一些答案:

Geometry snapping and selection commands with View & Data API