Я пытаюсь загрузить две модели в Autodesk Forge Viewer.
Я пытаюсь использовать следующий код:
const urn1 = <urn>
const urn2 = <urn>
Autodesk.Viewing.Initializer(
options,
() => {
const viewerDiv = document.getElementById('MyViewerDiv');
viewer = new Autodesk.Viewing.Private.GuiViewer3D(viewerDiv);
this.loadDoc(this.props.urns[1], true);
window.setTimeout(e => {
this.loadDoc(this.props.urns[2], false);
}, 4000);
},
);
loadDoc(urn: string, initializeAndLoad: boolean) {
Autodesk.Viewing.Document.load(urn,
(doc) => {
const viewables = Autodesk.Viewing.Document
.getSubItemsWithProperties(doc.getRootItem(), {'type': 'geometry'}, true);
if (viewables.length === 0) {
return;
}
const initialViewable = viewables[0];
const svfUrl = doc.getViewablePath(initialViewable);
const modelOptions = {
globalOffset: {x: 0, y: 0, z: 0}, // to align the models
sharedPropertyDbPath: doc.getPropertyDbPath(),
};
if (initializeAndLoad) {
viewer.start(svfUrl, modelOptions,
() => {},
() => {console.log('load model error');},
);
} else {
viewer.loadModel(urn, modelOptions,
() => {},
(e) => {
console.warn(e);
});
}
},
() => {}
);
}
Логическое обоснование тайм-аута - загрузка второймодель, использующая loadModel
после загрузки первой модели.Я также попытался загрузить вторую модель из обратного вызова viewer.start
onSuccess
.
Независимо от того, что я получаю сообщение об ошибке File extension not supported:null ErrorCode:13.
(как в консоли, так и во всплывающем окне)
Я почти уверен, что сообщение вводит в заблуждение, так как в обеих урнах есть допустимые производные SVF (я могу переключаться между ними, какая из них загружается первой, отображается нормально)
NB Я использую следующееверсия: 'https://developer.api.autodesk.com/modelderivative/v2/viewers/6.2/viewer3D.min.js'
В качестве примечания я попытался использовать Autodesk.Viewing.ViewingApplication
и selectItem
.Благодаря этому я могу загрузить несколько моделей, но, похоже, не могу установить modelOptions
(в частности, globalOffset
) при таком подходе.