We wanted to make a computer-aided design tool that would let just about anyone with hands mold a 3-D printable object like they would clay. 3-D printing is a really awesome technology and, while learning CAD isn't too hard, it's so far been confined to the same realm of "only used by developers" as Oculus, Myo, etc.

So we set out to make an interface that lets people intuitively create and modify objects they can later 3-D print.


We wanted to focus heavily on user experience (since that would make or break the project) and initially tried working with Oculus but decided to trim that due to hardware compatibility issues and since the value added by an Oculus didn't appear to be enough to make up for the time lost working on UX. Similarly, we used Linode, Flask, and websockets to implement a backend that would let users collaborate on a single set of OBJ/MTL files simultaneously but reduced our focus on that since just being able to make OBJ files with your bare hands was something that mattered the most.


We associated LEAP Motion-recognized gestures (like picking up an object, rotating an object, pointing at something, etc.) with modifications to the OBJ file using three.JS and Python/Flask. Our goal was to let people- of all technical and non-technical backgrounds- to just build and print objects without having to learn how to work with CAD software.


The JavaScript OBJ libraries aren't very oriented toward live modification, so we set up a janky solution using Python to modify a file instead of mostly just being able to load it.


As of MHacks' end-time, makerSpark has a limited set of gestures associated with OBJ modifications.

What's next

We plan on integrating collaboration and Oculus at some point and (more importantly) significantly expanding the gesture recognition library now that we don't have to dedicate most of our time to figuring out Leap.js. The endgame is an intuitive, collaborative platform for designing 3-D printable files- we want this to be usable by 8-year-olds.

Share this project: