我们正在尝试加载两个模型。这两个模型是从一个大模型中拆分出来的。
但是,我们无法使用 autodesk js 查看器正确恢复它们的位置,但 autodesk acc 模型协调可以。
urns.map((m)=>{
Autodesk.Viewing.Document.load(`urn:${m.urn}`, (doc) => {
let viewables = doc.getRoot().getDefaultGeometry();
let viewerConf = {
keepCurrentModels: true,
}
this.viewer.loadDocumentNode(doc, viewables, viewerConf).then(() => console.log('multiple model loaded'));
})
})
谁能提供有用的信息吗?
Autodesk Acc 模型协调
我们的尝试
我们尝试了文档中的方法(上面),但没有成功
您可以参考此博客 - https://aps.autodesk.com/blog/loading-multiple-models-forge-viewer-v7
代码笔设置 - https://codepen.io/autodesk-platform-services/pen/bGQQEdV
import { initViewer } from "https://aps-codepen.autodesk.io/utils.js";
function addViewable(viewer, urn, xform, offset) {
return new Promise(function (resolve, reject) {
function onDocumentLoadSuccess(doc) {
const viewable = doc.getRoot().getDefaultGeometry();
const options = {
// preserveView: true,
keepCurrentModels: true
};
if (xform) {
options.placementTransform = xform;
}
if (offset) {
options.globalOffset = offset;
}
viewer
.loadDocumentNode(doc, viewable, options)
.then(resolve)
.catch(reject);
}
function onDocumentLoadFailure(code) {
reject(`Could not load document (${code}).`);
}
Autodesk.Viewing.Document.load(
"urn:" + urn,
onDocumentLoadSuccess,
onDocumentLoadFailure
);
});
}
const viewer = await initViewer(document.getElementById("viewer"), {
extensions: ["Autodesk.DocumentBrowser"]
});
await addViewable(
viewer,
"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6YXBzLWNvZGVwZW4tYmFja2VuZC8wMV9yYWNfYmFzaWNfc2FtcGxlX3Byb2plY3QucnZ0"
);
await addViewable(
viewer,
//"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6YXBzLWNvZGVwZW4tYmFja2VuZC8wMl9qZXRfZW5naW5lX21vZGVsLnppcA",
"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6YXBzLWNvZGVwZW4tYmFja2VuZC8wNV9zcGFjZXNoaXAuZjNk",
new THREE.Matrix4().makeRotationX(0.5 * Math.PI).scale(new THREE.Vector3(2.5, 2.5, 2.5))
);