Sometimes in CityEngine it can be hard to figure out what’s going on. Whether that’s understanding scope (CityEnginers understand this can get complicated) or just simple metrics.
I’ll often use a combination of ‘print’ and ‘report’ to give me a better understanding of my code at any given point. What I also do is use bright colours (which have simple RGB/hex colour codes) to indicate whether a part of the code has been reached. once I’ve confirmed it works I continue the code.
Recently I’ve been working on some code where an understanding of the orientation of an model is important, not just as a world orientation but also relative to the initial shapes scope. As is the case with most of my work in CityEngine I start to wonder, how would I go about making something more visual for me? Thus I decided to spend some (okay probably too much!) time creating a procedural protractor. This allows you to switch between displaying an angle relative to the shapes scope, or the world.
I’ve used the Handle features in CityEngine to make interacting with the attributes associated with this rule simple. I’m starting to use ‘handles’ in CityEngine to expose attributes for users in a friendlier way.
To sum up for me I’ve found that programming language in Esri CityEngine called Computer Generated Architecture (CGA) is easier to pick up than traditionally programming languages because it is a visual one and by that I mean you create geometries.