This is my second attempt at understanding the operations in OpenSCAD.
I made a model of a 4" square electrical box with a raised plaster ring in AutoCAD and then exported to an STL. I couldn't get emmett's heart gears file to work, so I basically destroyed the original cubeGears3 code http://www.thingiverse.com/thing:10483 until it didn't work either. I rebuilt it enough to get the result I was looking for. I made both the Gear1 and Gear2 module accept x and z rotation inputs (1 or 2), and then added some rotation code inside those modules, the twogears module, and the assembly module to make them behave for a non cube object. I added an object module that loads a custom stl file and orients it for gear mashup.
I am still not clear on the way the relationship between the overall model, the center and pins is determined. I cheated and just tweaked the center cube until it looked like I wanted, and then I measured the necessary pin length and used the Pins library to make one. I have not posted this revised code, because I don't really feel that it is any way an improvement over the original. I may post it if requested, or if I can work some of the remaining bugs out.
The center stl has emmett's original slits, but I reoriented it in such a way to make them not work as originally intended. It is OK, because it cleans up easily, and I made the center pins captured anyway.
This is a large model. It measures 4"x4"x2-7/8" when assembled. It is a life sized model.
Gear1-1-1, Gear1-2-1, Gear2-1-1, Gear2-2-1 require support material under the protruding plaster ring part of the box. I had trouble getting Skienforge to slice this with support just under these overhangs, so I sliced it with Makerware. It places support material under the entire part, even though the gear portions will print without it. Cleanup is somewhat difficult, because you have to be careful to not harm the teeth.
Gear1-1-2, Gear1-2-2, Gear2-1-2, Gear2-2-2, Center, and Pin can be printed supportless. You will need 8 pins to assemble the model.
I printed this in silver PLA with .25 layers, bed temp 60, extruder 220, 2 shells, 5% infill, 3 bottom layers, and 4 top layers.