在相同位置加载模型,使其重叠

Posted

技术标签:

【中文标题】在相同位置加载模型,使其重叠【英文标题】:Loading Models in same position, so that it overlays 【发布时间】:2018-10-28 17:39:25 【问题描述】:

我正在使用 Autodesk 的 multimodel 加载程序。当我将相同的模型加载到查看器时,前一个模型的位置会移动到不同的位置。

我正在使用转换(例如平移、旋转和缩放)来调整模型的位置,以便覆盖第一个模型。有没有办法以在加载第二个模型时重叠的方式加载模型?

另外,对于面向 z 的 rvtnwc 文件,是否有修复?

作为参考,我一直在关注这些博客: https://forge.autodesk.com/blog/preparing-your-viewing-application-multi-model-workflows

https://forge.autodesk.com/blog/preparing-your-viewing-application-multi-model-workflows-part-2-model-loader

【问题讨论】:

【参考方案1】:

在使用ModelLoaderExtension 时,似乎对加载的模型应用了另一个位置或偏移量。如果你只想加载相同的模型两次, 这是给您的示例:

var models = [
  '123.svf',
  '123.svf'
];


function _onGeometryLoaded( event ) 
 if( urns.length <= 0 ) 
     viewer.removeEventListener(
       Autodesk.Viewing.GEOMETRY_LOADED_EVENT,
       _onGeometryLoaded
     );
     return;
 

 viewer.loadModel( urns[0],  globalOffset: event.model.getData().globalOffset  );
 urns.splice( 0, 1 );


viewer.addEventListener(
 Autodesk.Viewing.GEOMETRY_LOADED_EVENT,
 _onGeometryLoaded
);

viewer.loadModel( urns[0] );
urns.splice( 0, 1 );

希望对你有帮助!

【讨论】:

它适用于 f3d 文件,但不适用于 (rvt & rvt) 和 (rvt & f3d),模型的类型重要吗? 哪一个在 RVT 和 RVT 上不能正常工作?在此处发布之前,我使用 Revit 模型测试了上面的答案。 对于其他文件它确实有效,但对于 RVT 文件,模型彼此分开 您能否向 forge.help@autodesk.com 提供一个包含您的 Revit 模型和至少完整但尚未完成的 Forge Viewer 应用程序的非机密可复制案例来展示此问题? 谢谢,它成功了,我想我尝试的模型有一些问题

以上是关于在相同位置加载模型,使其重叠的主要内容,如果未能解决你的问题,请参考以下文章

放置 MATLAB 图例,使其不会在绘图上重叠

避免显示时绝对位置隐藏的元素重叠元素

在没有主键但在多个重叠字段上加载模型一对多关系的雄辩方式

在 JavaScript 中生成随机元素位置并防止重叠

重叠相同的元素

如何使标记完美重叠,使其不会在同一端出现两次?