It looks like we have another release of CityEngine coming up, and from the Changelogs (which are publicly available here) it looks like some big fixes and new features.

On the rumour mill there is more, but until I see something definite I won’t say ๐Ÿ˜‰

CGA Changelog

CGAC 1.3
new operations:

new functions:

new CGA Utility Library functions:

new features:

changes to existing features:

  • Changed the defaults for recursion detection:
    • Maximum derivation depth: from 99 to 1024.
    • Maximum derivation width: from 50000 to 100000.
    • Maximum function call depth: from 256 to 1024.
  • Optimized function memory overhead (i.e. more interleaved functions beyond the default limit are possible now before crash – actual limit depends on platform & function).
  • Collada reader: added support for polygons with holes.
  • str function and print, report operations: made float-to-string conversion independent of locale (some numbers might be formatted differently now).
  • Internal geometry cleanup: improved handling of illegal holes (overlapping holes, wrong vertex order).


  • extrude operation: fixed polygon with holes handling.
  • convexify operation: fixed face consistency if several edges have identical length.
  • envelope operation: fixed border cases which led to “open volumes”.
  • alignScopeToGeometry operation: fixed points/edge shapes support: scope size was set to 1 rather than 0, pivot orientation was not set to vertex/edge normal, fixed a crash if illegal edge index was used on edge geometry.
  • setback and shape{L|U|O} operations: fixed memory leak.
  • split operations: fixed hole handling (produced illegal holes in certain cases).
  • offset, roofGable, roofHip and roofShed operations: made polygons with holes handling more stable for illegal holes (hangers).
  • assetInfo, assetsSortRatio and assetsSortSize functions: fixed behaviour for unknown/unloadable assets.
  • material shape attribute: material.XXXmap returns “builtin:unknowntexture.png” if texture not found.
  • Fixed (deprecated) noStreetSide comp split selector handling.
  • Fixed a bug regarding edge/point geometry normals (CityEngine rendering only).
  • Fixed a bug in handling edges in empty geometries.
  • i operation: fixed a race condition in handling unknown assets which led to a crash.
  • Fixed an internal illegal pointer access which led to a crash.
  • print, report, set operations: fixed nan handling (avoid checks) and removed excess newline (bool).
  • str function: fixed inf/nan handling.
  • listRange function: fixed a bug reading (illegal) non-ยด;ยด-terminated string list handling.
  • improved internal rad-to-degree conversion precision.
  • AssetErrors: report warnings from geometry conversion of inserted assets.
  • Fixed a vertex merge issue in trim/split (identical vertices were not merged).
  • CGA compiler:
    • Fixed a bug in extends (attribute values were not always propagated).
    • Fixed bugs in import (wrong attributes copied, protecting selected attributes did protect all attributes).
    • Fixed a bug which led to a compile error if a rule had the same name as a CGA Utility Library function.

Python Changelog


Status Commands
new get/set for precision details in CEWebSceneExportModelSettings
changed get/setAddModelReports renamed to get/setEmitReports in FGDBExportModelSettings
changed set/getExportContent renamed to set/getExportGeometry in all export settings classes. Enums for setExportGeometry renamed as well.