Python scripting notes and changelog

CityEngine Scripting Interface

The CityEngine scripting interface is based on Jython, a Java implementation of Python. Current version is 2.7.0.

CityEngine comes with a special Jython module scripting containing CityEngine specific commands (see list of classes)

Jython supports almost all modules of the standard Python library. In addition, Jython can include arbitrary Java classes to extend its functionality. Please see the Jython website for more details.

2023.1 changelog

StatusCommands

New

Added CE.get/setTerrainWireframe to control wireframe rendering on terrains.

New

Added get/setStreetWidthSettingsBlockSubdivision to GrowStreetsSettings to control dynamic shape creation in blocks.

Changed

RPKExportSettings were adapted to work with VCGA files like they work with CGA files.

2023.0 changelog

StatusCommands

New

Added CE.invertSegment.

New

Added ImageExportTerrainSettings.get/setResolution.

New

Added get/setTerrainMeshResolution to these export model settings:

Removed

The option get/setTerrainTessellationResolution was removed from CE.

Removed

CEWebSceneExportModelSettings to reflect the removal of the CityEngine Webscene Exporter.

2022.1 changelog

StatusCommands

New

USDExportModelSettings: Added get/setMeshMerging

2022.0 changelog

2021.1 changelog

2021.0 changelog

StatusCommands

New

Added DWGImportSettings and DWGExportModelSettings to import and export Autodesk DWG files.

New

Added GenericPRTImportSettings to import files via custom PRT decoders.

New

The functions CE.isSynchronized and CE.unsynchronize have been added to work with Feature Services on ArcGIS portals.

New

USDExportModelSettings gained two new functions get/setFileType to get/set the USD file format (.usdc or .usdz).

New

The CleanupShapesSettings class gained two new functions get/setSplitSelfintersectingPolygons to control if self intersecting polygons should be split.

New

The RenderSettings class gained two new functions get/setTerrainMasking to control how overlapping terrains are rendered.

Changed

The functions "makeDefaultObject", "makeScenarioObject" and "removeFromScenario" have been renamed to CE.makeLayerDefaultObject, CE.makeLayerScenarioObject and CE.removeLayerFromScenario to reflect changes in the scenario system.

Removed

Removed RIBExportModelSettings to reflect the removal of the Renderman RIB exporter.

2020.1 changelog

StatusCommands

New

Added USDImportSettings to import Universal Scene Description files.

New

Added method CE.publishPortalItem and connected settings PortalPublishSettings to publish an already uploaded item on a portal.

New

RPKExportSettings.get/setCompatibility control compatibility with ArcGIS Pro.

New

The methods UnrealExportModelSettings.get/setExportLod, get/setLODAttribute, and get/setLODOrder were introduced to control creation of authored Levels of Detail.

Changed

Added PASS as value for get/setFacesWithHoles on FBXExportModelSettings to keep holes on FBX files.

Changed

The methods get/setCommaSeparatedListOfStreetClasses and get/setStreetClassAttribute on ComputeEdgeAttributesSettings were renamed to get/setCommaSeparatedListOfStreetCategories and get/setStreetCategoryAttribute.

2020.0 changelog

StatusCommands

New

Added MSPKExportSettings to export Mobile Scene Packages.

New

Added USDExportModelSettings to export Universal Scene Description files.

Changed

The methods UnrealExportModelSettings.get/setUseTextureAtlas were introduced to control creation of texture atlases in contrast to individual texture files.

Changed

The method ImageExportTerrainSettings.setFilename was renamed from setFileName for consistency.

Changed

The method TPKExportSettings.get/setOutputPath were renamed from get/setPath for consistency.

2019.1 changelog

StatusCommands

Changed

The return type of getAttribute for arrays was changed from dict to list.

New

The old behavior of getAttribute for arrays returning a dict can be obtained through the deprecated function CE.getAttributeArrayAsDict.

New

SPKMeshExportModelSettings has option get/setFileSize to influence the file size. Users familiar with the i3s specification can use get/setMaxDepth to directly set the maximum tree depth alternatively.

Removed

The option get/setLayerTextureEncoding was removed from SPKMeshExportModelSettings in favor of the size functions above.

2019.0 changelog

StatusCommands

New

glTF models can be imported using GLTFImportSettings in ce.importFile and exported using GLTFExportModelSettings in ce.export.

New

The scene rendering can be controlled using LightSettings with ce.get/setLighting, PanoramaSettings with ce.get/setPanorama, and RenderSettings with view3d.get/setRenderSettings.

New

The edge attributes of shapes can be computed using ce.computeEdgeAttributes and controlled using ComputeEdgeAttributesSettings.

New

The elevation offset of a layer can be controlled using ce.get/ce.setElevationOffset.

New

Terrain elevation limits can be controlled using ce.get/ce.setTerrainMinHeight and ce.get/ce.setTerrainMaxHeight.

New

Shapes can be boolean subtracted from each other using ce.subtractShapes.

New

Scenarios can now be controlled using the following functions:

New

TPKExportSettings now has get/setVerticalOffset functions.

New

UnrealExportModelSettings now has get/setMetadata functions.

New

RPKExportSettings has new functions get/setIncludeSourceFiles and getAddFilesAutomatically.

Changed

RPKExportSettings function addFilesAutomatically was renamed setAddFilesAutomatically and it takes an optional argument that allows deactivation of automatic file adding.

Changed

The method CE.get3DViews returns only Viewports.

Changed

The methods CE.isInspector and CE.isViewport were deprecated because CE.get3DViews only returns viewports.

Removed

The functions get/setWriteDDSTextures were removed from SPKMeshExportModelSettings.