In this example there are 4 buildings. Replace the 3DCreator transformers which create these with your source dataset. Each building is assigned a random value for building height, you will probably already have an attribute to hold this information. Output is to MicroStation which is the easiest product in which to view this sort of data (or at least the easiest I have available).
Each side of the building, plus the top and bottom are created as a separate closed polygon. I haven't written this as a MicroStation solid because I think FME doesn't support writing these except for donuts.
Now writes to Google Earth KML format!Also here is a second 3d building generator that converts data to KML format. It takes OS MasterMap data as a source - but could be easily changed to another format. The zip file includes the workspace, example output and an input OS file (it's the demo file of Basingstoke that was downloaded from their web site)
This workspace works as above - but also fixes a bug in the first where source features in 2d wouldn't be extracted properly (they had to have a z value) - now they won't need to.
After experimenting I've found it's easier to simply set the kml_extrude attribute to create solids - the trick is to create the building roof because Google Earth extrudes down from the roof to ground level. An example workspace of this method can also be
found in the zip file.