教程 16:城市规划

要访问 CityEngine 中的教程,请单击帮助 > 下载教程和示例。 在选择教程或示例后,系统会自动下载工程并将其添加到工作空间。

本教程将介绍如何将 CityEngine 用于典型的城市规划任务。

拟建建筑物设计

简介

本教程将介绍如何将 CityEngine 用于典型的城市规划任务。 为此,教程将使用一个虚构的开发区域作为示例,该开发区域包括位于城市中心的 9 块建筑用地。 课程目标是设计一个可满足购物、生活和工作等需求的综合性区域。 在本教程中,您为该区域开发一个符合城市分区规则的示意图设计。 (本教程是与 Matthias Buehler (http://www.garsdaledesign.co.uk) 和瑞士城市规划公司 SEILER&SEILER (http://seilerseiler.com) 合作开发的,后者已在日常工作中广泛使用 CityEngine。)

当然,与本教程中描述的简化案例相比,城市规划过程的实际复杂程度通常要高上许多。 在实际情况中,这些过程将受到许多因素的影响,例如各种利益相关者的利益、预算、工程分期、移动性目标、基础设施承载力(公共交通、供应和废物管理)、受保护建筑物以及自然保护等。 该简化示例在大约两小时内所呈现的内容实际上需要花费数月甚至数年的时间方可实现。 CityEngine 特别适合处理此类迭代性质的过程。 通过使用 CityEngine WebScene 共享建议的设计选项,您可以轻松管理与客户端的反馈循环。 由于这是 CityEngine 中的典型工作,因此针对设计的优化工作通常需要通过在检查器中调整形状、位置和更改属性来完成。 更改将立即反映在所报告的关键数字(例如 FAR,楼层面积比)中。

本教程将介绍 CityEngine 的程序式建模如何成功地应用于点要素或面要素驱动的半自动工作流。 由于编写建筑物放置模式的自定义分布规则可能需要相当复杂的 CGA 代码,因此建议您在本教程中使用点形状或手动创建的任何形式的覆盖区形状,这样可以更快地控制覆盖区分布。 许多人可能会发现该方法非常直观且更为灵活,对于中小型环境而言更是如此。

以下是此教程的概述:

  • 城市规划工具工作流概述了将用于完成城市规划任务的 CGA 文件。
  • 分区工作流可将分区规则定义为最大建筑物高度和开发区域的退缩尺度,并将其显示出来。
  • 总体规划工作流可为建筑用地开发逻辑示意图设计,该设计将符合刚刚定义的分区规则。

正如您将看到的,CityEngine 可在工程的多个背景、领域和规划阶段中使用。

城市规划工具

以下是对本教程中将使用的 CGA 文件的概述:

规则:

  • Zoning.cga - 将分区定义(例如退缩尺度、最大建筑物高度等)应用于建筑用地,并将其显示为框架。
  • Pointmarker_To_FootprintShape.cga - 根据点标记形状创建覆盖区形状,然后使用(导入)FootprintShape_To_Building.cga 来拉伸这些形状。 您可通过格网的大小、覆盖区形态和多种其他属性自定义覆盖区。 要绘制点标记,请使用形状创建工具(在视窗中按 Shift+S)。 要旋转建筑物,请使用 R 键来旋转建筑物的标记。 可使用 E 键对其进行缩放。
  • FootprintShape_To_Building.cga - 拉伸覆盖区形状并应用建筑物用途。 该属性将切换为显示违反 Zoning.cga 中定义的分区规则的建筑物构件。 不完全位于分区体积内的构件会生成红色的几何。 该特性在直观浏览多个设计时非常有用。
  • 具有初始规则 Water bodyLandscaping.cga:可创建一个周围具有墙壁的水体。
  • 具有初始规则 TreesTreeAlleyLandscaping.cga:可创建逻辑示意图树,并允许更改其大小、分布类型、密度等。 (注意:应将 TreeAlley 用于动态街道形状。)
注:
  • 一些规则会生成有用的尺寸标注文本。
  • 所有规则都会生成 CGA 报表。
  • FAR 值报表需要正确映射 parcelArea 属性才能正常工作。 请参阅其他教程手册,以获取有关属性映射的更多详细信息。
  • 请注意,其中的一些规则对样式进行了定义。 这些样式只是为本教程定义的示例预设,可以随意对其进行自定义以供个人使用。

样式示例:

样式

模型示例:

模型
  1. 打开具有示例模型 2_UrbanPlanning_Tools.cej 的场景。
  2. 请在遵守规则的同时尽情体验其中的乐趣!

分区

在本部分教程中,重点在于开发框架的定义。 通常会有一个由公共机构定义的特定于区域或城市的分区系统,可将其用作总体规划的指导原则,也可将其用作进一步优化任务的战略/任务声明(例如 10 年内提供 100,000 套公寓)。 为了简单起见,教程将根据空间背景(分配、城市结构、邻近居住区等)来定义开发框架。 首先,您将定义不同用途的排列和比例,然后指定最大建筑物高度和退缩尺度线。

虚拟设置

用途定义

用地 A 概览(向北对齐)

以建筑用地 A 为例来说明如何从空间环境中获得用途。 定义的条件如下:

  • 用地 A 为开发区域的入口处。
  • 沿其东侧延伸的主街道为该区域带来了大量的机动车和非机动车交通量。

根据这些条件,您计划在主街道沿线设置一个综合性区域:在底层设置商店,在高层提供服务;并将建筑物后方规划为住宅用途。

  1. 打开 3_Zoning_01.cej.。 此场景包含建筑用地和邻近环境。 单击接受,随后 CityEngine 将生成所有模型。
  2. 通过选择建筑用地 A 并按 F 键来将其放大。
  3. 空用地
  4. 分配规则 Zoning.cga
  5. Zoning.cga 选择样式 Mixed_Use
  6. 调整图层的可见性,并根据需要切换线框显示(7 键)。
  7. 默认分区体积

建筑物高度和退缩尺度的定义

要设置最大建筑物高度(通常需要在现有建筑物和分区规则中定义),请完成以下步骤:

  1. 确保将分区体积的 maxHeight 属性设置为 50 米,以确保支持足够密集的环境集成。
  2. 注:

    此外,可以查看太阳入射角(场景编辑器窗口中的图层场景光线),以检查建筑物之间的空间中的阳光直射情况。 您将跳过此步骤。

  3. 将所有退缩距离指定为 10 米,以便能够灵活使用外侧区域(停车场、户外座椅等)。
  4. 属性值显示在“检查器”中的分区体积。

反映分区定义

首先,您将测试分区定义是否能够为城市中心提供足够的密度。 请注意,场景中已经存在一个小的测试形状(图层覆盖区),您可以将其用作放置建筑物所需的定位器(在下图中以绿色表示)。 实际上,您将放置九座(3x3 格网)总高度为 50 米的多功能塔而非仅放置一座塔,并查看检查器报表中的 FAR

建筑物定位器形状,已准备好分配规则
  1. 打开 3_Zoning_01.cej 并生成所有模型。
  2. 将规则文件 PointMarker_To_FootprintShape 分配到覆盖区形状并生成模型。
  3. mainLength 设置为 25,并将 mainDepth 设置为 25.
  4. footprintForm 设置为矩形
  5. gridWidthgridDepth 设置为 3。
  6. gridDistWidthgridDistDepth 设置为 35。
    注:

    您还可以使用一个预定义样式。

  7. 切换至 FootprintShape_To_Building。
  8. numberFloors 设置为 13。
  9. 查看建筑物报告。

当前的 FAR 值为 0。 为了获得正确的值,您需要输入建筑物所占的用地面积。 最高效的方法是将该值定义为规则中的用户设置值。 为此,请完成以下步骤:

  1. 请暂时将规则 rules/helpers/reportShapeArea.cga 分配给用地形状。 记下报告值。 对于该用地,该值应为 40,445 平方米。
  2. 返回并重新分配 Zoning.cga 规则
  3. 在规则 FootprintShape_To_Building 中,在检查器中将 parcelArea 的值设置为 40,445 的用户值。
    注:

    还可在检查器中映射而非手动设置此值。

  4. 在报告部分中查看 FARFAR 值为 1.81,因此可以满足城市中心的要求。

当然,这只是一种非常粗略的设计方法,但它可以为您快速提供 FAR 的近似数字。 现在,您即可通过位置更精确的建筑物和更加出色的总体设计来更为深入地挖掘和确定更多细节。 为此,请完成以下步骤:

  1. 打开 3_Zoning_03.cej 并将其作为分区设计的一个示例。
  2. 随意使用其余用地的分区体积。 请提出您自己的设计!

FAR = 1.81 的城市街区

总体规划

既然您已经在分区规则中设置了起点,那么就可以开始查看整个开发区域的逻辑示意图设计了。

首先,您将选择一个具有基础拓扑以及建筑用地主要用途的初始布局,并说明如何确保遵守分区规则。 接下来,您将放大一块建筑用地,并进一步优化拓扑和设计。 最后,您要将重点转移到外部空间并添加结构化元素。

逻辑示意图设计

您准备了具有各种用途的混合了矩形、L 形和 U 形的初始布局。 现在可以通过更改检查器中的属性对设计进行自定义。 用于用法组合的预定义样式、覆盖区形状以及格网状阵列创建功能将使此过程变得更加简单。

  1. 打开初始场景 4_Masterplanning_01.cej
  2. 随意尝试覆盖区形状、格网、用法组合等等。 在检查器中打开报表,并查看更改建筑规格时系统如何自动更新所报告的关键数字(例如 FAR)。
    方形建筑物的 3 乘 3 格网
  3. 将覆盖区形状调整为 L 形建筑物,即可得到以下结果:
    L 形建筑物的 3 乘 3 格网

现在,您可以查看如何使用给定规则来可视化任何违反的分区规则。 您可以将其中一个建筑物的高度更改为高于允许的值,例如 20 层。 建筑物上超过分区规则所允许的最大高度的部分将以红色显示。

本教程的建筑物规则中包含了一小组用于实际设计建筑物的属性,尤其是总建筑物体积。 您可以构建建筑物的总高度,然后通过切掉建筑物的一部分来实现建筑物设计的最小化。 为此,您将使用三个属性:volumeChangeFloorIDvolumeChangeRotationrelVolumeChangeSplit。 为此,请完成以下步骤:

  1. 选择一个建筑物。
  2. 将属性 visualizeBrokenLaw 设置为 True
  3. Floors 的数量更改为 20。
之前:使用 visualizeBrokenLaw 属性

之后:使用 visualizeBrokenLaw 属性

添加两个新的地标建筑物

在此工作流中,您将放大中心建筑用地,并优化未来社区入口的设计。 您将通过更改两个相邻建筑物的设计来添加地标。 4_Masterplanning_02.cej 将显示这些调整的结果。

  1. 打开 4_Masterplanning_02.cej 并生成所有模型。
  2. 默认建筑物体积建议的视图
  3. 将 L 形建筑物的 numberFloors 更改为 13 并将 volumeChangeFloorID 更改为 5。
  4. volumeChangeRotation 设置为 330 度。
  5. relVolumeChangeSplit 设置为 0.5。 此举会将建筑物的形态更改为从 5 层开始的略微截短的塔。
  6. 简单的拟建建筑物设计
  7. 将线形建筑物的 numberFloors 更改为 13 并将其 volumeChangeFloorID 更改为 5。
  8. relVolumeChangeSplit 设置为 0.7。 此属性将推动塔的分割,并切掉 70%(相当于 0.7)的顶部体积。
  9. 其他简单的拟建建筑物设计

设计外部空间

4_Masterplanning_03.cej 将显示您对外部空间的基本设计结果。 现在,您准备在开发区域的入口处进一步执行放大操作并设计外部空间(对于景观建筑的尝试)。 您通过添加水池和树木来增加入口的美观舒适度。

  1. 打开带有外部空间设计的场景 4_Masterplanning_03.cej
  2. 先从一个简单的水池开始。 创建一个正方形,然后将规则文件 Landscaping.cga 与初始规则 Waterbody 一起应用。
  3. 添加的景观元素:一个大水池
  4. 在您的虚构城市中,夏天的温度相对较高。 因此,您将沿着街道添加一排树。
  5. 请继续使用当前的景观工具来创建自己的外部设计。
  6. 如果遇到问题,请查看 4_Masterplanning_04.cej 中的结果。
    简单建议设计
  7. 更改您的视图。
    简单建议设计的备用视图

显然,在本教程中仅有时间专注于这种小而抽象的设计。 但是,我们希望本教程对您有所帮助,并已演示了 CityEngine 用于城市规划方案的多种方式。