CityEngine SDK

C++ APIs, Documentation and Examples for the Procedural Runtime (PRT)

One of the most important components of CityEngine is the "Procedural Runtime" (PRT). It consumes Rule Packages (RPK) authored with CityEngine and generates the 3D geometry of building models.

About CityEngine SDK

The CityEngine SDK consists of the "Procedural Runtime" (PRT) C++ APIs, documentation and source code examples. PRT consumes "Rule Packages" (RPK) authored within CityEngine and generates the 3D geometry of building models.

PRT can be used for the (1) development of custom importers and exporters for CityEngine, or to (2) create plugins for other 3D apps which need a procedural geometry engine.

For the first use case, this means that the SDK enables you to develop CityEngine plugins to read or write additional 3D geometry and image formats or your own proprietary 3D data format. An example is 3D printing where the STL geometry format is often needed. STL support is not provided out-of-the-box in CityEngine, but you can develop your own STL exporter as shown in the included examples below.

In the second use case, PRT is integrated into your own 3D applications taking full advantage of the procedural geometry generation without running CityEngine. PRT takes as input an initial geometry and then applies a given rule package (= CGA rules authored in CityEngine) to generate more detailed 3D geometry as output. For example, PRT can generate - based on given rules - a 3D model of a building out of a parcel polygon. This is how our plugins, such as Palladio, operate in principle.

The CityEngine SDK is free for personal, educational, and non-commercial use. Commercial use requires at least one commercial license of the latest CityEngine version installed in the organization. Redistribution or web service offerings are not allowed unless expressly permitted. Please refer to the licensing section below for more detailed licensing information.

Downloads and Resources


Download the latest version of CityEngine SDK here.

→ Go to downloads


The full documentation for the CityEngine SDK is available on our github repository.

→ Read documentation


For more information, assets and resources check our Github repository.

→ Go to Github


Source Code Examples

We provide source code examples in the "examples" directory on github. Each example contains a README with detailed instructions how to build and use it:

  • prt4cmd: a simple command line utility to apply rule packages onto initial shapes and generate models.
  • stlenc: demonstrates how to write a custom encoder, in this case for the STL geometry format.
  • stldec: demonstrates how to write a custom decoder for the STL geometry format.

Example Folder

ArcGIS Blog

Read articles from the CityEngine team.

Go to the blog

What's New

Discover recently added capabilities of CityEngine.

See what's new


Build expertise and connect with the CityEngine community

Build expertise


Share experiences and learn tricks from the CityEngine community.

Join the conversation