在 Forge Viewer 中显示之前如何加载模型和更改材料
How do can I load model and change materials before showing it in the Forge Viewer
我希望能够在 Forge 查看器中显示模型,但在模型显示之前我需要更改材料的默认值。目前我注册了 Autodesk.Viewing.GEOMETRY_LOADED_EVENT 并且当我收到事件时我隐藏模型,更改材料然后显示模型。除了默认模型在我可以隐藏它之前在查看器中显示一两秒钟之外,这是有效的。我怎样才能防止这种情况发生?
初始化查看器后,这里是加载文档的代码。如果我尝试隐藏模型,如查看器下方的注释代码所示 returns 此错误。我必须等待几何加载事件才能隐藏它。
wgs.js?v=v3.3:17876 未捕获类型错误:无法读取未定义的 属性 'getGeometryList'
在 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);
}
)
我会简单地展示一个预制的 jpg 图像预览来代替伪造 canvas。
即。
1. 隐藏锻造 canvas 风格 'display:none'
2. 显示你的 preview-jpg 代替 forge canvas
3. 等待 TEXTURES_LOADED_EVENT 事件,像这样...
- 隐藏锻造 canvas 风格 'display:block'
- 隐藏您的预览-jpg。
我希望能够在 Forge 查看器中显示模型,但在模型显示之前我需要更改材料的默认值。目前我注册了 Autodesk.Viewing.GEOMETRY_LOADED_EVENT 并且当我收到事件时我隐藏模型,更改材料然后显示模型。除了默认模型在我可以隐藏它之前在查看器中显示一两秒钟之外,这是有效的。我怎样才能防止这种情况发生?
初始化查看器后,这里是加载文档的代码。如果我尝试隐藏模型,如查看器下方的注释代码所示 returns 此错误。我必须等待几何加载事件才能隐藏它。
wgs.js?v=v3.3:17876 未捕获类型错误:无法读取未定义的 属性 'getGeometryList' 在 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);
}
)
我会简单地展示一个预制的 jpg 图像预览来代替伪造 canvas。
即。 1. 隐藏锻造 canvas 风格 'display:none' 2. 显示你的 preview-jpg 代替 forge canvas 3. 等待 TEXTURES_LOADED_EVENT 事件,像这样...
- 隐藏锻造 canvas 风格 'display:block'
- 隐藏您的预览-jpg。