Autodesk forge Autodesk Forge Viewer:如何获取文档

Autodesk forge Autodesk Forge Viewer:如何获取文档,autodesk-forge,autodesk-viewer,Autodesk Forge,Autodesk Viewer,我正在尝试获取一个列表,其中列出了与转换的rvt文件一起使用的所有2d和3d模型 看看那些老用户,他们这样做是为了访问“document”根项目 Autodesk.Viewing.Document.load(fullUrnStr, function(document) { _loadedDocument = document; // keep this in a global var so we can reference it in other spots // ge

我正在尝试获取一个列表,其中列出了与转换的rvt文件一起使用的所有2d和3d模型

看看那些老用户,他们这样做是为了访问“document”根项目

Autodesk.Viewing.Document.load(fullUrnStr, function(document) {
    _loadedDocument = document; // keep this in a global var so we can reference it in other spots

        // get all the 3D and 2D views (but keep in separate arrays so we can differentiate in the UX)
    _views3D = Autodesk.Viewing.Document.getSubItemsWithProperties(document.getRootItem(), {'type':'geometry', 'role':'3d'}, true);
    _views2D = Autodesk.Viewing.Document.getSubItemsWithProperties(document.getRootItem(), {'type':'geometry', 'role':'2d'}, true);
据我所知,现在首选的方法是使用loadModel

oViewer =new Autodesk.Viewing.Private.GuiViewer3D ($("#viewerContainer") [0], {}) ;
oViewer.loadModel (url , [],  onLoadSuccess, onLoadFail) ;

如果我使用loadModel方法,我如何访问文档,以便调用其getSubItemsWithProperties方法。您询问问题的方式有点混乱,如果您对脱机或不脱机加载的内容不太清楚,则很难理解您的工作流

以下是我认为可能出现的两种情况:

1/使用其URN从Autodesk Cloud联机加载模型:在这种情况下,需要首先调用Autodesk.Viewing.Document.load,此调用将实际返回清单数据,从那里,您可以使用您指出的Autodesk.Viewing.Document.getSubItemsWithProperties检索三维和二维可查看项目。一旦通过编程或用户交互选择了要在查看器中加载的路径,就可以使用viewer.loadModel(_views2D[idx])

2/您已经在本地下载了模型的整个包,在这种情况下,您应该已经知道现有的2D和3D视图是什么,因为您有一些逻辑已经解析了资源并存储了每个可视视图。通常,您需要将此信息存储在.json或类似文件中

您不需要使用Autodesk.Viewing.Document.load在这种情况下,您可以直接使用viewer.loadModel(“要加载到本地磁盘上的路径/路径/视图/视图”)

一旦模型离线,就无法“知道”现有视图是什么,除非您的代码创建了一个包含此数据的.json

有关如何以编程方式提取与已翻译的Forge模型关联的资源的更多详细信息,请参阅本文:


希望这能澄清问题,如果你有不同的情况,请解释你是如何进行的。

你问问题的方式有点混乱,如果你不清楚离线加载与否,你很难理解你的工作流程

以下是我认为可能出现的两种情况:

1/使用其URN从Autodesk Cloud联机加载模型:在这种情况下,需要首先调用Autodesk.Viewing.Document.load,此调用将实际返回清单数据,从那里,您可以使用您指出的Autodesk.Viewing.Document.getSubItemsWithProperties检索三维和二维可查看项目。一旦通过编程或用户交互选择了要在查看器中加载的路径,就可以使用viewer.loadModel(_views2D[idx])

2/您已经在本地下载了模型的整个包,在这种情况下,您应该已经知道现有的2D和3D视图是什么,因为您有一些逻辑已经解析了资源并存储了每个可视视图。通常,您需要将此信息存储在.json或类似文件中

您不需要使用Autodesk.Viewing.Document.load在这种情况下,您可以直接使用viewer.loadModel(“要加载到本地磁盘上的路径/路径/视图/视图”)

一旦模型离线,就无法“知道”现有视图是什么,除非您的代码创建了一个包含此数据的.json

有关如何以编程方式提取与已翻译的Forge模型关联的资源的更多详细信息,请参阅本文:


希望这能澄清问题,如果您有不同的情况,请解释您是如何进行的。

很抱歉没有更快地回答。现在解决了吗?从你对此事的评论来看,似乎是这样。或者这种情况完全不同?不,如果直接加载模型,我仍然不知道从哪里获取“文档”。请记住,我正在尝试离线完成这一切。所以我想下载我需要的所有文件。特别是在处理2D(f2d)时。我知道清单和元数据文件与f2d文件位于同一文件夹中。但我不知道如何访问f2d文件中的其余信息,因为它不是开放格式。我试图使用getSubItemsWithProperties方法,但我不知道如何获取文档以便传入根项目。您检查过新的样板样本了吗?第一个示例是1-查看器脱机。。。它可能正在做你想做的事情。当你有机会时,请将我的答案标记为解决方案,或者澄清它以何种方式不解决你的问题,如果需要,我会详细说明。谢谢。对不起,没有更快地回答。现在解决了吗?从你对此事的评论来看,似乎是这样。或者这种情况完全不同?不,如果直接加载模型,我仍然不知道从哪里获取“文档”。请记住,我正在尝试离线完成这一切。所以我想下载我需要的所有文件。特别是在处理2D(f2d)时。我知道清单和元数据文件与f2d文件位于同一文件夹中。但我不知道如何访问f2d文件中的其余信息,因为它不是开放格式。我试图使用getSubItemsWithProperties方法,但我不知道如何获取文档以便传入根项目。您检查过新的样板样本了吗?第一个示例是1-查看器脱机。。。它可能正在做你想做的事情。当你有机会时,请将我的答案标记为解决方案,或者澄清它以何种方式不解决你的问题,如果需要,我会详细说明。谢谢