User Interface

This page gives a quick overview of the user interface of CityEngine. On the one hand the main types of windows are described, and on the other hand basic functionalities like project management and navigation are shortly explained.

The CityEngine Main Window

The user interface revolves around a main window, which consists of several sub-window components. The screenshot below shows a typical CityEngine modeling session.

The main window types of CityEngine.

  1. Scene editor for scene, layer, object and scenario management
  2. CGA rule editor for editing CGA rules
  3. Navigator to manage and preview files in the workspace
  4. 3D Views for single and multiple perspective cameras and scenarios
  5. Top view with a top camera
  6. Inspector for a detailed view and editing of selected objects and scenarios
  7. Console for printed CGA / Python text output and interactive Python session
  8. Log for CityEngine messages; Problems for CGA compiler errors and warnings, Progress for progress reporting of long-running CityEngine operations

Individual sub-windows can be opened in the menu Window. Each window can have multiple tabs, which can be freely arranged via drag'n'drop. By dragging a tab into the corresponding half of another window, the tab becomes a single window. Most windows (except the editors) can also be detached. The window layout configuration (a "perspective") can be stored and loaded via Window → Layout → .... For example for grammar editing we recommend the corresponding default perspective.

In the following the different sub-window types and their main functions are described.


The Navigator represents the workspace which is used for project and scene management. Hence the window shows the projects in or linked into the workspace. A new CityEngine project can be created via File → New → CityEngine → CityEngine Project → ....

A standard CityEngine project consists of the following folders:

Besides project management, other main functions done in this window are the opening of a scene via double-click, assigning CGA shape grammar rules to the selection via drag-and-drop, or refreshing folders via F5 (useful when assets are modified or for collaborative working environments i.e. a project is shared on the network and rules, scenes etc. have been added/modified).

In addition, the file navigator can preview selected files via the "Preview" entry in the right-click menu.

Scene Editor

This window is the central place where you manage your scene. A CityEngine scene is organized in layers.

The Scene Editor with different layer types.

The layers tree allows you to navigate, delete or duplicate the layers and its objects as well as control the visibility of objects in the tree through the search field. The visibility of each layer in the viewport can be toggled by clicking on the "eye" symbol left to the layer name.

In the case where building lots or mass models have been already modeled with an external program, these can be imported as shape layers. First, you have to convert your shapes into a grouped obj file (each group corresponds one shape). Afterwards copy it into the data folder of your project and import it via File → Import → CityEngine Layers → OBJ Import → ... or via right-mouse-button on the .obj file in the Navigator. Afterwards, CGA rules can be applied in the typical way on these imported meshes.

CGA Rule Editor

By double clicking on a .cga file in the Navigator window, the corresponding file is opened in the CGA rule editor. Another possibility to open a .cga file for editing is to click on Rule File in the Inspector window if the selected object already has a rule file assigned. The typical efficient workflow with the CGA rule editor is:

  1. Assign a rule to the selected objects either via drag-and-drop or via Shapes → Assign Rule File ....
  2. Open the rule file in the CGA rule editor and edit the rules.
  3. Press Ctrl-s for saving the rule file.
  4. Press Ctrl-g for (re-)generating the model.

The CGA rule editor has syntax highlighting and shows syntax errors (the latter are described in more detail in the CGA Problems window where you can double click on each entry). Furthermore, during typing, command completion can be invoked via Ctrl-Space.


The Viewport is the main view to interact with the 3D scene. As many Viewport windows can be opened as required by the user. The 3D scene can be rendered as wireframe, shaded, with textures and/or lighted. The default navigation works as follows:

As a consequence, the typical navigation works by selecting an object via LMB or via drag-LMB and then pressing f to frame the camera. Afterwards the selection can be explored via tumble, track and dolly.

Other practical functions include the isolation of the selection (toggle it via short-key i), framing all content (via short-key a), superimposing an information display (toggle via short-key d followed by another d), or the bookmarks which store camera positions. New bookmarks can be simply created by clicking on the bookmark icon.

Furthermore, in the corresponding drop-down icons of the Viewport, zooming (changing the focal length) can be done by selecting one of the presets.

Note: The CityEngine preferences (Edit → Preferences → General → Navigation Devices → Mouse) allow you change the mouse navigation schemes according to the schemes of other 3D applications. Linux users might want to change the modifier key mapping for navigation to CTRL since some window managers catch the ALT key.


The "Inspector" is the main tool for viewing and modifying CityEngine objects. Depending on the type of object selected, the inspector adapts its user interface to provide full access to the object's attributes. The inspector is invoked via Window→Inspector in the main-menu, or by pressing ALT+I.

For CityEngine layer objects such as shapes, the inspector shows all attributes and parameters of the object. If the object is associated with a rule file, the rule file is parsed and all rule parameters are available for modification.

Shape inspector showing the relevant attributes and parameters.

The start rule where generation will start can be entered in the "Start Rule" field. If this value does not match any rule in the rules file, no generation will take place.

The inspector not only supports editing of single objects but also a collection of objects. Attributes that are unique across all objects are shown as-is. If some attribute has different values in the object collection, the attribute is marked as non-unique with the ? sign. The Inspector will show the attributes of the lead object when multiple objects are selected. The lead object is always the most recent individually selected object.

In addition, the inspector automatically groups object collections by type so that even for heterogeneous collection multi-edit is possible.

Copyright ©2008-2018 Esri R&D Center Zurich. All rights reserved.