3D-модель не отображается на веб-странице ASP.NET Core MVC с плагином Stl Viewer Javascript - PullRequest
0 голосов
/ 10 июля 2019

Я работал с их опцией удаленного хостинга, но это было довольно медленно.Я потратил много часов, пытаясь заставить плагин JS работать.

Я не могу отобразить 3d-модель внутри div, как показано в их руководстве здесь: https://www.viewstl.com/plugin/#usage.

У меня есть контейнер div на моей странице, так какИтак:

<div id="stl_cont" style="various color and size stuff">Rendering 3D... Please Wait</div>

и у меня есть все файлы js в папке js вне wwwroot, поэтому у меня есть это:

<script src="~/js/stl_viewer.min.js"></script>

(Если я просматриваю источник, я могу нажатьна ссылку на min.js, и он будет отображаться в браузере, поэтому я предполагаю, что путь также действителен)

У меня есть следующий код:

<script>
    var stl_viewer = new StlViewer(document.getElementById("stl_cont"),{models:[{ id: 0, filename: "https://www.exploredungeons.com/3dmodels/012/filename.stl", load_three_files: "js" }]});
</script>

Я могу посмотретьв окне просмотра исходного кода и нажмите на ссылку для файла STL, и он будет загружен, поэтому путь выглядит правильным.

Я использую ASP.NET CORE MVC, если это поможет.Когда я запускал и указывал на удаленный сервис, все работало нормально.Я не могу понять, чего не хватает.

Ответы [ 2 ]

0 голосов
/ 11 июля 2019

Нашел ответ.

Stl Viewer ожидает, что все файлы js будут в той же папке, что и страница, на которой он используется, что для приложения MVC нецелесообразно, поэтому они также предоставляют параметр LOAD_THREE_FILES, который можно использовать для указания местоположения JS файлы, которые ему нужны.

0 голосов
/ 11 июля 2019

Работает, когда я удаляю все связанные js-файлы из папки wwwroot/js в wwwroot direcltly. И меняю на

<script src="/stl_viewer.min.js"></script>

Обновление:

Все мои файлы сценариев и файл STL находятся в папке wwwroot.

Вид:

<div id="stl_cont" style="width:500px;height:500px;margin:0 auto;"></div>
@section Scripts{
    <script src="/stl_viewer.min.js"></script>
    <script>
    var stl_viewer = new StlViewer(document.getElementById("stl_cont"), { models: [{ id: 0, filename: "Sheep_1.stl" }] });
</script>
}
...