В чем разница между «.. /modelderivative/v2/viewers/viewer3D.min.js » и «…/viewingservice/v1/viewers/viewer3D.min.js «?

#javascript #autodesk-forge #forge

#javascript #autodesk-forge #подделать

Вопрос:

Во время работы с «https://forge.autodesk.com/blog/using-autodeskviewingmarkupscore-extension «, Мне не удалось реализовать EditModePolycloud и EditModePolyline.

при реализации polyline и polycloud с использованием «…modelderivative/v2/viewers/viewer3D.min.js «, он показал ошибку с надписью «Uncaught TypeError: Autodesk.Viewing.Расширения.Markups.Core.EditModePolyline не является конструктором»

Он работал должным образом с «viewingservice/v1/viewers/viewer3D.min.js »

почему EditModePolyline и EditModePolycloud недоступны в «https://developer.api.autodesk.com/modelderivative/v2/viewers/viewer3D.min.js » но в «https://developer.api.autodesk.com/viewingservice/v1/viewers/viewer3D.min.js »

 <script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/viewer3D.min.js?v=v6.0"></script>

    viewer.loadExtension('Autodesk.Viewing.MarkupsCore').then(function(markupsExt){
          markup = markupsExt;
        });
markup.enterEditMode();
var polyline= new Autodesk.Viewing.Extensions.Markups.Core.EditModePolyline(markup)
markup.changeEditMode(polyline);
 

Можно ли использовать consturtor для polyline и polycloud из viewingservice в производном сервисе?

Ответ №1:

Всегда используйте «https://developer.api.autodesk.com/modelderivative/v2/viewers/viewer3D.min.js «поскольку эта конечная точка CDN официально задокументирована и активно поддерживается, в то время как другая сохраняется только по устаревшим причинам.

Протестировано с вашим кодом, и это сработало — смотрите Живой пример здесь:

 viewer.loadExtension('Autodesk.Viewing.MarkupsCore').then(markup => {
  markup.enterEditMode();
  let polyline = new 
  Autodesk.Viewing.Extensions.Markups.Core.EditModePolyline(markup)
  markup.changeEditMode(polyline)
})