“Dynamo的今世前生”——Dynamo问答(转载&翻译)

原文链接:Q&A about Dynamo

有一回,Marcello Sgambelluri AutodeskMatt JezykZach Kron译注:这两位是Dynamo在市场和产品功能方面的主要负责人逼到角落里,用一大堆关于Dynamo起源和未来方向的问题把他们搞得焦头烂额。我们觉得把这段故事拿出来跟大家分享应该会很有趣。你也可以从Marcello 博客中找到更多好东西。

为什么会想到开发Dynamo?

[Matt] Ian Keough(译注:Dynamo创始人)在纽约的Buro Happold公司工作时,经常需要在RhinoRevit之间交换数据。为了让这一繁琐的工作变得更有效率,他编写了Dynamo。当时的基本想法是:既然Grasshopper可以用参数化,计算生成的方式驱动Rhino中的形体,我们应该完全可以在Revit里做类似的事。

继续阅读

基本概念——Lacing

在Dynamo中运行与数组、数列等相关结点时,右键点击结点,将出现“Lacing”的选项,其中默认有三种选项“Shortest,Longest和cross product”,这些选项对于创建数列有着非常重要的作用。以下就逐一对于这些概念做一个整体的说明:

首先,如果我们想在Dynamo里创建一个点,用Point.ByCoordinates结点,那么大致是这样子的:

b1

如果我们想创建一列点,它们的Y坐标都是5,而X坐标是从5到10,该怎么做呢(关于Code Block里如何定义数列,请见相关博文):

b2

继续阅读

基本概念——单位转换

Dynamo和Revit结合地很好,除了。。。内部单位悲摧地不一致。

简单地说,所有在Dynamo里不带单位的数值(最常见的就是坐标点),Dynamo都会把它们认为是以“米”为单位。所以,如果你想创建两根距离10英尺的轴网,这样做是不行的:

a1

无论在项目模板中“单位”设置是英制还是公制,是“厘米”还是“毫米”,所创建的两个轴网之间的间距永远是10米。

a2

继续阅读

“初识Dynamo”系列之九——表皮的艺术

当今的建筑设计哲学中,外围护结构在脱离了其作为主要结构支撑构件的传统功能的制约之后,越来越多地将其作为相对独立的设计元素,赋予其更多的创造性和表现力。我们更多称之为“表皮的艺术”。Dynamo因其出色的几何造型能力和参数化编程能力,可以为建筑师提供丰富多彩的表皮塑形的可能。为了帮助大家,更快的发现其潜在的表皮塑形的优势,我们用一个如何创建菱形网格的例子来向大家解释其建模思路和应用。

具体的操作请看视频:

可供下载的Dynamo文件及相关文件在这里:

Dynamo文件:DYN_Basic Training_A9 – Panel Pattern

Revit模板:RVT_Basic Training_A9 – Panel Pattern

自定义结点:Create 8 Points for Panaling Tools

 

 

“初识Dynamo”系列之八——扭曲的大楼

走在上海的外滩,沿江高耸入云的一系列新世纪超高层建筑正展现着当代人类技术、艺术的最高水平。通过Dynamo更加完善的几何造型能力,完全可以突破建筑师的想象,创造出更加丰富并且多样的造型来。熟练掌握Dynamo常用的实体造型结点和参数化编程思路将有助于建筑师快速“找形”,而合理地设置必要的参数,也将很大程度上提高设计质量,有利于后期的设计深化和分析。

在这个类似于“梦露大厦”的例子中,我们就能够通过小小的一段可视化程序,把整个基本的参数化造型思路表达出来。

具体的步骤请参考视频解说:

所使用的概念体量模板,Dynamo文件和自定义结点可以从此处下载(请注意所使用的Dynamo版本为0.7.2):

Dynamo文件:DYN_Basic Training_A8_TwisterTower

自定义结点:TwistedDegree

体量模板:RFA_Basic Training_A8_PlanProfile

 

“初识Dynamo”系列之七——生成桁架结构线

建筑师在与结构师的配合中,经常会遇到如何根据建筑表皮的结构线来创建结构构件:桁架、梁等。这样的结构线可以是从AutoCAD导入的一系列空间线,也可以是从其他软件中获得的关键点的坐标位置。所以我们就用一个很简单的小例子来说明,Dynamo中是如何通过点坐标来创建一系列线段的。有了这些线段,在其基础上通过模型创建的命令来创建桁架杆件三维实体就易如反掌了。

