来源: 宋姗 欧特克BIM俱乐部

衍生式设计是人与计算机之间的协作设计过程。在这个过程中,设计师定义设计参数,计算机运行出各种可能的设计方案。设计师制定可量化的评价目标,以评价每个方案在这些目标上的达成情况。计算机在迭代生成设计方案的过程中不断学习前序方案的经验,并吸收设计师的反馈,不断提高接下来生成方案的质量,这就是衍生式设计的原理。

衍生式设计不是一蹴而就的,经过了多年的研究和开发,正式版的衍生式设计功能将在即将发布的 Revit 2021 上和设计师们见面。** **

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

我们以一个办公室布局设计的例子来详细介绍衍生式设计的起承转合。该案例来源于 Refinery Primer。

初始 Revit 模型

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

设计目标 ** **

优化目标

Dynamo 方案生成

第一步 分别选择 Revit 项目中的楼板(图中高亮显示部分)和 6 条办公区分割线,并设置办公桌的长宽。

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

第二步** **将 Revit 楼板转化为 Dynamo 可编辑的几何实体,使用分解功能获得楼板的各个表面。判定各个表面的中心点标高是否等于楼层标高,得到唯一的用于布置办公桌的楼板上表面。进一步获得其边界线。

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

第三步 获取 6 条办公区分割线的起点和终点。

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

第四步 本项目中,楼板边界线共计 12 条。判定 6 个起点分别在哪一条楼板边界线上,并按照列表中起点的顺序,将找到的 6 条边界线按顺序形成列表。对于 6 个终点,也使用同样的方法找到对应的边界线列表。

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

第五步** **这里使用了一个 Python 节点,IN[0] 输入起点列表,IN[3] 输入起点偏移值列表(变量),输出偏移后且仍在楼板边界线上的起点。本例中通过区域边界线的微调,从而调整区域内的办公桌布局,而区域边界线是由起点和终点连接而成的。起点和终点偏移值不断变化,以此得到不同的办公室布局。

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

​ ▲ 如图所示

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

第六步 将各条分割线沿楼板面法线方向拉伸,以此作为切分工具,将原楼板面拆分为 7 个办公区域。

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

第七步 使用节点 AmenitySpace.Create,输入偏移量 1000(即板边退距1米),区域宽度 3000(即宽度 3 米),根据各办公区域形状生成公共设施区域。计算各个区域的面积,转换为 Revit 项目单位,并汇总求得总面积。

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

使用节点 DeskLayout.Create,在除去公共设施区域以外的办公区域上生成办公桌布局,并计算可布置的办公桌总数量。

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

本步骤用到的两个节点来自于 Refinery Toolkits,目前还未收录进已发布的 Dynamo 软件包库。可在公众号中留言,向我索取安装文件。 第八步 将公共设施区域总面积和办公桌总数量设为输出项。在前端输入量变化过程中,这两个输出值也将不断变化,最优化的办公室布局应是在保证办公桌数量最大化的情况下,仍保持较大的公共设施区域。衍生式设计的优势是可以探索尽可能多的布局方案,并找到同时满足这两个条件的最优解。

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

Refinery 衍生式设计

** **启动 Dynamo 中的 Generative Design 功能,将该 Dynamo 程序导入其中,第一次运行,使用 Randomize 的衍生方法,设置随机生成数量为 200,软件会自动生成出 200 个方案可能性。

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

从中找出“办公桌总数”和“公共设施区域面积”同时排名靠前的方案,如图中所示。这一步是为了分析排名靠前的方案所对应的输入值所属的数值区间。接下来使用这一区间再进行衍生优化。

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

​ 改为使用 Optimize 的衍生方法,设置最大的“办公桌总数”和最大的“公共设施区域面积”为优化目标。根据 Randomize 运行的结果,可知有小部分方案能达到超过 265 张办公桌的布局。将“办公桌总数”限制为大于等于 265。进行第二次衍生。

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

通过优化衍生,我们最终获得了 4 个最优方案,其中综合来说最好的办公室布局能容纳 271 张办公桌,同时保证了 298.22 平方米的公共设施区域。

最后,我们以这个方案为基准,使用 Like This 的衍生方法,寻找是否还存在其他的,和这个方案接近的布局。如图,筛选后,并未找到优于基准方案的结果,选择该方案作为我们最终的设计成果。(需注意,我们所设置的衍生次数会对结果产生影响,衍生次数越多,得到的结果越精确,这是一个逐渐逼近最优解的过程)

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

以最优方案的输入配置,运行 Dynamo 程序,创建最终的 Revit 模型。

建筑衍生式设计——自动化办公室布局 Dynamo 程序详解-BIMBANK

衍生式设计的过程是不是颇有乐趣?赶紧试试看吧!

如果大家想尝试这个案例,欢迎在公众号留言,我会将此案例的原始 Revit 文件和 Dynamo 程序分享给大家。感谢阅读到最后!