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, quaternion
和 position
属性的 JSON 对象 - 尽管 fragId 除外,这些属性具有空值。
额外:
我基于我根据 AutoDesk 团队的 GitHub 教程创建的扩展:
请注意第五步包含我正在讨论的 onSelect 事件的代码,如果您希望重新创建问题来帮助我解决这个问题。
我写了一篇关于几何捕捉和选择命令的博客 post。我认为它应该为您的问题提供一些答案:
Geometry snapping and selection commands with View & Data API
问题:
我一直在使用 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, quaternion
和 position
属性的 JSON 对象 - 尽管 fragId 除外,这些属性具有空值。
额外:
我基于我根据 AutoDesk 团队的 GitHub 教程创建的扩展:
请注意第五步包含我正在讨论的 onSelect 事件的代码,如果您希望重新创建问题来帮助我解决这个问题。
我写了一篇关于几何捕捉和选择命令的博客 post。我认为它应该为您的问题提供一些答案:
Geometry snapping and selection commands with View & Data API