尝试将自定义网格添加到脱机查看器

时间:2019-08-23 15:29:47

标签: javascript autodesk-forge autodesk-viewer

我尝试将自定义sphereMesh添加到脱机查看器。我看到这可以通过查看器的在线版本完成。但是我遇到了一个未捕获的TypeError:如果在查看器中尝试尝试,则无法读取未定义的属性“ Add”。

<div id="MyViewerDiv"></div>

    <script>
           var myViewerDiv = document.getElementById('MyViewerDiv');
            var viewer = new Autodesk.Viewing.Private.GuiViewer3D(myViewerDiv);
      var options = {
          'env' : 'Local',
         'document' : './_3D_ 197440/_3D_.svf'
      };
    
      Autodesk.Viewing.Initializer(options, function() {
        viewer.start(options.document, options);
      });

     var geom = new THREE.SphereGeometry(1000, 8, 8);
     var material = new THREE.MeshBasicMaterial({ color: 0xff0000 });
     var sphereMesh = new THREE.Mesh(geom, material);
    
     sphereMesh.position.set(0, 0, 0);
     viewer.impl.scene.add(sphereMesh);
 
    </script>

1 个答案:

答案 0 :(得分:0)

在添加自定义几何的方式方面,在线查看器和离线查看器之间没有区别。 在您的情况下,您遇到的情况类似于“竞争条件”,即您尝试在初始化时使用资源:有时init进程首先完成=>成功,有时它完成之后=>获取错误。

要解决此问题,有两种方法:

  1. 按照文档中的说明将代码添加到扩展中并加载扩展(推荐代码)。示例:https://apprentice3d.github.io/SD226781-Samples/02.html
  2. 将您的自定义网格代码移动到文档加载回调函数的主体中。示例:检查https://s3.amazonaws.com/sample-collection/GiroWatch_Latest.html
  3. 的来源