CGA modeling overview

CGA stands for "Computer-generated Architecture". It is a programming language used to instruct CityEngine how to automatically generate 3D geometry and, especially, architecture.

The basic elements are:

Rule — The building Instructions are called rules. Each rule corresponds to one instruction or transformation step. When executed, each rule takes geometry as input and alters and/or replaces it to generate an output. This output becomes the input of a following rule. The first rule that is executed is the Start Rule and takes an Initial Shape as input geometry. A Rule File (*.cga) contains the start rule and other rules as well as attributes and functions.

Initial Shape — The input geometry is typically a polygon that represents a lot or a building footprint. It can be imported, modeled manually or automatically generated from street graphs. To connect a start rule to an initial shape, simply drag and drop a CGA file onto the shape in the Viewport.

Generation — The model creation is launched by clicking the Generate icon in the toolbar or press Ctrl + G. The start rule is executed and the resulting 3D geometry (model) is shown in the Viewport.


To better understand the basic elements in CGA modeling check out the section "Model Generation with Rules of Tutorial 1: Essential Skills.

CGA and manual modeling

Procedural techniques are applied in many areas of 3D modeling. These approaches proved to be very efficient and time-saving when large amounts of models with slight variations and similar typology are required; while full artistic control over each individual instance is secondary. The creation of city models has many use cases for procedural modeling.

In Urban Design and Planning, procedural modeling offers another interesting use case. By instructing a CGA rule to calculate sizes and dimensions of a model during generation, KPIs (Key Performance Indicator) such as gross floor area or total window area can be calculated on the fly. This information can influence the design process in early stages and therefore lead to more elaborate design decisions.

Manual modeling, on the other hand, is fast when a one-of-a-kind model is needed and a visual representation is only required.

Manual and CGA modeling can be combined: CityEngine offers shape creation tools to define a rough building hull. CGA modeling can then be used to detail facades and roofs. Furthermore, Local Edits provide an intuitive tool to manually alter the CGA generation by interactive tools.

In this topic
  1. CGA and manual modeling