
Imagination is required to use CityEngine, I’ve said this before and I say it a lot in our 3DPathFinder CityEngine training sessions (shameless plug). The power of the rule file is in it’s ability to be used in other contexts and is often only limited by your imagination. Some of what I think Geodesign is also about this, connecting up other peoples workflows, joining disciplines together to form a coherent team.
Take the humble rule that places a parapet around a roof top and places a satellite dish inside, this is the same rule that I use to make my infamous “procedural sheep”. Get your head around that and the world is yours (in a metaphorical sense).

This leads me to a little rule file I adapted yesterday, my colleague and friend Matthias had created a couple of rule files for a client (Philadelphia University’s Geodesign course). One rule file coloured a surface depending on the steepness of a slope, which clearly when drawing a path or a road can be useful. The other rule file was one that placed arrows facing down a slope in a grid pattern, think about water run-off and this is cool, useful stuff.
I often say CityEngine doesn’t do analysis, it is far better to process and analyse data first before bringing it in to CityEngine. However, having CityEngine providing constantly updated visualisations of design iterations is analysis, and the best thing is it only adds to my design without getting in the way (i.e. stopping my design, exporting it and analysing in ArcGIS, then re-importing it).
My wife is our heritage specialist at Garsdale Design and is often at the records office researching old buildings and barns as part of a clients planning application process. One of the things that will be talked about is ‘bank barns’ and there is a key text you might like to read about them (The Bank Barns of Cumbria [PDF]). Anyway I thought it would be fun to use CityEngine to place barns on a hill slope (call this historical Geodesign maybe?). First there are main types of ‘bank barn’ but we can boil it down to two basic types “True Bank Barns” and “Variant Bank Barns” basically there are lots of variations in layout but the two main differences are direction that a barn is orientated to a hill slope.

True Bank Barns – Doors in sides (up or down) slope, and can be on level ground

Variant Bank Barns – At right angles to the slope, only downhill end of barn is two storey. Doors in the gable end.
So I boiled this down into two basic types orientate with the contours and those at right angles to the contours of a hill. What I needed was a way of visualising and assessing hill slope and of orientating an object based on the hill slope. It’s a good job Matthias had already done most the work for me! Here were his rule file outputs:
So I took these two rules and combined them, instead of an arrow I created a simple barn shape, I added a switch to change the orientation of the ‘Bank Barn’. Matthias’ rule already had a way to change the grid size so I just adjusted the default value to something that made the barns created further apart. I’m pretty happy with the outputs as you can see below:

Now a nice animated GIF to show you just how dynamic CityEngine really can be!
Where does the geodesign come in to this? Well, this is about creating a historic environment in 3D that takes various variables and some analysis in to account, my next step would be to add a tree line and perhaps add some change based on elevation. I would also want to actually make the barn look a little more realistic as well, something that can easily be done in CityEngine. I’m thinking of creating various barn models that can be varied to look like those illustrations in the Bank Barns of Cumbria document [PDF].
To summarise I’ve said it before and I’ll say it again, don’t think of CityEngine as just about cities perhaps it would be better called ImaginationEngine? Okay no that’s a terrible idea.