Select to view content in your preferred language

Modelling buildings based on Building Coverage Ratio (BCR) and FAR values in CE

12-04-2017 12:42 AM
New Contributor III

Hi all,

I'm aware that similar questions have been asked before but none of the solutions have worked for me.

Basically I have to model my buildings based on the target Building Coverage Ratio, Setback Distances and FAR values given by the client. To do this I start with defining my setback distances which leaves me the footprint area. After this point I was able to figure out how to extrude my buildings based on FAR values although I cannot find a way of how to restrict the footprint area to a certain percentage of the parcel and also interconnect both the BCR and FAR values.

I attached a screenshot too that can be helpful to understand what I want to achieve.

Any input will be appreciated (:

 * File:    rule1.cga
 * Created: 30 Oct 2017 11:36:07 GMT
 * Author:  Jafar Najafli

attr Layer="PL_KONUT"
attr frontSetback = 3.5
attr backSetback = 3
attr sideSetback = 3
attr floorheight= 3
const parcelarea = geometry.area()

attr FAR = 1
attr BCR = 0.2
case parcelarea > 1000:
setback(frontSetback) {street.front: NIL | remainder : 
setback (backSetback) {street.back: NIL | remainder:
setback (sideSetback) {street.side: NIL | remainder: footprint

extrude(world.up.flatTop, floorheight*(parcelarea/geometry.area()*FAR)) Building
report ("Height",

Building -->
report ("floorarea", geometry.area(bottom))
report ("FAR", geometry.area()/parcelarea)
report ("BCR", geometry.area(bottom) / parcelarea) ## this reports an accurate calculation of building coverage ratio, although it does not work as a modeling function
0 Kudos
4 Replies
New Contributor II


GFA & FAR Calculations with CityEngine - YouTube, I hope this tutorial will help you to figure out FAR.



0 Kudos
New Contributor III

thanks for the link @Abhishek, I am familiar with that tutorial and it has helped me to write my rule to extrude my buildings based on FAR.  But like I mentioned in my thread, my main issue here is restricting the Building Coverage Area

For example, I want my footprint area to cover only 50% of the whole parcel and then extrude my building from that footprint. Hope I was able to explain what I want to do (:

0 Kudos
New Contributor II

My best guess is, you can try SplitArea function, lets say BCA is 0.5 (50% of ground cover)

splitArea(x) {(geometry.area*(1-BCA)) : GreenSpace | ~1 : Extrude_Building}

I hope this helps you.



0 Kudos
New Contributor

Hi Jafar, 

Did you find a solution for your problem. 

I have a similar project which I want to show possible 3D building with given FAR, BCR and setbacks. 

If so, is it possible to share it.

Thanks in advance. 

0 Kudos