我将STL文件上传到名为Thingiverse.com的网站,然后自动创建3D设计文件的预览。 我有兴趣了解网站使用哪些库。 例如,对于此页面:https://www.thingiverse.com/thing:2405615 当我点击Thingview然后查看页面的源代码时,我看到它使用:
<script src="/thingiview/js/three.min.js?v=2"></script>
<script src="/thingiview/js/Thingiview.js?v=2"></script>
<script src="/thingiview/js/NormalControls.js?v=2"></script>
<script src="/thingiview/js/Detector.js?v=2"></script>
<script>
var target_dom_element = $('.thingiview').get(0);
// parse opts
var argv = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
argv[key] = value;
});
var thingiview = new Thingiview( target_dom_element, 628, 472 );
if ( parseInt(argv['width']) && parseInt(argv['height']) )
thingiview.resize( parseInt(argv['width']), parseInt(argv['height']) );
var animate = function() {
requestAnimationFrame( animate );
thingiview.render();
}
animate();
// handle resizes
window.addEventListener('resize', function() {
if ( thingiview.fullscreen )
thingiview.resize(window.innerWidth, 608);
});
</script>
但是,当我点击Thingview按钮时,图像的视角会发生变化,图像上的阴影和照明也会消失。我特别感兴趣的是找到在STL文件中创建这些阴影和光照的脚本。 有没有办法找到Thingiverse如何创建设计文件的预览?我需要从相同的角度和相同的效果拍摄设计文件的快照
答案 0 :(得分:1)
three.js
允许在浏览器中显示3d对象。看起来STL文件可以直接加载到它中。他们的github回购中有example。我会在你上传一个文件时进行映像,然后将其传递给three.js
,然后显示它。所有阴影和视觉效果都应由图书馆处理。
答案 1 :(得分:1)
我认为它将STL文件上传到云端,只有它才能创建预览。我不确定你是否能看到那里发生的事情。你觉得@pailhead怎么样?