We made a fun 3D-printable, secret-message object generator! From one point of view, the object's silhouette forms a message! Turn it 90 degrees and another message appears! Customize both messages! I suggest and - you have such a pretty name afterall
I've been making these illusions by hand for my friends and family for a few years now. I always knew it could be done procedurally, but I never quite gathered up the gall to automate the tedious process --UNTIL NOW!
The website takes in two text user inputs (uppercase English letters only) and a color and generates a 3D silhouette optical illusion which can be viewed virtually and exported to an .stl file which can then be 3D printed IRL.
First we set out to make the user interface ...
Juggling libraries, a major change in trajectory and BUGS BUGS BUGS BUGS BUGS (We're sure we're not alone on that front).
Rolling with the punches. The "major change in trajectory" happened around midnight when we learned that the library we were trying to rely on didn't accept concave meshes. This was a big blow as all letters in the english language, apart from "I", are concave. We decided to do the unthinkable: compute every combination of letters along with pairs of split letters for a total of 6,084 3D object files to be stored and referenced later (see python code "automate.py", and folder intersections on our github) In the end, it took us 4 hours to generate them all, and the code actually works faster because of it.
I learned about front-end development, GitHub, VS-code and working in a 2-man dream team.
Debugging and making the export feature work.
We used Three.js for rendering the final product, fusion360 to model the 78 base objects, python to automate the matching and intersecting of 78^2 = 6,084 final objects, Micosoft teams, Microsoft VS code, snapchat and github to communicate/collaborate, jetbrains' webstorm and pycharm IDEs to code and lastly our blood sweat and tears to make all the gears run smoothly (There's no better lubricant!)