Export a model

The following are the basic steps to export a model:

  1. Select the objects to export in the Viewport window or Scene Editor window.
  2. Click File > Export Models from the main menu or press Ctrl + E.
  3. Select the file format.
  4. Note:

    The model exporter is independent of the generated models in the current scene and can export large scenes. This means that you do not need to generate a scene before exporting a model.

Supported formats

The supported 3D formats are described in the following table:

3D formatDescription

ABC (Alembic)

An open, interchange framework designed for VFX content production pipelines.

DAE (COLLADA)

Loads a large number of DCC tools and rendering engines with support for asset instancing, layered textures, and file referencing.

DATASMITH (Unreal and Twinmotion)

Provides simple data transfer from CityEngine into the Unreal Engine Editor and Twinmotion. It supports modern materials (PBR) as well as geometry instancing.

DWG (Autodesk)

A proprietary 3D geometry format native to Autodesk AutoCAD. It doesn't have modern material support but is widely used in the BIM and CAD industries.

FBX (Autodesk)

Provides export into Autodesk Maya, 3ds Max, MotionBuilder, and other DCC tools equipped with an FBX importer. It Includes support for layered textures (multitexture) and per-texture UVW transformations (scale, translation, and rotation).

glTF (Khronos Group)

A recent JSON-based 3D geometry delivery format. It supports modern materials (PBR) as well as geometry instancing and is supported by many desktop and web apps. Currently it is the recommended exchange format for new projects.

IFC (buildingSMART)

An open-source 3D geometry exchange format used to describe building elements. It is mainly used in the BIM and CAD industries to store project information for design, procurement, and construction phases as well as reference for operations. CityEngine only supports version 2x3.

OBJ (Wavefront)

Transfers models with solid coloring or single texture layers to a DCC tool or rendering engine. The material definitions are exported into accompanying .mtl files. It does not support instancing.

USD (Universal Scene Description)

Stores large CityEngine scenes with minimal loss of information, which makes it suitable as an interchange format for further processing in VFX pipelines.

VOB (e-on VUE)

A native object format for polygonal meshes of e-on software's VUE product. CityEngine supports VUE 8.5 and later. It is recommended that you use the latest version.

The supported 3D GIS formats are described in the following table: 

3D GIS formatDescription

FileGDB (Esri file geodatabase)

A common file format for GIS workflows. Export multipatch, multipoint, point, and polyline geometry types into a file geodatabase. Textures are supported.

KMZ/KML (Keyhole Markup Language)

Exports into georeferenced earth browsers such as ArcGlobe and ArcGIS Earth. The models can be shared, for example, in Google Warehouse.

The supported ArcGIS Online formats are described in the following table:

ArcGIS Online formatDescription

MSPK (mobile scene package)

A mobile scene package (.mspk file) is a custom, web-optimized file type that can be used to share complete scenes on the ArcGIS Platform.

SLPK (Esri scene layer package)

A scene layer package (.slpk file) is a custom, web-optimized format that can be shared and published on ArcGIS Online and viewed with Scene Viewer.

3VR (360 VR Experience)

Exports panoramic photos of CityEngine scenes.

3ws (CityEngine Web Scene)

CityEngine web scenes can be viewed in a web browser using CityEngine Web Viewer.

Note:

The 3ws format is deprecated and may not be supported in future releases of CityEngine.

The supported CGA Material format is described in the following table: 

Material formatDescription

CGA Material

The material descriptions of a CGA model are collected and written into individual subdirectories. Each subdirectory contains all the material—including the used textures—which can be copied into a folder of assets, for example. The name of the subdirectory and the .cgamat file is the material.name attribute but is made unique if there are several materials with the same name.

The <matName>.cgamat file is in CSV format, as is the result of the CGA function: getMaterial(used, changed).

The supported custom export format is described in the following table:

Custom export formatDescription

Python (script-based export)

Allows Python commands to be arbitrarily run during batch export.

General export options

The general options can be used for all export file formats. Certain formats contain additional options, which are described in the corresponding subsection below.

Note:
  • In the Export Wizard, each export option displays a ToolTip with a description.
  • To compare the material and shading functionality of the various formats, see the Format feature comparison section below. .

General options

The general options are described in the following table: 

OptionDescription

Output Path

The path to the export location. The path must exist.

Base Name

The base name of the exported files. A suffix will be appended depending on the other export option settings.

Export Geometry

  • Models with Shape Fallback—If the model generation fails, the start shape geometry is exported. This is the default.
  • Models—The shape is ignored if the model generation fails.
  • Shapes—Only the start shape geometry is exported.

Terrain Layers

  • Do not export any terrain layers
  • Export all visible terrain layers
  • Export all selected terrain layers—This is the default
  • Export all terrain layers

Simplify Terrains

The reduceGeometry operation is used to simplify the terrain geometry prior to export. This can take a long time, especially for higher resolution terrains.

Granularity options

The granularity options are described in the following table:  

OptionDescription

Memory Budget

The maximum memory consumption in megabytes.

The geometry data is written to a single file if Memory Budget is zero. Otherwise, a new file is written to disk whenever the memory budget is reached.

  • The geometry size is measured on the raw meshes before any optimization. The file size is typically smaller than the setting.
  • The check is performed per input shape not per rule output shape; that is, very complex rules may generate more data than the limit setting.

Mesh Granularity

  • Do not merge any meshes—No meshes are merged; each mesh is optimized individually.
  • Merge meshes by material—All meshes with the same material properties are merged and optimized.
  • Reuse asset instances, merge generated meshes by material—Inserted assets and meshes (see the CGA insert operation) are preserved and instanced. Meshes generated by the grammar are merged by material.

