我正在尝试获取与转换后的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
希望可以澄清问题,如果您有其他情况,请说明如何进行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句