【发布时间】:2021-06-20 21:43:40
【问题描述】:
我试图在一个 Forge 查看器中打开一个模型的多个视图,但每次它只打开一个视图但两次。我想知道是否可以打开多个视图,或者我只能同时打开不同的模型。
为了打开,我使用此代码
const svf_path =
"/storage/" + decodeURIComponent(props.search.split("&&")[1]);
Autodesk.Viewing.endpoint.getItemApi = (endpoint, derivativeUrn, api) => {
return svf_path;
};
Autodesk.Viewing.Initializer(options, async () => {
if (props.checked_3D_views.length >= 2) {
const path = svf_path.split("/");
const [dest, svf_dir] = [path[2], path[3]];
const url = `/api/viewer/dest/${dest}/svf/${svf_dir}/manifest`;
Autodesk.Viewing.Initializer(options, async () => {
const response = await fetch(url);
const manifest = await response.json();
const viewer_start = new Promise((resolve, reject) => {
const model = props.loc_viewer.impl.modelQueue().getModels()[0];
props.loc_viewer.impl.unloadModel(model);
const viewerDocument = new Autodesk.Viewing.Document(manifest);
const viewables = viewerDocument
.getRoot()
.search(Autodesk.Viewing.BubbleNode.MODEL_NODE);
const views = [];
props.checked_3D_views.map(x => {
views.push(
viewables.filter(viewable => viewable.data.name === x.name),
);
});
views.forEach((view, index) => {
resolve(
props.loc_viewer.loadDocumentNode(viewerDocument, view[0], {
globalOffset: {x: 0, y: 0, z: 0},
}),
);
});
});
viewer_start.then(() => {
set_bool(true);
});
});
我也尝试同时打开不同的模型,它工作正常,但我不能打开两个以上。 如果有人熟悉此类问题,请向我解释如何做到这一点。
【问题讨论】:
标签: autodesk-forge autodesk-viewer autodesk-model-derivative