具体的操作步骤请观看视频讲解:

所使用的Dynamo文件和Excel文件可以从这里下载:

Dynamo 文件:Basic Training A7_Create Truss Line

Excel表格:Points for Truss

 

“初识Dynamo”系列之六——居住小区总图布局

在熟练掌握了桌椅排布之后,我们可以将Dynamo的应用扩展在更大的范围内,比如:居住小区的总图布局。在这篇博文中,采用了两种概念体量族:高层建筑和多层建筑。同时,模拟真实场景,设置了更多的可变参数:高层建筑正面间距,多层建筑正面间距,高层与多层侧边最小距离,多层与多层侧边最小距离以及小区东西南北的红线退界距离。这些参数共同驱动了小区的总体布局。

同时,在这里还要重点介绍“自定义结点”的概念。自定义结点就是指可以将部分程序存储为.dyf格式的文件,从而可以在当前或者多个dynamo文件中进行重复使用。有两种创建“自定义结点”的方式:一是点击File>New>Custom Node…,二是在工作区内框选多个结点,右键选择“New Node from Selection”。输入结点的名字以及类别等信息,并且保存在指定目录下:C:\Users\<user name>\AppData\Roaming\Dynamo\0.7\definitions。当创建新的Dynamo项目时,新的自定义结点将出现在右侧的结点库中,方便反复调用,其调用方法与其他Dynamo默认结点相同。

在视频中我们将具体介绍其使用方法:

所需要用到的模板以及最终创建的DYN与DYF文件可以在这里获得:

Revit模板:RVT_Basic Training_A6_Site

DYF自定义结点:

DefineBuildingNumbers

DefineBuildingRowNumbers

Dynamo最终文件:DYN_Basic Training_A6_Site

“初识Dynamo”系列之五——排布座椅

当大家掌握了运用一维数组创建轴网之后,就可以开始将数组的概念扩展到二维数组,二维数组可以理解为Excel表格中的行和列的表格概念。我们通过一个排列会议室座椅的小案例来介绍这个概念,在之后的Dynamo中级课程中,我们会继续深化二维数组的概念,将它应用在建筑幕墙表面的网格划分中。

在这个小案例中,还将涉及到一些重要的结点,例如:如何运用Dynamo结点“FamilyInstance.ByPoint”自动批量创建Revit中的构件,例如家具族:座椅。这样类似的操作可以扩展到批量创建门、窗等,读者完全可以自由拓展这些有趣的应用。

具体的操作和介绍请看视频:

最终完成的dynamo文件和Revit的模板在以下附件:

RVT_DynamoBlog_A5_SeatArrangment

DYN_DynamoBlog_A5_SeatArrangment

 

“初识Dynamo”系列之四——创建轴网

在掌握了Dynamo基本操作之后,更加有趣并且有实用价值的小案例就顺手拈来了。在这里以批量创建轴网为例子,抛砖引玉,启发读者有更多奇思妙想,可以运用Dynamo来提高Revit的实用效率和创造性的创作。

在轴网创建中我们要介绍一个重要的概念:数组。这是一个在计算机编程中非常常见的概念,同时也是在使用Dynamo过程中必须要掌握的。这次仅仅运用到一维数组,就是横向创建10个轴线。具体的操作可以看以下的视频:

最终生成的Dynamo文件和Revit的模板在附件中可以找到:

RVT_DynamoBlog_A4_GridCreation

DYN_DynamoBlog_A4_GridCreation

 

“初识Dynamo”系列之三——基本操作(二)

当熟悉了Dynamo的用户界面,基本操作之后,可以开始实打实地创造一些有趣的案例了。在这篇博文里,我们将试着来学习如何读取Revit中一个重要的功能:墙体的参数信息以及如何修改墙体的参数信息。

通过这个小案例可以了解到Dynamo的“结点”,“连线”等基本概念,以及如何和Revit进行互动。还能够帮助大家在更加复杂的案例中运用这些小概念。具体的操作就看视频吧。

最终完成的Dynamo文件和Revit的模板可以在附件中找到:

RVT_DynamoBlog_A3_GetModifyWallParameter

DYN_DynamoBlog_A3_GetWallParameter

DYN_DynamoBlog_A3_ModifyWallParameter