【问题标题】:Render multiple stl files on windows machine在 windows 机器上渲染多个 stl 文件
【发布时间】:2015-10-30 01:03:50
【问题描述】:

我可以找到几个关于如何将 stl 文件渲染为看起来像 thingiverse 渲染的教程,但我似乎无法在 Windows 机器上运行任何东西。有人知道我该怎么做吗?

【问题讨论】:

    标签: render


    【解决方案1】:

    好吧,显然有人不喜欢这个问题,但我相信其他人也遇到过问题,所以这就是我的解决方法。

    我创建了一个使用 jsc3d 渲染图像的网页

    <html>
        <header>
    
    
    
            <link rel="stylesheet" href="/web_inc/all.css">
            <script type="text/JavaScript" src="/web_inc/jquery-1.11.3.min.js"></script>
            <script type="text/javascript" src="/web_inc/jquery.form.min.js"></script> 
            <link rel="stylesheet" href="/web_inc/bootstrap.min.css">
            <link rel="stylesheet" href="/web_inc/bootstrap-theme.min.css">
            <script type="text/javascript" src="/web_inc/bootstrap.min.js"></script>
            <script type="text/javascript" src="/web_inc/jsc3d.js"></script>
            <script type="text/javascript" src="/web_inc/jsc3d.console.js"></script>
            <script type="text/javascript" src="/web_inc/jsc3d.webgl.js"></script>
            <script type="text/javascript" src="/web_inc/jsc3d.touch.js"></script> 
            <script type="text/javascript">
                $(document).ready(function(){ 
                    var canvas = document.getElementById('cv');
                    canvas.width=1200;
                    canvas.height=900;
                    var viewer = new JSC3D.Viewer(canvas);
                    viewer.setParameter('SceneUrl', '/model/1.stl');
                    viewer.setParameter('InitRotationX', 0);
                    viewer.setParameter('InitRotationY', 30);
                    viewer.setParameter('InitRotationZ', 0);
                    viewer.setParameter('ModelColor', '#57524C');
                    viewer.setParameter('BackgroundColor1', '#FFFFFF');
                    viewer.setParameter('BackgroundColor2', '#999999');
                    viewer.setParameter('RenderMode', 'flat');
                    viewer.setParameter('MipMapping', 'on');
                    viewer.setParameter('Renderer', 'webgl');
                    viewer.setParameter('Definition', 'high');
                    viewer.init();
                    viewer.update();
                });
    
                function savePreview() {
                    var canvas = document.getElementById("cv");
                    $("#imageData").val(canvas.toDataURL("image/png"));     
                    $("#uploadForm").ajaxSubmit({url: '/ajax_update_sim.php', type: 'post'});
                }
    
            </script>
        </header>
        <body>
    
    
            <canvas id="cv" class="viewerCanvas"></canvas>
            <form action="/ajax_upload_sim.php" method="post" enctype="multipart/form-data" id="uploadForm">
                <input type="hidden" name="id" value="1">
                <input type="hidden" name="data" id="imageData">
            </form>
    
            <input type="button" class="button" value="Save Preview" onclick="savePreview();"/>
        </body>
    </html>
    

    然后我创建了一个 php 文件来保存结果

    $src="img/1.png"
    file_put_contents($src, base64_decode(explode(",", $_REQUEST['data'])[1]));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      • 1970-01-01
      • 2010-09-27
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      相关资源
      最近更新 更多