我希望将模型加载到两个单独的显示区域中,但是我怀疑所选路径的正确性。我认为我需要为每个模型创建自己的单独的“ viewerDiv”,并使用“ new Autodesk.Viewing.Private.GuiViewer3D(viewerDiv,{});”方法将其加载到那里。还有另一种方法可以做到这一点吗? 但是,在实现该想法时,我费了很多力气,但到目前为止没有任何结果,因为我无法更改必要程序段的内容,因为它位于viewer3D.min.js的文件中。我尝试下载此文件并在本地更改所需的属性,但事实证明该文件与我也需要下载的其他文件结合使用。不幸的是,我无法下载这些文件。
答案 0 :(得分:1)
请勿下载Viewer库或修改其代码,因为这违反了用户许可,并且在技术上很难完全使用所有动态依赖项和资源来本地化该库-始终在其CDN地址处引用该库。
请参阅this live sample,以了解多个同居的Viewer实例-只需将Viewer实例分别初始化为其相应的容器,并通过其类名adsk-viewing-viewer
调整画布的大小
<style>
.adsk-viewing-viewer{width:50%!important}
</style>
<script>
var viewer1 = new Autodesk.Viewing.Private.GuiViewer3D(viewerDiv1);
var viewer2 = new Autodesk.Viewing.Private.GuiViewer3D(viewerDiv2);
...
</script>
或者,从Viewer 6+开始,该库提供了内置Split Screen extension的,使用子画布的多个模型:
var options = { viewports: [
modelId => modelId == 1,
modelId => modelId == 2,
modelId => modelId == 3,
modelId => modelId == 4]
};
viewer.start();
viewer.loadExtension('Autodesk.SplitScreen', options).then(()=>{
viewer.loadModel(svf1);
viewer.loadModel(svf2);
...
})