BangleApps/apps/viewstl
Adam Schmalhofer cec31972b5 Merge remote-tracking branch 'upstream/master' into jekyll-apps.json
Ported all of apps.json to metadata.json
2022-01-06 12:47:26 +01:00
..
ChangeLog Add magnetometer/accelerometer rotation mode 2020-08-21 22:43:55 -04:00
README.md Add magnetometer/accelerometer rotation mode 2020-08-21 22:43:55 -04:00
cube.stl Fix author 2020-08-13 13:54:33 -04:00
fish_s.stl Fix author 2020-08-13 13:54:33 -04:00
icons8-octahedron-48.png Fix author 2020-08-13 13:54:33 -04:00
icosa.stl Fix author 2020-08-13 13:54:33 -04:00
metadata.json Merge remote-tracking branch 'upstream/master' into jekyll-apps.json 2022-01-06 12:47:26 +01:00
tetra.stl Fix author 2020-08-13 13:54:33 -04:00
toilet_s.stl Fix author 2020-08-13 13:54:33 -04:00
viewstl-icon.js Remove spurous semicolon from icon.js 2020-08-13 18:16:53 -04:00
viewstl.app.js Appease code checker 2020-08-21 22:52:54 -04:00
viewstl.min.js Appease code checker 2020-08-21 22:52:54 -04:00

README.md

ViewSTL

A simple viewer to render 3D models on-screen. The STL files have to be of the ASCII (non-binary) type. The rendering process can become quite slow for models with more than ~200-300 facets.

The app contains a number of inlined C routines and makes use of the microcontroller's FPU. Therefore, the app installed on the watch contains a base64 encoded binary blob with those routines. The full C code is provided on github.

Controls

The app supports 4 different rendering modes, swiping right-to-left on the touch screen cycles through them:

  • shaded polygons
  • shaded polygons with edge highlighting
  • wireframe, only edges between non-coplanar facets visible
  • wireframe, all facet (triangle) edges visible

There are three different rotation modes that slightly alter the function of buttons 1 and 3, swiping left-to-right cycles through the modes:

  • free rotation: button 1 zooms in, button 3 out
  • Z-axis (vertical axis) rotation: buttons 1 and 3 tilt the Z-axis
  • align rotation with compass and accelerometer readings: button 1 zooms in, button 3 out

There is currently no interface to upload STL files to the watch, the web IDE storage icon can be used instead.