You may find luck with the .CGA primitive operators and in particular the Primitive Sphere Constructor. This method essentially inserts a sphere based upon the current shape scope/extents. You could experiment with something like the following:
Lot--> primitiveCylinder(8,10,15) texture(".png")
This inserted cylinder has 8 sides, a radius of 10, a height of 15 and is positioned in the xz center.
You could create the building shells and then perform a split operation to separate the roof from the shape and then replace it with one that is generated. Another option would be to use the roof shape as the scope and generate a cylindrical roofline adjacent. You will probably find it difficult to edit the exact vertices of the rooflines but this might provide you with a start from which to build.