All Projects → TeaWithLucas → Herosaver

TeaWithLucas / Herosaver

Licence: gpl-3.0
An educational tool for exporting stl from THREE.js

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Herosaver

Sketchup Stl
A SketchUp Ruby Extension that adds STL (STereoLithography) file format import and export.
Stars: ✭ 214 (+289.09%)
Mutual labels:  export, stl
PolyDraw
✳️ PTSource PolyDraw is a free 3D polygonal modeller for Windows x86 and x64, for creating or modifying 3D objects using a mesh of 3D points and parametric NURBS Curves .Exports and imports to over 40 formats including WebVR and 3D Printing.
Stars: ✭ 17 (-69.09%)
Mutual labels:  threejs, stl
Ami
AMI Medical Imaging (AMI) JS ToolKit
Stars: ✭ 569 (+934.55%)
Mutual labels:  threejs, stl
Whitestorm App Boilerplate
[WIP] WhitestormJS 2 App boilerplate
Stars: ✭ 42 (-23.64%)
Mutual labels:  threejs
Excellentexport
Javascript export to Excel
Stars: ✭ 1,018 (+1750.91%)
Mutual labels:  export
Process Migrator
Process migrator node.js utility for VSTS inherited process
Stars: ✭ 49 (-10.91%)
Mutual labels:  export
Sunset Cyberspace
🎮👾Retro-runner Game made in Expo, Three.js, OpenGL, WebGL, Tween. 🕹
Stars: ✭ 54 (-1.82%)
Mutual labels:  threejs
Ether sql
A python library to push ethereum blockchain data into an sql database.
Stars: ✭ 41 (-25.45%)
Mutual labels:  export
Pactools
Phase-amplitude coupling (PAC) toolbox
Stars: ✭ 52 (-5.45%)
Mutual labels:  models
Hn Saved Links Export
Export your saved links on HN as JSON or CSV, with only a few keystrokes.
Stars: ✭ 47 (-14.55%)
Mutual labels:  export
Fbx
📜 Single-file binary FBX importer.
Stars: ✭ 47 (-14.55%)
Mutual labels:  export
Webgl Structure
🚀 A modern, ES6 based, javascript structure for WebGL based projects with THREE.js!
Stars: ✭ 44 (-20%)
Mutual labels:  threejs
Solarsys
Realistic Solar System simulation with three.js
Stars: ✭ 49 (-10.91%)
Mutual labels:  threejs
Stdex
std C++ 11 library impementation with extra features using only C++ 98 and POSIX threads
Stars: ✭ 43 (-21.82%)
Mutual labels:  stl
Shadoweditor
Cross-platform 3D scene editor based on three.js, golang and mongodb for desktop and web. https://tengge1.github.io/ShadowEditor-examples/
Stars: ✭ 1,060 (+1827.27%)
Mutual labels:  threejs
Objection Unique
Unique validation for Objection.js
Stars: ✭ 42 (-23.64%)
Mutual labels:  models
Ar Gif
Easy to use augmented reality web components
Stars: ✭ 52 (-5.45%)
Mutual labels:  threejs
Aframe Camera Transform Controls Component
Camera transform controls component for A-Frame
Stars: ✭ 47 (-14.55%)
Mutual labels:  threejs
Bentools Etl
PHP ETL (Extract / Transform / Load) library with SOLID principles + almost no dependency.
Stars: ✭ 45 (-18.18%)
Mutual labels:  export
001
draw_code.001 — ThreeJS, WebGL & GLSL
Stars: ✭ 48 (-12.73%)
Mutual labels:  threejs

Herosaver

Methodology to Save Configuration and STLs from websites using the THREE.JS framework for academic and educational purposes.

Please Always think about the developers of such websites and try to support them whenever possible, as without them, there would be no such tools.

Usage

Browser Console

  1. Go to the intended website
  2. Open the Javascript Console [F12], then click on Console
  3. Paste the following
var xhr=new XMLHttpRequest;xhr.open("get","https://raw.githubusercontent.com/TeaWithLucas/Herosaver/master/dist/saver.min.js",true);xhr.onreadystatechange=function(){if(xhr.readyState==4){var script=document.createElement("script");script.type="text/javascript";script.text=xhr.responseText;document.body.appendChild(script)}};xhr.send(null);

Loading via Greecemonkey or other script loader

This method should automatically load the script on page load.

  1. Install Greasemonkey Browser Addon (or alternative)
  2. Click here to install, Link to repository: herosaver-autoloader.user.js
  3. The install window should pop up, check "Open editor after install completes" if you want to add domains, then click install.
  4. If it doesn't pop up an install window, either Greasemonkey isn't installed or another problem has occured, you can try adding the script manually.

User Guide

Buttons

  • STL - Exports the current model and downloads a STL of it.
  • OBJ - Exports the current model and downloads a OBJ of it.

Options

  • Quality - Number of loop subdivision passes for the model.

Dropdown Menu Items

  • Save - Exports the current model settings in a JSON format.
  • Load - Imports a previously exported JSON file with model settings.

Limitations

  • This is a collaborative effort by people of the community, so the output is not perfect.
  • If you want higher quality exports, consider purchasing the stl files or help work on the code :)
  • The outputted file is not a solid object, but a set of objects which is fine for some uses, but can be problimatic if you want to print the 3D object. You will probabily need to combine these into a solid ojbect, Consider using Meshmixer (or equvilient) to produce a printable output, some guides below.

3D Printing Guides

For some guides look at:

Contributing

Installing minifyer

  1. Install NPM
  2. Clone the repository
  3. Navigate to the repository in your console
  4. Install rollup using:
npm install rollup

Minifying

  1. Navigate to the repository in your console
  2. Build the minified version using:
npm run build

Bugs

Current bugs, open to solutions/suggestions

  • Shaders are not included, causing a more 'blocky' output, work on the THREE.js section is needed for this.

Future work

Current things to work on, open to solutions/suggestions

  • Empty?

Done

Finished work

  • Rotation is off by 90 degrees, simple fix
  • The buttons for enlarge and reset scale are a quick and ugly method, needs reworking to not affect the scale in brower if possible, if not, automatically change scale when downloading and resetting scale when downloaded. My lack of THREE.js experience means I am unsure how to do the latter.

Fixed bugs

  • Reset Scale Button doesnt work first press, need a second refresh to work.
  • Autoloader.js doesnt work when page is reloaded, only on first page load.
  • Some Geometry like facial experessions are not implemented, need to work on the THREE.js section.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].