Feature Granularity

  • One Feature Per Shape—One feature per start shape is created in the package.
  • One Feature Per Leaf ShapeOne feature per leaf shape is created in the package.

Geometry options

The geometry options are described in the following table: 

OptionDescription

Vertex Normals

  • Write vertex normals—Vertex normals are written when they're present on the mesh.
  • Do not write any vertex normals—Vertex normals are not written even if they're present on the mesh.
  • Write face normal if vertex normal is missing—Face normals are used for vertex normals if the mesh does not contain vertex normals, .
  • Always write face normal—Existing vertex normals present on the geometry are ignored and replaced by face normals.

Normals Indexing

Choose between indexed polygon normals or separated normal copies per polygon.

Texture Coordinates

  • Do not write any UVs—No texture coordinates will be exported.
  • Only write first layer of UVs—Only the first layer of texture coordinates (uv-set 0 corresponding to the color map) is exported. For more information, see Texturing: Essential knowledge.
  • Write all UV layers—All layers are exported.

Local Offset

Local offset is only active when File Granularity is set to One File per start shape, as it is computed for each individual shape.

  • None—Local offset is not used.
  • Model Centroid—The centroid of the generated model is used as the offset.
  • Model Centroid Bottom—The centroid projected on the bottom bound of the generated model is used as the offset.
  • Shape Centroid—The centroid of the shape is used as the offset.
  • Shape Centroid Bottom—The centroid projected on the bottom bound of the shape is used as the offset.

Global Offset

The global offset for generated geometry. Set the offset for the x, y and z axes (Cartesian coordinate values).

Vertex Precision

Use these values to reduce the floating point precision of different geometry data prior to the file output (used to reduce file size in OBJ).

Merge within precision

Coordinates (vertices, normals, and texture coordinates) that have a Euclidean distance equal to or less than precision are merged and their corresponding indexes are updated.

Triangulate Meshes

All faces are converted to triangles.

Faces with holes

  • Write as holes—The hole information is written. This option is only available for some formats.
  • Triangulate faces with holes—All faces containing holes are triangulated.
  • Discard holesThe hole information is ignored.
  • Convert holes to facesHoles are converted to faces (coplanar faces are created).

Materials options

The materials option is described in the following table: 

OptionDescription

Include Materials

When enabled, material definitions (for example, diffuse color) and textures are included in the export. Otherwise, the default material is referenced (if required by the format).

Texture options

Texture options are described in the following table: 

OptionDescription

Create Texture Atlas

Texture atlases that combine a set of textures into one are created, reducing the number of textures and materials. All textures except color maps are removed. For more information, see CGA material attribute.

Note:

In case of repetition (that is, UV coordinates outside [0,1]), textures can not be put into an atlas.

Texture Atlas Max Dimension (2^n)

Specifies the maximum dimension of the texture atlases in powers of two pixels, for example, a value of 11 gives a 2048x2048 atlas.

Texture Atlas Border

A border of pixels that repeat the texture content is added to prevent incorrect scaling of artifacts.

Advanced options

Advanced options are described in the following table: 

OptionDescription

File Type

Choose binary- or text (ASCII)-based file creation.

Embed Textures

Reference the file path (the default) or embed the texture files in the binary file.

Shape Name Delimiter

The specified character is used to resolve duplicate shape names. For example, a delimiter of "_" resolves {"shape", "shape", "shape"} to {"shape", "shape_1", "shape_2"}. Existing suffixes such as "_1" are recognized.

Note:

To use the name resolver manually for a selection of shapes, click Edit > Make Names Unique.

Existing Files

  • Overwrite existing files—No file check is performed before writing the geometry files. All files are overwritten.
  • Skip existing files—Existing files (geometry, material, and texture files) are not overwritten.

Additional options

One addition option is described in the following table: 

OptionDescription

Script

A workspace path to a python script for additional python operation parallel to export.

Format feature comparison

The features in the table below reference the output of CityEngine, not the theoretical features of the individual format. Compare this list with the known interoperability limitations and recommendations in the Format recommendations section of the Model export application notes topic.

FormatInstancingShaderMultitextureTex TrafoTriangulationReferencing

ABC

Yes

No 2

Yes

Yes

Yes

No

DAE

Yes

No

No

Yes

Yes 1

Yes

DWG

No

No

No

No

No

No

DATASMITH

Yes

Yes

Yes

No

Yes 4

No

FBX

Yes

No

Yes

Yes

Yes

No

FileGDB

No

No

No

No

Yes

No

glTF

Yes

No

No

No

No 3

No

KMZ / KML

Yes

No

No

Yes

Yes 1

Yes

OBJ

No

No

No

No

Yes

No

SLPK

No

No

No

No

No

No

USD

Yes

No

Yes

No

No

Yes

3ws

No

No

No

Yes

No

No

  • 1. Triangulation is necessary when exporting to ArcGIS Earth. See the Format recommendations section of the Model export application notes topic for more information.
  • 2. Alembic does not store shaders, but you can use CGA reports to write out a shader name as a property and bind it in a downstream tool.
  • 3. The glTF format only allows triangulated geometry.
  • 4. CityEngine always passes triangulated geometry to DATASMITH.

Feature types

Supported feature types are described in the following table: 

FeatureDescription

Instancing

Supports instancing of geometry. Typically, the assets are stored separately in an unmodified state from the nodes and transformation data.

Shader

Supports custom shader names.

Multitexture

Supports multiple texture channels.

Tex Trafo

Supports separate texture coordinate transformations independent from the texture coordinates stored in the meshes (for example, texture rotation).

Triangulation

Confirm whether the exporter supports optional triangulation on export.

Referencing

Confirm whether referencing of entities between files is supported. This allows the definition of a primary file to combine all scene elements.