Some time ago someone asked about experiences with 3D printing, so I wanted to share mine.
In order to generate the geometry I wrote a small Java-program, the uses Marching Cubes to generate polygons from a distance field. Using distance fields makes it possible to get a better tesselation than using a boolean 'isInside' function. Since my Marching Cube implementation never needs to store more than two 'slices' in memory at the same time, there is really no limit to the number of polygons I can create this way (at least not if I save them directly to disk). I wrote a simple OBJ exporter, and an even simpler binary STL exporter, because the OBJ files grew terrible large.
But then I realized that Shapeways only allow maximum 1M polygons. So I needed to remesh my 5-10M polygon files. I tried different remeshing tools, most of which did not work, and/or produced strange artifacts. In the end I settled for Meshlab's "Quadratic Edge Collapse Detection" to reduce the polygon count, with some further cleanup in Netfabb - this was based on suggestions found on the Shapeway website. I think there must be better ways to this though - I was not impressed by the quality of the resulting mesh.
Next step was uploading to Shapeways. After ordering a print I got the a mail saying my objects could not be printed because of too fine detail. Well, there is an option to 'print anyways', which I used, and I could not see any problems with my objects.
Here is my models on Shapeways:
http://www.shapeways.com/designer/syntopiaAnd here is an image of the final physical Mandelbulb:
I had hoped for a bit more detail, but it seemed hard to squeeze in. I also hollowed out the Mandelbulb to reduce production cost.
One interesting thing, I noticed was that Shapeways was much less picky about input formats than I expected. I had heard that input objects had to be watertight, 2-manifold, orientable, non-overlapping, and what not, but that does not seem to be the case. I tried uploading one of my old Structure Synth OBJ exports (which are really just a 'polygons soup'), and Shapeways did not complain.
Now, I do plan to explore this topic a bit more, and probably release a version of my meshing tool which can be used by other people than myself. Currently, it is only possible to build a mesh based on a distance function specified in Java (dynamically compiled using Groovy), but I plan to add support for GLSL as well, for faster evaluation on the GPU, and also image dumps from other software.
But if somebody have any tricks for improving 3D structure (especially wrt to reducing the number of polygons!) I'd like to hear them.