Добавление расширения кузницы Autodesk - PullRequest
0 голосов
/ 21 апреля 2020

Привет, я пытаюсь добавить расширение кузницы в моем средстве просмотра, но я не знаю, что я пропустил.

Я следил за этой статьей: https://forge.autodesk.com/blog/loading-external-extensions-forge-viewer

Это мой код:

 <body>

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


  <script>
      var myViewerDiv = document.getElementById('MyViewerDiv');
      var viewer = new Autodesk.Viewing.Private.GuiViewer3D(myViewerDiv);
      var options = {
          'env' : 'Local',
          'document' : './modelV4/hahahah/4/output.svf',

      };
      Autodesk.Viewing.Initializer(options, function() {
        viewer.start(options.document, options);
      });
      Autodesk.Viewing.theExtensionManager.registerExternalExtension(
  'MyExternal.Extension.Id',
  'http://localhost:3000/js/external.js')
  viewer.addEventListener(
  Autodesk.Viewing.GEOMETRY_LOADED_EVENT, () => {

    viewer.loadExtension('MyExternal.Extension.Id').then(
      function(externalExtension) {

        externalExtension.sayHello('Bob')
      })
  })
  </script>

</body>

и это мой путь:

enter image description here

1 Ответ

0 голосов
/ 21 апреля 2020

В более поздней версии Viewer метод, описанный в этой статье, больше не работает - вам нужно будет передать класс / функцию расширения напрямую вместо ссылки на скрипт расширения:

  /**
     * Registers a new extension with the given id.
     *
     * @param {string} extensionId - The string id of the extension.
     * @param {Extension} extension - The Extension-derived class representing the extension.
     * @returns {boolean} - True if the extension was successfully registered.
     * @alias Autodesk.Viewing.ExtensionManager#registerExtension
     */
    function registerExtension(extensionId, extension) {

Следуйте этому руководству здесь , чтобы начать ...

Если вы хотите обернуть ваш код расширения в другой скрипт, просто загрузите его с тегом скрипта после библиотек Viewer ... :

<script src='https://developer.api.autodesk.com/modelderivative/v2/viewers/viewer3D.min.js'></script>
<script src='path/to/your/extension.js'></script>
...