diff options
author | jaseg <git@jaseg.net> | 2019-09-29 13:30:38 +0200 |
---|---|---|
committer | jaseg <git@jaseg.net> | 2019-09-29 13:30:38 +0200 |
commit | 00380ac6020179de15929afc1b29b7dc5ce094e4 (patch) | |
tree | 6295edf8f34670d7b10bc554655607cf70a414ab | |
parent | 1a6f2a9caa27bded4551aead34883e7fcdc92d2e (diff) | |
download | pogojig-00380ac6020179de15929afc1b29b7dc5ce094e4.tar.gz pogojig-00380ac6020179de15929afc1b29b7dc5ce094e4.tar.bz2 pogojig-00380ac6020179de15929afc1b29b7dc5ce094e4.zip |
Add STL renderer
-rw-r--r-- | .gitmodules | 3 | ||||
-rw-r--r-- | webapp/pogojig.py | 9 | ||||
m--------- | webapp/static/Madeleine.js | 0 | ||||
-rw-r--r-- | webapp/static/style.css | 8 | ||||
-rw-r--r-- | webapp/templates/jigerator.html | 21 |
5 files changed, 35 insertions, 6 deletions
diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..94f2319 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "webapp/static/Madeleine.js"] + path = webapp/static/Madeleine.js + url = https://github.com/JinJunho/Madeleine.js diff --git a/webapp/pogojig.py b/webapp/pogojig.py index baaca5a..9312cf5 100644 --- a/webapp/pogojig.py +++ b/webapp/pogojig.py @@ -93,9 +93,12 @@ def upload_svg(): flash(f'Error uploading SVG file: {"; ".join(msg for elem in upload_form.errors.values() for msg in elem)}', 'error') return redirect(url_for('jigerator')) -@app.route('/render/download') -def render_download(): - return send_file(tempfile_path(f'renders.zip'), +@app.route('/render/download/<file>') +def render_download(file): + if file not in ['jig.stl', 'pcb_shape.dxf', 'kicad.zip', 'sources.zip']: + abort(404) + + return send_file(tempfile_path(file), mimetype='application/zip', as_attachment=True, attachment_filename=f'{path.splitext(session["filename"])[0]}_pogojig.zip') diff --git a/webapp/static/Madeleine.js b/webapp/static/Madeleine.js new file mode 160000 +Subproject 9e39e65b7257bc1139502a14970cc174ca59475 diff --git a/webapp/static/style.css b/webapp/static/style.css index 857541d..b9a696e 100644 --- a/webapp/static/style.css +++ b/webapp/static/style.css @@ -227,3 +227,11 @@ a.btn:active, a.btn:hover, a.btn:visited, a.btn:link { background-color: #d35f5f; box-shadow: 1px 2px 4px 1px #000; } + +.controls { + padding-top: 8em; +} + +.render_output { + padding-bottom: 8em; +} diff --git a/webapp/templates/jigerator.html b/webapp/templates/jigerator.html index 9ee9b84..15711b2 100644 --- a/webapp/templates/jigerator.html +++ b/webapp/templates/jigerator.html @@ -116,9 +116,9 @@ </div> {% else %} <div class="preview-images"> - <a href="{{url_for('render_download')}}" class="render" style="background-image:url('{{url_for('render_preview')}}');"> - <div class="overlay">Download model and PCB</div> - </a> + <a href="{{url_for('render_download', file='sources.zip')}}" class="render">Download renders</a> + + <div id="stl-target" class="madeleine"></div> </div> {% endif %} </div> @@ -132,5 +132,20 @@ <div class="copyright">© 2019 jaseg</div> </div> </div> + <!-- STL viewer --> + <link href="static/Madeleine.js/src/css/Madeleine.css" rel="stylesheet"> + <script src="static/Madeleine.js/src/lib/stats.js"></script> + <script src="static/Madeleine.js/src/lib/detector.js"></script> + <script src="static/Madeleine.js/src/lib/three.min.js"></script> + <script src="static/Madeleine.js/src/Madeleine.js"></script> + <script> + window.onload = function(){ + var madeleine = new Madeleine({ + target: 'target', // target div id + data: '{{url_for('render_download', file='jig.stl')}}', // data path + path: '.' // path to source directory from current html file + }); + }; + </script> </body> </html> |