美文网首页BIM的乐趣
一个小例子,告诉你什么是衍生式设计

一个小例子,告诉你什么是衍生式设计

作者: 九哥BIMer | 来源:发表于2020-07-02 00:30 被阅读0次

又有一个月左右没更新了,今天先填个坑,之前好多小伙伴想让我介绍介绍Dynamo与衍生式设计,奈何最近太忙了,实在没时间弄这些~趁着端午节,今天用一个小案例,先简单让大家对衍生式设计有个初步认识,之后有时间,我再多写几篇关于这方面的文章,好了,接下来进入正题:

一、计算设计

在了解衍生式设计之前,先来了解下什么是计算设计。计算设计不是任何一种你可以应用的算法或现成的过程。相反,我们将其描述为一种方法,设计师通过定义一系列指令、规则和关系,精确地确定实现设计及其结果数据或几何所需的步骤。

这里,最主要的,是这些步骤必须是可计算的,这意味着可以通过计算机来理解和计算这些步骤。

当进行计算设计时,设计师会专注于开发创建设计的程序,而不是设计本身。遍历选项和数据的过程转移到计算机。这节省了时间、金钱和精力,让设计师专注于设计过程的创造力。

二、衍生式设计

区别于计算设计,一般我们认为:衍生式设计是人类和计算机之间的协作设计的过程。在此过程中,设计人员定义设计参数,计算机生成设计方案(备选方案),根据设计人员设定的可量化目标对其进行评估,使用以前的结果和设计人员的反馈改进研究,并根据设计的原始目标对结果进行排名。

这个过程中,涉及了很多的算法,例如遗传算法,后面有时间的话,我们可以深入聊聊这部分内容。

三、举个例子

我们举一个非常简单的例子,来简单试用下Revit2021的衍生式设计功能。

假设平面上有三个点,他们能够围成一个三角形。我们希望,在一定的范围内,让计算机帮我们画出三角形,使得面积与周长的比值最大。

接下来,我们打开Revit2021和Dynamo2.5,现在把三角形做出来。

首先创建三个点,分别用参数控制每个点的XY值:

image

然后将三个点串联成线,并求周长:

image.png

接下来封闭曲线成面,并求面积:

image.png

最后计算面积和周长的比值,并用一个watch节点输出结果:

image.png

到这里,一个基本的三角形就创建完成了,我们可以调整参数,生成不同的三角形,接下来如何来用这个程序测试衍生式设计呢?

首先,衍生式设计需要有输入和输出,我们需要把控制点XY值得滑块作为输入,最后的watch节点作为输出:

image.png image.png

到这里,Dynamo程序就算真正的完成了,接下来就要利用衍生式设计工具了,点击菜单栏衍生式设计按钮,单击导出以用于衍生式设计...

image.png

然后在弹出的菜单里设置说明和图标:

image.png

点击导出后,会提示导出完成:

image.png

接下来点击,衍生式设计菜单下的“创建分析”命令,就会弹出创建分析对话框::

image

选择我们之前导出的三角形,进入定义分析对话框:

image.png

定义分析的时候,首先需要选择分析的方法,工具里内置了四种方法,分别是:Optimize(最优化),Cross Product(跨产品),Randomize(随机化)和 Like This(相似)。

最优化:迭代以实现目标

生成针对您的目标进行优化的设计。Generative Design运行多次设计生成。每个后续生成都基于之前的结果进行进化和改进。

随机化:使用范围内的随机值

使用此方法进行探索,以浏览分析类型可以生成的广泛的可能解决方案样例。

跨产品:在范围内均匀分布值

尝试不同的变量组合。使用等间距值生成指定数量的结果。

相似:探索首选结果的变化

要达成目标,但想要调整设计?查看对选定变量的细微更改如何更改设计。使用此方法可以浏览首选结果的不同变体。

这里我们选择用Randomize(随机化),让程序快速创建多个备选方案,供我们选择。同时勾选所需的变量,这里默认列出之前我们在Dynamo设置的输入。设置生成方案的数量,默认为40个。

image.png

之后点击生成,就会自动生成分析结果,并跳转到浏览结果界面:

image image.png

同时我们可以切换散点图和平行坐标图,以不同的方式查看结果。

到这里,一个基本的衍生式设计流程,我们已经走了一遍,当然,这只是简单的尝试一下这个流程,想要真正的进行衍生式设计,需要更复杂的逻辑,配合Dynamo编写更复杂的程序,来执行衍生式设计。

当然了,有小伙伴肯定会问,节点库里,还有GenerativeDesign节点包,根本没用到啊!没关系,下次有时间,我会专门介绍下,相关的节点有什么用途,其实真正对我们有意义的,只有Data.Gate和Data.Remember两个节点,很有意思,下次我们继续聊~

好了,今天的分享就到这里了,主要是想给大家简单介绍一下衍生式设计的工作流程,当然还需要大家自行尝试,有不对的地方,请指正哈!

BIM的乐趣“群成员已经过百了,有希望入群的小伙伴,可以加我好友,备注来源,我来拉你入群哦~

相关文章

  • 一个小例子,告诉你什么是衍生式设计

    又有一个月左右没更新了,今天先填个坑,之前好多小伙伴想让我介绍介绍Dynamo与衍生式设计,奈何最近太忙了,实在没...

  • 作为一名射手,我已经用上了衍生设计做出的“完美情人”

    还不知道衍生设计是什么? 可以看我们昨天推送的文章: 如何用软件设计一个完美女友! 衍生设计,简单说来就是,你告诉...

  • 检定语言模式

    扭曲类语式: 1.臆猜式 例子:他想追求我 。 化解:是什么使你有这种感觉? 2.因果式 例子:你是能够成功的,可...

  • 一个简单的例子告诉你什么是运营

    说起运营,自然离不开产品和用户,没有产品的运营,那就是纯忽悠,而没有用户的产品,也就失去了存在的意义。所以,运营其...

  • Vue响应式原理上篇:如何从零构建一个响应式系统?

    响应式系统是什么? 以一个简单例子来说明响应式系统? 什么是依赖?什么是依赖搜集? Watcher 是什么? De...

  • 响应式网页设计

    名词解释 1.什么是响应式网页设计 响应式网页设计或称自适应网页设计、回应式网页设计、对应式网页设计。 是一种网页...

  • Angular表单验证

    angular4里一个响应式编程的小例子 Angular2 响应式表单验证 Angular开发(十一)-关于响应式...

  • 《七年》惊喜及其方法论

    准确的定义一个概念,然后衍生出一个方法论。这是这本书籍的特点。告诉你是什么,告诉你怎么做。授之于鱼,又授之于渔。也...

  • 声明式设计

    Kubernetes的重要设计理念之一,即声明式设计(Declarative)。 什么是声明式设计(Declara...

  • 0103伙伴式社区/营销与运营

    什么是伙伴式的社区?什么能支撑起伙伴式社区? 1,平等对话。 举个例子:等过几天你看到真机,你们会更喜欢。 改进:...

网友评论

    本文标题:一个小例子,告诉你什么是衍生式设计

    本文链接:https://www.haomeiwen.com/subject/nxqufktx.html