Dynamo中的输入全能型节点"code block"最全解析

定义:"code block"节点是Dynamo提供的允许直接编写DesignScript的输入节点。称之为全能输入全能型节点,是因为可以输入数字、字符、列表、函数命令等。。

调用:鼠标在工作控价双击即可调用。

Dynamo中的输入全能型节点

我们接下来做一个详细的举例说明。

输入数字

"code block"节点,若要输入数字,可以直接输入数值,节点可以直接识别。

Dynamo中的输入全能型节点

输入字符

在Dynamo中,数据分为两种,一种是数值,另外一种就是字符,要在"code block"节点中输入字符,则需要在输入内容上加上引号,注意一下,是英文的引号。

Dynamo中的输入全能型节点

创建列表

"code block"节点可以快速创建列表。

使用[]可以创建任意的列表,如图所示的数字列表和字符列表。注意这是最新版本revit2020的Dynamo的变化,以前的版本的采用{}来创建列表。

Dynamo中的输入全能型节点

Dynamo中的输入全能型节点

数字列表也是一样。

Dynamo中的输入全能型节点

其可以代替"range""sequence"节点创建递增和递减数值数列。创建的数列的方法有很多种,"数值..数值..数值""数值..数值..#数值""数值..#数值..数值"。第一个数值是起始值,第二个数值为最终值,第三个数值表示间距,#数值表示个数或者叫做项数。感受一下列的几个例子。

Dynamo中的输入全能型节点

创建多维度列表

使用()引入上述列表替换数值,则可以创建多维列表,如下图。

Dynamo中的输入全能型节点

当然不仅仅是限于替换第一个数据,其他的数据会表现出其他的结果。

可以将各列表合并成多维列表,类似于"list.create"的功能等。

Dynamo中的输入全能型节点

执行节点命令

Dynamo的节点分为创建、行动、询问三大类,绝大部分节点都是由两部分组成,如下图。

Dynamo中的输入全能型节点

使用"code block"节点怎么调用类似于上面节点呢?如下图:

Dynamo中的输入全能型节点

"code block"节点,可以简化流程,相对来说,更加方便和直观。

在"code block"节点中输入命令,其联想功能会自动打开下拉列表,列出所有相关联的命令,提供给用户选择。合理的使用"code block"节点简化程序,是dynamo提供给用户进行可视化编程的另一种优化思路。

定义函数(该例子来源于dynamo基础教程)

"code block"节点的另外一个用法,是由简单的语句创建函数命令,也称之为自定义函数。使用自定义函数能大量的减少重复性任务的编程,提高工作效率。自定义函数有特定的语法,首行需写入"def自定义函数的名称(未知数)",第二行开始对自定义函数进行定义,即编写运算过程。末尾需用"return"语句,将函数中运行的结果返回,作为输出项。注意,函数的定义内容需要在首尾使用{}。

如图,创建的自定义函数名称为CreateCircle,未知数包括x和y。函数所执行的命令包括3个步骤。

a 命名半径为10的值,作为圆的半径r1;

b创建坐标点p1(x,y);

c由坐标点p1和半径r1创建圆c1.

将c1的运算结果返回,作为输出项。完成此步编辑后,并未创建出圆,而是创建了一个函数命令。所以此时,我们可以使用另一个"code block"节点调用上一步骤中创建的CreateCircle函数,输入x和y的值,创建一个圆心在(x,y),半径为10的圆。

Dynamo中的输入全能型节点


分享到:


相關文章: