CityEngine Plugin for Rhino and Grasshopper

Puma is a plugin for Rhino and Grasshopper. It provides a Rhino command and Grasshopper components which enable the execution of CityEngine rules within a Rhino scene.

About Puma

Puma is a plugin for Rhino and Grasshopper. It provides a Rhino command and Grasshopper components which enable the execution of CityEngine rules within a Rhino scene. Therefore, a Rhino artist or designer does not have to leave their familiar Rhino environment anymore to make use of CityEngine’s procedural modeling power. Complicated export-import steps are no longer needed, which also means that the procedural models do not need to be “baked” anymore. The building or street models stay procedural during the entire design or planning workflow. Consequently, the user can change any attributes of the building or street models easily by connecting them to other Grasshopper components.

Puma requires Rule Packages (RPK) as input, which are authored in CityEngine. An RPK includes assets and a CGA rule file which encodes an architectural style. Comprehensive RPK examples are available below and can be used “out-of-the-box” in Puma. More examples for CGA rule files can additionally be found in the CityEngine tutorials.

Puma is well suited for managing the procedural generation of architectural 3D content in design and urban planning scenarios. However, Puma is restricted to the procedural generation of buildings and street detailing/furniture. Puma does not include the city layout and street network editing tools of CityEngine (i.e. the rich CityEngine toolset to design a city from scratch or based on geographic data is still needed).

Puma 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


Search for Puma in the built-in Package Manager of Rhino 7 (recommended) or manually download from the Rhino app store (e.g. for Rhino 6).

→ Go to the Food4Rhino app store


A full documentation of Puma is available on our github repository.

→ Read documentation


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

→ Go to Github


Street Segment

This example demonstrates the main features of Puma in a compact scene. Starting from various input shapes (street shapes and building/floor footprints), multiple different Rule Packages are applied to create models ranging from abstract building volumes to realistic facades and street-level scenes. Extract the contents of all 5 zips into a single directory then open the Rhino and Grasshopper files and Puma will find the RPKs automatically.

Street Segment Example Part 1 (Rhino Scene files) Street Segment Example Part 2 (Building Construction RPKs) Street Segment Example Part 3 (Complete Streets RPKs) Street Segment Example Part 4 (Generic Modern Building RPKs) Street Segment Example Part 5 (Floor RPKs)

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