繁体   English   中英

Autodesk Forge Viewer:如何获取文档

[英]Autodesk Forge Viewer : how to get document

我正在尝试获取与转换后的rvt文件一起使用的所有2d和3d模型的列表。

看一个较旧的示例:LmvNavTest他们这样做是为了访问“文档” rootItem

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 ,此调用实际上将返回清单数据,您可以从那里检索3D和2D可见项如您所指出的,使用Autodesk.Viewing.Document.getSubItemsWithProperties 一旦以编程方式或通过用户交互选择了要在查看器中加载的路径,就可以使用viewer.loadModel(_views2D [idx])

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

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

脱机模型后,将无法“知道”现有视图,除非您的代码创建了一个包含此数据的.json。

请参阅本文,以获取有关如何以编程方式提取与翻译后的Forge模型关联的资源的更多详细信息: Node.js中的Forge SVF Extractor

希望可以澄清问题,如果您有其他情况,请说明如何进行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM