Could you please give more details about your input data? Are you starting from footprints of the buildings? Are these buildings built using cga rules? Or, do you already have 3D models of the buildings? Is there a separate model for each building? Are the models inserted into the parcel in a cga rule on the parcel? Is the building model an obj file?
In cga, there are options to get information like height and distance to a building. You can usually use scope.sy to get the height of a model. You can also get the distance between them by using the minimumDistance() function. If you label the buildings as "building", then you can find the minimum distance to a shape with the label "building".