繁体   English   中英

在同一查看器中加载多个URN

[英]Load multiple URN in a same Viewer

如何在查看器中加载多个URN或URN数组,以及如何使用第一个URN的GlobalOffest在同一查看器中加载第二个URN

很简单,基本方案来自此官方博客的 loadModel函数。

根据我的经验,您可以在触发Autodesk.Viewing.GEOMETRY_LOADED_EVENT同时加载第二模型,并将第一模型的GlobalOffest应用于第二模型。 这是这种情况的示例:

 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 );

如果使用viewer.start()在查看器初始化时加载第一个模型,则这些代码将更改为:

 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
 );

 // Change here
 viewer.start( urns[0], options, onSuccessCallback, onErrorCallback );
 urns.splice( 0, 1 );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM