【发布时间】:2019-01-04 14:46:42
【问题描述】:
我希望能够在锻造查看器中显示模型,但在模型显示之前,我需要更改默认材质。目前我注册了 Autodesk.Viewing.GEOMETRY_LOADED_EVENT,当我收到事件时我隐藏模型,更改材料然后显示模型。除了默认模型在查看器中显示一两秒钟之外,我可以隐藏它,这是可行的。我怎样才能防止这种情况发生?
在此处初始化查看器之后是加载文档的代码。如果我尝试按照下面注释代码中的指示隐藏模型,则查看器会返回此错误。我必须等待几何加载事件才能隐藏它。
wgs.js?v=v3.3:17876 Uncaught TypeError: Cannot read property 'getGeometryList' of undefined 在 RenderScene.getGeometryList (wgs.js?v=v3.3:17876) 在 Viewer3DImpl.onLoadComplete (viewer3D.js?v=v3.3:32002)
这是我正在运行的代码:
Autodesk.Viewing.Document.load(
documentId, (doc) => {
var geometryItems = Autodesk.Viewing.Document.getSubItemsWithProperties(doc.getRootItem(), { 'type': 'geometry' }, true);
if (geometryItems.length > 0) {
viewer.load(doc.getViewablePath(geometryItems[0]), null, (model) => {
// Document loaded
// Can't hide model here, viewer returns an error because geometry
// is not loaded
//viewer.hideModel(model.id);
resolve(model.id);
}); // show 1st view on this document...
}
},
function (errorMsg) { // onErrorCallback
console.log('Load Document returned error message: ' + errorMsg);
}
)
【问题讨论】:
标签: autodesk-forge autodesk-viewer