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.
- Scene editor for scene, layer, object and scenario management
- CGA rule editor for editing CGA rules
- Navigator to manage and preview files in the workspace
- 3D Views for single and multiple perspective cameras and scenarios
- Top view with a top camera
- Inspector for a detailed view and editing of selected objects and scenarios
- Console for printed CGA / Python text output and interactive Python session
- 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. 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 . 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.
A standard CityEngine project consists of the following folders:
- assets: The assets are applied by the shape grammar to compose the 3D models. Assets can be in 3D formats (such as .obj or .dae) or textures (such as .jpg or .png).
- data: This folder contains usually arbitrary additional data. These can be imported into the CityEngine as Shape Layers where shape grammar rules can be applied on.
- images: Additional imagery like Viewport snapshots are typically stored here.
- maps: This folder usually contains the image maps used by the Map Layers. For example, a height- or water-map is stored here.
- models: This folder is intended as place to store the exported 3D models (.fbx, .dae, .obj, etc)
- rules: This folder usually contains the CGA shape grammar rule files (.cga)
- scenes: Here the CityEngine scenes (.cej) are stored.
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.
This window is the central place where you manage your scene. A CityEngine scene is organized in layers.
- Map Layers contain arbitrary maps (images) and can be used to globally control various parameters for scene objects. The scene terrain is also created using a map layer.
- Graph Layers contain street networks and blocks, dynamic shapes (street shapes, building footprints), and generated models.
- Shape Layers contain static shapes, typically used as building footprints for generation of CGA models.
- Static Model Layers contain static models, such as Collada files.
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 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 onin the Inspector window if the selected object already has a rule file assigned. The typical efficient workflow with the CGA rule editor is:
- Assign a rule to the selected objects either via drag-and-drop or via .
- Open the rule file in the CGA rule editor and edit the rules.
- Press Ctrl-s for saving the rule file.
- 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:
- Alt-LMB: Tumble camera around the center of interest.
- Alt-MMB: Track (also called pan) camera parallel to the view plane (through the center of interest).
- Alt-RMB: Dolly the camera to or away from the center of interest, means the distance of the camera to the center of interest is alternated. Also use the mouse wheel to zoom in and out.
- f: Frame the selection. The camera's center of interest is placed into the center of the selection and the distance is adjusted accordingly.
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 (CTRL since some window managers catch the ALT key.) 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
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 ALT+I.in the main-menu, or by pressing
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.
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-2017 Esri R&D Center Zurich. All rights reserved.