Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
252 views
in Technique[技术] by (71.8m points)

Render multiple stl files on windows machine

I can find several tutorials on how to render stl files to something that looks like thingiverse renderings but I can't seem to get anything to work on a windows machine. Anyone know how I can do this?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Well someone obviously doesn't like the question but I am sure others have had the problem so here is how I solved it.

I created a web page that rendered the image using 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>

I then created a php file to save the results

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...