I first tried to model metaballs in OpenScad. That effort was preliminary, indicating to me that it's not an easy egg to crack.
This thing cracks the proverbial metaball egg.
I have implemented a metaball routine in Banate CAD which gives you fairly decent results in relative real-time. That is, you can setup a fairly simple network of 'balls', and generate an isosurface for them in a matter of about a second, or a few seconds if you want to go for much higher resolution, or have a network with a ton of balls in it.
Metaballs/Blobs are used quite a lot in games for getting that nice blobbly affect on characters. It tends to make things look more organic than what you can typically achieve with more mechanical mechanisms.
This is great for modeling as you can quickly try out various configurations of balls to get all sorts of blobby effects. The "seat", or "face" model included here consists of just 4 influencing balls, so it's fairly simple.
In the picture, I've used fairly high resolution. The model is much lower resolution, but realistically, it would print about the same.
Also, in the picture, I'm showing the influencing balls, just for visualilzation. I turn them off to actually generate the .stl file.
I think the approach I'm taking is actually unique, as I haven't quite seen it done my particular way in the literature. Not a bad result for NOT using the GPU, and doing it purely in Lua.
You can play with the .fab, but it won't have the same results as I'm getting until this Sundays (12/4/2011) release of Banate CAD.