3D printers have gotten to the point that they can print just about anything you can imagine (yes, even food). But while we've been focusing on better machines and more insane prints, you may have forgotten about the most important step that magically turns a digital file into a physical object--the software.
Last weekend, I got the chance to spend some time with software developers at MakerBot's first ever hackathon. MakerBot, in partnership with Thingiverse, invited programmers from all over New York to its scenic World Headquarters at One MetroTech Center to develop new 3D-printing apps using the Thingiverse API. It was an enlightening experience that demonstrated how much easier it has become to create a 3D-printable file, and let me get a glimpse of a coming 3D printing apps revolution.
The importance of software evolution
Years ago, creating a CAD file for use with 3D printing was something only savvy users of AutoCAD could do. Eventually, in 2006, Google heard the cries for a simplified--and less expensive--3D rendering tool, and released a free version of SketchUp.
The software, which is now owned by Trimble, makes modeling as simple as drawing lines in Microsoft Paint. Last January, Thingiverse worked to make 3D printing even easier by developing the Customizer app to allow you to modify 3D objects without having to draw anything at all.
Tony Buser, MakerBot's senior Web editor, told me how the Customizer app lets anyone create a 3D-printable model file without any previous design experience. The goal of this event was to open up the same API that powers Customizer and allow programmers to develop other apps that work with Thingverse.
To someone like me who doesn't know that much about programming or design, taking a digital file and turning it into a physical thing seems like magic. And Tony explained that making the transition from your screen to the real world is not so simple. He gave me an example of how an object rendered on your screen might look fine, but the actual printed object might be thinner than it needs to be. In other words, you have to account for the physical limitations of both the material and the printed object itself.
"[W]hat we're trying to do with this hackathon is to make the programming side easier for average users," Tony told me. "So they won't have to know all about these limitations or specialized skills to create printable objects. The programming we're doing is to make that as simple as possible."
At the same time, the increasing popularity of 3D printing means more demand for new 3D printing apps. This MakerBot hackathon might just be the next wave of new uses for 3D printing.
"[T]he hardware has become inexpensive enough so that it's getting into average people's homes," said Tony. "Hackers now have easy access to this, so there's been an explosion of software to support that."
Before the coding contest began, I got the chance to speak with the developers about some of the wildest 3D printing program ideas they had.
Search applications were on the minds of many of the developers on hand. Nemil Dalal, a programmer for the start-up Dreamforge, wanted to create a search engine that lets you draw a shape and search by it. For example, draw a triangle, and a program would look up models with triangle-shaped elements. Meanwhile, another programmer, Allister Mckenzie, suggested a Pandora-like algorithm that looks at your printing history to predict what kind of shapes you like to print.
Some other programmers wanted to make 3D printing a mobile-only affair. Alex Tanchoco, an IT guy for a hospital by day, imagines a mobile app that directly interacts with Thingiverse and can command the MakerBot Replicator 2 to print objects remotely, sort of like how Apple's AirPrint technology works.
Perhaps one of the most ambitious concepts I came across was from Brian Kehrer, a creative technologist from Pysop and former co-founder of Muse Games. As one of the most experienced programmers I met at the event, Brian was already hard at work when I sat down to talk to him. His idea was to bring the Thingiverse API into the Unity game engine and bring 3D modeling to games.
"Basically, what I want to do is pull assets from Unity directly to STL format [the stereolithography file type used by 3D printers] and upload it to Thingiverse," Brian explained. If it works out, Brian says he could use the same programming wrapper he put around the Thingiverse API to pull basically anything he wants from any Unity application, which could include characters models or any art asset from inside a Unity game.
"The best use of 3D printing in gaming I have seen is Dungeons and Dragons [figurines], because you can just craft you own characters," Brian continued. "So you're not just limited to goblins and dwarfs, or whatever comes in a box."
MakerBot's programmers also had their own ideas in mind. While I was talking to Tony, he showed me how he was planning to use the Leap Motion controller to design objects by tracing them in midair. In the next seat over, another MakerBot programmer was working on a mind-blowing project to use the Oculus Rift as a 3D display that allows you to design your creations in a virtual-reality environment.
The actual programs
Clearly there was no shortage of imaginative ideas, but enough with the pipe dreams. Let's talk about the actual projects I saw.
One team consisting of three R/GA employees (Robert Carlsen, Sune Kaae, and Laird Popkin) created a Nike+ activity visualizer. At the moment, the application can access your weekly exercise data and print that activity as a physical bar graph.
The most interesting thing about it, though, is that you can actually see a physical representation of activity set across time. When you look at it in person, you can see the parts of the days when you're most active, while the extreme drop offs correlate with your time spent sleeping. Best of all, viewing it from the side will actually make it match up almost perfectly with the activity log on the Nike+ app.
"The most amazing thing about this is it's a personal print that represents me," R/GA's Robert Carlsen told me. The other team members I spoke to said that this sort of printed visualization could be expanded to show other data sets just like some of the amazing web visualizations we've seen on GeekTech.
The Lithogram team consisting of Nemil Dalal, Arian Croft, Evan Farrar, and Paul Kaplan decided to one up digital image post-processing (think Instagram) with 3D fabrication. The team managed to get a smartphone to turn an image into a 3D-printable file. You can further tweak the file with texture filters like stained glass or gaussian blur--basically, your typical Photoshop texture filters.
In other words, the program basically lets you turn a flat digital image into a textured template that you can use as a stencil to create an impression on paper. It might be a really roundabout way to making custom lithographic art, but if you have kids, it could make for a really fun art project.
When asked how he would improve the program in the future, Paul said the prints are too thin to hold up to wear and tear, and that they need to be thicker to really achieve enough detail for any real photographs--as was the case for the nose-less print of Grumpy Cat.
Meanwhile, Brian managed to pull off some technical wizardry by taking objects from inside a Unity engine and exporting them as a STL file that a 3D printer can turn into a physical object. In addition to this feat, Brian created a mobile modeling app that allowed him to manipulate the object on an iPad. In his demo, Brian took a simple cylinder object and turned it into an elaborate wine glass-shaped vase by poking around the edges to thin out sections while blowing out others. From there he could upload it directly to Thingiverse.
But Brian says this sort of cross-communication could go both ways. This way, you could make pull shapes from Unity, customize them on the app, and send them back to the game world. Brian also spoke of another future use where you could turn screenshots into 3D-printed dioramas of a moment from your favorite game.
And the winner was Brian Kehrer, who got to take home a 3D printer. Brian said he will take the 3D printer back to the Psyop office where his coworkers are literally lining up replicate objects.