Autodesk forge 基于autodeskforge的组合模型
关于forge viewer上的合并模型(将列表urn加载到1个查看器),我有几个问题:Autodesk forge 基于autodeskforge的组合模型,autodesk-forge,autodesk-viewer,Autodesk Forge,Autodesk Viewer,关于forge viewer上的合并模型(将列表urn加载到1个查看器),我有几个问题: 当我组合模型时。我只能从该联合收割机的1个主要模型中获取数据。比如说, var instanceTree=GlobalViewer.model.getData().instanceTree var allDbIdsStr=Object.keys(instanceTree.nodeAccess.dbIdToIndex) var list=alldbidssr.map(函数(id){return parseIn
var instanceTree=GlobalViewer.model.getData().instanceTree代码>
var allDbIdsStr=Object.keys(instanceTree.nodeAccess.dbIdToIndex)代码>
var list=alldbidssr.map(函数(id){return parseInt(id)})代码>
列表将返回主模型的所有dbid,合并时如何访问所有模型的所有数据
viewer.model的评论。显然只引用了其中一个模型(我相信这是您最后加载的一个),但是您可以使用viewer.getVisibleModels()
或viewer.getHiddenModels()
来获取其他加载的模型
关于#2:dbid
仅在单个模型中是唯一的;许多查看器方法都接受一个附加参数,该参数指定要操作的模型,例如,您可以说viewer.select([123456],OfMyModels之一)
关于#3:这是一个好问题;加载二维模型首先将查看器置于二维查看模式(仅允许缩放和平移);如果您知道您将使用三维模型,我建议您总是先加载这些模型
关于#4:是的,每个加载的模型可以有不同的单元;使用loadDocumentNode
方法加载模型时,可以指定其他选项(例如,加载几何图形的放置变换),其中一个选项是名为applyScaling
的对象,例如:
viewer.loadDocumentNode(文档,可查看{
应用程序缩放:{to:'mm'}
});
关于#3:在我再次检查之后。在2D模式和3D模式之间似乎是随机的。我尝试先加载3D模型,但它仍然显示2D模式,有时我再次重新加载查看器,它显示3D模式。使用viewer.navigation.setIs2D(false)手动禁用导航逻辑中的2D模式代码>。我找到了它随机的原因。我忘记了loadDocumentNode
是承诺,所以尽管我已经将列表urn按顺序排列,但它仍然不工作。另外,我在文档中找不到方法viewer.navigation.setIs2D()
,它也返回标识。感谢您确保您使用的是最新版本的查看器(7.*)。setIs2D
方法可能在早期版本中不可用。