From TOI-Pedia

What is CityEngine?

CityEngine is a stand-alone 3D modeling software specialized in modeling, planning and design of urban environments. Some of the features of the software are:

  • Generation of 3D cities out of existing 2D GIS data.
  • Conceptual design of 3D environments based on GIS and procedural rules.
  • Evaluate and simulate different urban situations.

In order to learn more about this product navigate to the following pages:

CityEngine user interface

The user interface consists of a main window that incorporates several sub-window components. These components can be opened from the window menu.

More on the user interface topic can be found on the User interface information page. Also for a visual tutorial on the user interface navigate to the following CityEngine user interface overview video.


The standard navigation scheme in CityEngine is similar to the one used in the Autodesk Maya software. This means that in order to navigate in 2D and 3D space the user has to press the Alt-key in combination with the mouse buttons.

  • Alt + left mouse button: rotate (tumble)
  • Alt + middle mouse button: pan (track)
  • Alt + right mouse button: move closer or farther (dolly)

For a video tutorial on how to navigate in CityEngine visit the 3D Navigation in CityEngine.

Besides the predefined navigation the user can also chose, from the preference menu, other types of navigation schemes, such as Rhino navigation scheme, 3DS-MAX navigation scheme or many other.

Project management

A CityEngine project consists of multiple types of files. Files such as rules files, scene files, 3d object files, map files and many other that are being used in the project. All the files are contained in multiple different folders. A default CityEngine project has the following folders: assets, data, images, maps, models, rules, scenes and scripts. All the projects are stored locally in workspaces that are by default mapped in the CityEngine folder.

More on project management can be read on the following page. Also for a visual tutorial navigate to the following Workspace video tutorial.


The main concept of the CityEngine is based on grammar-based modeling, also called procedural modeling. The type of shape grammar that CityEngine uses is CGA (Computer Generated Architecture), a one of a kind programming language developed specifically to generate 3D CAD architecture.

Fundamentally the idea behind CGA and any other grammar-based modeling technique is that the user has to describe a set of rules or commands. These rules are applied then to the shape (geometry enclosed by a bounding-box or scope). The user applies the rules in an iteratively manner such that the design is being refined by adding more and more detail. You can read more on CGA on the following page under the Grammar-based modeling topic.

A list of the commonly used rules/commands can be found at the following page.

More about grammar-based modeling tools is explained in the following video tutorials:

 Basic shape grammar.
 Advanced shape Grammar. 
 Mass modeling.  

CityEngine also offers the possibility of "classical" user interaction-based modeling. More about interaction-based modeling tools is explained in the following video tutorials:

 Introduction to 3D-modeling tools. 
 Basic polygonal modeling. 
 Advanced polygonal modeling.
 Combining polygonal modeling with rules. 

Data exchange

CityEngine gives the user the opportunity to import/export a wide variety of geospacial, 2D- and 3D-data. Follow the data exchange overview here bellow in order to determine the type of data you can import/export:

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

For more information on data exchange please visit the following online manuals:

   Importing Data.
   Exporting Data.

For video tutorials on data exchange please navigate to the following links:

   Street Import
   Shape Import
   Integration with ArcGis
   Import Open Street Maps

Python scripring

Some versions of CityEngine offer the possibility to use Python scripting. The availability of the scripting environment is dependent on the type of CityEngine license that the user possesses.

The specific scripting environment that is used within CityEngine is based on Jython, formerly known as JPython. As the name implies a Python language designed for the Java platform.

Jython supports almost all the Core Python modules plus it can make use of multiple Java classes. The CityEngine Jython version has an extra specific set of CityEngine commands, see list of classes.

For more information on the CityEngine Jython navigate to the Online CityEngine Jython manual. Also for a video tutorial on Jython navigate to Jython Scripting video and Jython Scripting Interface video.

For more information and tutorials on Jython navigate to the Jython product page.

Common questions

For CQ please navigate to the Common Questions paragraph on the following Getting Started page.

For more information on the CityEngine application please visit the CityEngine online Manual.

Personal tools