Autodesk Viewer getExternalIdMapping 长时间执行

问题描述 投票:0回答:1

请建议是否有任何选项可以更快地获取映射对象或仅过滤几何对象。

我们有一个存储外部Id的对象数组(单独的数据库),我们想根据这些外部Id添加精灵。我使用 getExternalIdMapping 中的映射对象来查找 dbId,但执行时间取决于模型大小(我在这里不确定)。 我尝试在 MODEL_ROOT_LOADED_EVENT 上获取映射。

//callback for mapping on MODEL_ROOT_LOADED_EVENT
e => {
      e.model.getExternalIdMapping(
        mapping => {
          dispatch(setGuidsAndModels({ model: e.model, guidsToDbids: mapping }));
        },
        error => {
          console.error('Failed to get external ID mapping', error);
        },
      );
    },

在我得到它之后,我触发一个 useEffect 来添加精灵。 我得到了预期的结果,这里唯一的问题是执行时间。 useEffect 工作速度很快,一旦收到映射对象,精灵就会立即出现。

我为什么问这个?我们有大型模型,此流程需要 30 秒,但 ACC 中存在问题的同一模型在打开的 ACC 查看器上显示了这些问题。

请在这里提出如何改进的建议。谢谢。

autodesk-viewer
1个回答
0
投票

是的,根据模型的复杂程度,下载数据和生成外部ID图可能需要花费大量时间。

您可以做的是,使用模型衍生服务获取设计元数据(例如,使用this APIthis API),并自行构建externalID/dbID索引。

© www.soinside.com 2019 - 2024. All rights reserved.