[英]combine model on Autodesk Forge
我有几个关于在 forge 查看器上组合 model 的问题(将列表 urn 加载到 1 个查看器):
var instanceTree = GlobalViewer.model.getData().instanceTree;
var allDbIdsStr = Object.keys(instanceTree.nodeAccess.dbIdToIndex);
var list = allDbIdsStr.map(function (id) { return parseInt(id) });
列表将返回主要 model 的所有 dbid,当我合并时如何访问所有 model 的所有数据?感谢任何评论,
关于 #1: viewer.model
显然只引用了其中一个模型(我相信这是您加载的最后一个模型),但您也可以使用viewer.getVisibleModels()
或viewer.getHiddenModels()
来获取其他加载的模型。
关于 #2: dbIDs
仅在单个 model 中是唯一的; 许多查看器方法接受一个附加参数,指定要在其上操作的 model,例如,您可以说viewer.select([123, 456], oneOfMyModels)
。
关于#3:这是个好问题; 加载 2D model 首先将查看器置于 2D 查看模式(仅允许缩放和平移); 如果您知道您将使用 3D 模型,我建议始终先加载这些模型
关于#4:是的,每个加载的 model 可以有不同的单位; 使用loadDocumentNode
方法加载 model 时,您可以指定其他选项(例如,加载几何图形的放置变换),其中之一是 object ,称为applyScaling
,例如,如下所示:
viewer.loadDocumentNode(doc, viewable, {
applyScaling: { to: 'mm' }
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.