So I'm a member of Hackerspace Brisbane. One of our projects over the last few months is building a 3D printer.
This is not ours, this is the printer that our printer was printed on.
It's called a Reprap, specifically the Mendel. It's a machine designed to heat and extrude a filament of ABS (Lego plastic) or PLA (biodegradable cornstarch plastic) in a shape, layer upon layer, to build a 3d object. There are other 3d printers out there, but the goal of the Reprap project is to make a printer that can print itself. Several times throughout this project we've used a half-functional printer to print a replacement part for one that nearly broke during the print.
Just recently we've got ours working pretty well and we've started printing parts to build another printer. Yesterday I thought I'd try printing something I designed from scratch. I bought a Nexus One a few months ago, so I decided to design and print a dock for it. I used a program named OpenSCAD to build the 3d model. OpenSCAD is great because it allows you to define the model in terms of geometric primitives, their orientation and intersections. You can set two shapes to join to eachother where they touch, or have one take a bite out of another. I basically created a rough 3d model of the N1, intersected it with a dock-shaped solid block and said "subtract the N1 shape from the block". I was left with a N1-sized cavity. Here's the code I used to generate the model.
From here it was a matter of exporting the model to an STL model file, then importing this into the Reprap software to turn it into a toolpath for the extruder. I then clicked print.
After cleaning off the trailing stringy bits:
The top of the backrest got truncated due to mechanical limits of the printer. It can't print tall objects near the edge of the print bed. If I'd set it to print in the middle of the platform it would've been fine.