Python 脚本注释和更改日志

CityEngine 脚本界面

CityEngine 脚本界面基于 Jython(Python 的 Java 实现方式)。 当前版本为 2.7.0。

CityEngine 带有专门的 Jython 模块脚本,其中包含特定于 CityEngine 的命令(请参阅类列表

Jython 支持标准 Python 库的几乎所有模块。 另外,Jython 可以包括任意 Java 类以扩展其功能。 有关详细信息,请查看 Jython 网站

2025.1 更改日志

状态命令

新增

Python 3 的 Python API (beta)(参阅下面的已知限制)。

新增

在 Python 编辑器和控制台中支持 Python 3 解释程序。

新增

支持“pip”包管理器和虚拟环境。

Python 3 Beta 版的已知限制

Python 3 API:

  • 不支持多进程处理以及需要它的包。 例如,“nicegui”包无法工作。
  • 不支持多线程。
  • 不支持“startup.py”。
  • 不支持“scripting.py”。
  • 不支持基于脚本的导出 hook(“initExport”、“initModel” ...)。
  • 不支持“@noUIupdate”。

Python 3 开发环境 (IDE):

  • 不支持并发的交互式 Python 3 控制台或并发运行的 Python 3 脚本。
  • 没有用于创建自定义虚拟环境的 UI 支持,请参阅此处了解如何在命令行执行此操作。
  • 通过 UI 管理 Python 路径:工程属性中的“工程引用”将不生效,请使用工程属性页“Python - PYTHONPATH”中的“外部库”选项卡来添加被引用工程的“scripts”文件夹。

2025.0 更改日志

状态命令

新增

添加了新类和函数来管理街道配置:

新增

新增 CE.getSubOID

新增

新增 WebSceneShareSettings.get/setAccess,其中包含访问级别(ORGANIZATION、PRIVATE、PUBLIC、SHARED)的常量。

已更改

CE.createGraphSegments 新增参数“streetConfig”。

新增

新增车道参数(例如“/ce/street/lane/width”)。

已弃用

已弃用“/ce/street/streetWidth”、“/ce/street/sidewalkWidthLeft”、“/ce/street/sidewalkWidthRight”并将其设为只读。

2024.1 更改日志

状态命令

新增

添加了 WebSceneShareSettings 以将 CityEngine 场景导出至云端。

新增

添加了 View3D.setCameraTwoPointPerspectiveCorrectionView3D.getCameraTwoPointPerspectiveCorrection 用于两点透视中的相机管理。

已移除

已从 API 中移除 CE.getTerrainTessellationResolution 和 CE.setTerrainTessellationResolution。

2024.0 更改日志

状态命令

新增

添加了 CE.addGuideLayerCE.isGuideLayer 用于参考线图层管理。

新增

添加了 CE.createGuideCE.isGuide 用于参考线管理。

新增

可以使用现有的 CE.delete 删除参考线图层和参考线。

已更改

SimplifyGraphSettings 现在允许对算法进行更精细的控制。

2023.1 更改日志

状态命令

新增

新增了 CE.get/setTerrainWireframe 来控制地形上的线框渲染。

新增

GrowStreetsSettings 中新增了 get/setStreetWidthSettingsBlockSubdivision 以控制块中的动态形状创建。

已更改

RPKExportSettings 经过调整,可以通过处理 CGA 文件的方式处理 VCGA 文件。

2023.0 更改日志

状态命令

新增

已添加 CE.invertSegment

新增

已添加 ImageExportTerrainSettings.get/setResolution

新增

向以下导出模型设置添加了 get/setTerrainMeshResolution

已移除

CE 中移除了选项 get/setTerrainTessellationResolution。

已移除

CEWebSceneExportModelSettings,以反映 CityEngine Webscene Exporter 的移除。

2022.1 更改日志

状态命令

新增

USDExportModelSettings:添加了 get/setMeshMerging

2022.0 更改日志

2021.1 更改日志

状态命令

新增

添加了 IFCExportModelSettingsIFCImportSettings 以导出和导入 BuildingSMART IFC 文件。

新增

添加了 CGAMATExportModelSettings 以将材料导出为 CityEngine 材料格式。

新增

USDExportModelSettings:添加了 get/setTriangulateMeshes

新增

AlignTerrainSettings:添加了 get/setBorderEasingget/setBorderGradientget/setBorderRangeget/setSmoothBorders

新增和已弃用

AlignTerrainSettingsResetTerrainSettings:添加了 get/setTerrainLayer 并弃用了 get/setTerrain

新增和已弃用

AlignGraphSettingsAlignShapesSettingsAlignStaticModelSettings:添加了 get/setHeightmapLayer 并弃用了 get/setHeightmap

新增和已弃用

GrowStreetsSettings:添加了 get/setEnvironmentSettingsHeightmapLayerget/setEnvironmentSettingsObstaclemapLayer 并弃用了 get/setEnvironmentSettingsHeightmapget/setEnvironmentSettingsObstaclemap

2021.0 更改日志

状态命令

新增

添加了 DWGImportSettingsDWGExportModelSettings,用于导入和导出 Autodesk DWG 文件。

新增

添加了 GenericPRTImportSettings,以通过自定义 PRT 解码器导入文件。

新增

已添加函数 CE.isSynchronizedCE.unsynchronize,以便与 ArcGIS 门户上的要素服务搭配使用。

新增

USDExportModelSettings 获得了两个新函数 get/setFileType,用以获取/设置 USD 文件格式(.usdc 或 .usdz)。

新增

CleanupShapesSettings 类获得了两个新函数 get/setSplitSelfintersectingPolygons,用于控制是否应该分割自相交面。

新增

RenderSettings 类获得了两个新函数 get/setTerrainMasking,用于控制渲染重叠地形的方式。

已更改

函数 "makeDefaultObject"、"makeScenarioObject" 和 "removeFromScenario" 已被重命名为 CE.makeLayerDefaultObjectCE.makeLayerScenarioObjectCE.removeLayerFromScenario,以反映方案系统的变化。

已移除

已移除 RIBExportModelSettings,以反映 Renderman RIB 导出器的移除。

2020.1 更改日志

状态命令

新增

添加了 USDImportSettings 以导入通用场景描述文件。

新增

添加了方法 CE.publishPortalItem 和已连接设置 PortalPublishSettings,以便在门户上发布已上传的项目。

新增

RPKExportSettings.get/setCompatibility 控件与 ArcGIS Pro 的兼容性。

新增

引入了方法 UnrealExportModelSettings.get/setExportLodget/setLODAttributeget/setLODOrder,以控制已创作细节层次的创建。

已更改

已在 FBXExportModelSettings 上将 PASS 添加为 get/setFacesWithHoles 的值,以保留 FBX 文件上的孔洞。

已更改

已将 ComputeEdgeAttributesSettings 上的方法 get/setCommaSeparatedListOfStreetClassesget/setStreetClassAttribute 重命名为 get/setCommaSeparatedListOfStreetCategoriesget/setStreetCategoryAttribute

2020.0 更改日志

状态命令

新增

添加了 MSPKExportSettings 以导出移动场景包。

新增

添加了 USDExportModelSettings 以导出通用场景描述文件。

已更改

引入了方法 UnrealExportModelSettings.get/setUseTextureAtlas 以控制纹理地图集的创建,并与单个纹理文件进行对比。

已更改

为了保持一致性,已将方法 ImageExportTerrainSettings.setFilenamesetFileName 进行了重命名。

已更改

为了保持一致性,已将方法 TPKExportSettings.get/setOutputPathget/setPath 进行了重命名。

2019.1 更改日志

状态命令

已更改

已将数组的 getAttribute 返回类型由字典更改为列表。

新增

可以通过已弃用函数 CE.getAttributeArrayAsDict 获得返回字典的数组的 getAttribute 旧行为。

新增

SPKMeshExportModelSettings 可通过选项 get/setFileSize 来影响文件大小。 或者,熟悉 i3s 规范的用户可以使用 get/setMaxDepth 直接设置最大树深。

已移除

从上面的大小函数开始,已从 SPKMeshExportModelSettings 中移除了选项 get/setLayerTextureEncoding

2019.0 更改日志

状态命令

新增

可以使用 ce.importFile 中的 GLTFImportSettings 导入 glTF 模型,并可使用 ce.export 中的 GLTFExportModelSettings 导出 glTF 模型。

新增

可以使用带有 ce.get/setLightingLightSettings、带有 ce.get/setPanoramaPanoramaSettings 和带有 view3d.get/setRenderSettingsRenderSettings 来控制场景渲染。

新增

可以使用 ce.computeEdgeAttributes 来计算形状的边属性,并使用 ComputeEdgeAttributesSettings 来控制这些属性。

新增

可以使用 ce.get/ce.setElevationOffset 来控制图层的高程偏移。

新增

可以使用 ce.get/ce.setTerrainMinHeightce.get/ce.setTerrainMaxHeight 来控制地形高程限制。

新增

可以使用 ce.subtractShapes 对形状相互进行布尔差运算。

新增

现在可以使用以下函数来控制方案:

新增

TPKExportSettings 现在具有 get/setVerticalOffset 函数。

新增

UnrealExportModelSettings 现在具有 get/setMetadata 函数。

新增

RPKExportSettings 具有新函数 get/setIncludeSourceFilesgetAddFilesAutomatically

已更改

RPKExportSettings 函数 addFilesAutomatically 已重命名为 setAddFilesAutomatically,而且该函数带有一个允许停用自动文件添加功能的可选参数。

已更改

方法 CE.get3DViews 仅会返回视窗。

已更改

CE.isInspectorCE.isViewport 方法已被弃用,原因是 CE.get3DViews 仅会返回视窗。

已移除

函数 get/setWriteDDSTextures 已从 SPKMeshExportModelSettings 中移除。