可以在交互式 Python 控制台中或从 Python 编辑器执行 Python 代码。
Python 控制台
Python 控制台具有两种模式:
- 交互模式:直接执行 Python 代码。
- 输出模式:显示运行脚本的打印和错误消息。
要获取交互式 Python 控制台,请打开控制台视图(窗口 > 显示控制台),然后从工具条中小三角形下方的下拉列表中选择 Python 控制台。

默认情况下,系统会要求您选择所需的解释程序。 或者,您可以在首选项中配置默认的控制台解释程序(编辑 > 首选项 > Python > 交互式控制台 > 默认解释程序)。


您可以同时打开多个控制台视图(控制台下拉菜单中的新建控制台视图)并为其分配不同的控制台。 例如,并排放置一个脚本输出控制台和一个交互式控制台会很方便。

在交互式控制台中,可以键入特定的 CityEngine API 命令以及常规的 Python 命令。 要执行命令行,请按 Enter 键。 使用 Ctrl+空格键显示命令完成弹出窗口,该窗口可根据您的键入显示可能的命令。 可通过按上箭头键来调用最后使用的命令。

控制台脚本执行控件
控制台工具栏上有许多脚本执行控制按钮,用于停止和重新启动脚本以及关闭控制台。

Python 编辑器
Python 编辑器提供了一种更为方便的脚本编辑和执行方式。 通过文件 > 新建 > Python 模块来创建新的脚本模块。 选择当前工程的脚本文件夹作为 Source Folder,并为模块指定一个名称。

共有四个可用的模块模板:
<空> | 创建空模板 |
模块:类 | 创建空 Python 类 |
模块:导出 | 创建回调调用以便与基于 Python 的导出器搭配使用 |
模块:主 | 创建可执行脚本 |

选择 CityEngine 工程的脚本文件夹作为源文件夹,设置模块的名称并选择一个模板。
通过此对话框创建的新模块将包含以下行。
import sys
if sys.platform.startswith('java'):
from scripting import *
else:
from cityengine import *
# get a CityEngine instance
ce = CE()
- 一个导入 API 特定的 scripting (Jython) 或 cityengine (Python 3) 模块的 import 语句。
- 系统将根据这个模块创建主实例 ce,该实例允许调用所有 CityEngine Python 命令
运行脚本
要在编辑器中执行脚本,请在菜单中选择 Python > 运行脚本或按 F9 键。 (焦点必须位于编辑器区域中的 Python 脚本上才能启用 Python 菜单)。
可通过从输出控制台工具条中选择终止(或按 Ctrl+Alt+C 键)来取消所有正在运行的 Python 脚本。 如果输出控制台不可见,请使用窗口 > 显示控制台打开控制台视图。
与交互式控制台一样,可以使用 Ctrl+空格键来触发命令完成。
您将在下方看到主模板的默认部分为黑色,而所添加的代码为绿色。 该脚本可将所选模型作为 .obj 文件导出到当前工程的 model 文件夹中。

要使用上面的代码,请复制以下代码块:
import sys
if sys.platform.startswith('java'):
from scripting import *
else:
from cityengine import *
# get a CityEngine instance
ce = CE()
def export(objects):
dir = ce.toFSPath("models/")
name = "pythonTriggeredExport"
settings = OBJExportModelSettings()
settings.setBaseName(name)
settings.setOutputPath(dir)
ce.export(objects, settings)
if __name__ == '__main__':
export(ce.selection())
导入模块
默认情况下,脚本可以看到当前工程的“scripts”文件夹中的所有模块以及任何内置模块(内置模块在 Jython 2.7 和 Python 3 之间有所不同)。
>>> import random
>>> random.randint(0,100)
42
要导入自定义模块/脚本,其父文件夹需为“python path”的一部分。 有两种修改“python path”的方法:
- 在代码中,通过编辑“sys.path”,例如:
import sys sys.path.append("... path to module X ...") import X - 在 UI 中,通过在工程属性中的“外部库”下添加路径(例如,另一个工程的“scripts”文件夹):

脚本快捷菜单
要快速启动 Python 脚本,可以将其放在脚本菜单脚本 > 添加脚本中。
另请参阅