完善主体资料,免费赠送VIP会员!
* 主体类型
* 企业名称
* 信用代码
* 所在行业
* 企业规模
* 所在职位
* 姓名
* 所在行业
* 学历
* 工作性质
请先选择行业
您还可以选择以下福利:
行业福利,领完即止!

下载app免费领取会员

NULL

5cdd2dc095060.jpg

Dynamo样例文件解析之Core_Python

发布于:2019-08-13 15:33:32
首页/技术分享/Dynamo
收藏
6455

朱光旺

更多

该样例文件主要是介绍Dynamo中节点Python Script的简单应用。

1、指定一个规则,让输入列表的索引项依次相加或者依次相减。

1.1 节点Integer Slider可以生成三个数字-1、0和1。

1.2 节点Code Block输入公式“0..10”,生成一个列表{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}。

1.3 调出节点Python Script,双击节点面板进入编辑模式。

1.4 第9行和第10行分别定义两个变量,一个是sign将会继承输入端IN[0]的值,另一个是nums将会继承输入端IN[1]的值。

1.5 第12行新建一个空的列表partials。

1.6 第13行新建一个变量result,并赋值为0。

1.7 第16行创建一个for循环,循环的次数是列表nums的索引项数量。

1.8 循环的过程中,第17行进行第一种判断。如果sign的值小于0,那么将result的值更新为result加上列表的索引项。该索引项取决于进入循环时index的值。最后将结果放进列表partials中。

1.9 循环的过程中,第20行进行第二种判断。如果sign的值等于0,那么列表partials中的值就添加一次0。然后通过continue命令回到循环的开头,直到循环结束。

1.10 循环的过程中,第23行进行第三种判断。如果sign的值大于0,那么将result的值更新为result减去列表的索引项。该索引项取决于进入循环时index的值。最后将结果放进列表partials中。

1.11 第29行将OUT定义为一个空列表。

1.12 第30行为列表OUT添加变量result的值。

1.13 第31行为列表OUT添加列表partials的值。

2、经过步骤1.12和1.13之后,列表OUT中有两个子列表,通过节点List.GetItemAtIndex提取出来。

2.1 节点List.GetItemAtIndex可以获取列表中指定的索引项,输入端index输入0时提取第一个子列表,输入端index输入1时提取第二个子列表。

3、通过Python Script导入ProtoGeometry库之后就可以想Code Block一样执行节点的命令。

3.1 第7行和第8行分别生成了两个点,坐标为(0, 0, 0)和(-10, -10, -10)。

3.2 第10行在第7、8行的基础上,通过两点创建了一条直线。

3.3 第12行新建了一个列表,列表中存放着五个点,分别为点(0, 0, 0)、点(10, 10, 0)、点(20, 0, 0)、点(30, 10, 0)和点(40, 0, 0)。

3.4 第19行创建一条样条曲线,构成样条曲线的点就是步骤3.3中的点。

3.5 第21行创建一个曲线,曲面是通过拉伸曲线来实现的,拉伸方向是向量(0, 0, 1),拉伸距离为10。

3.6 将输出的对象OUT定义为一个列表,这个列表由三个对象组成,第一个是直线,第二个是曲线,第三个是曲面。

3.7 节点Code Block分别提取列表的三个对象,并且每一个对象各连接一个Watch节点查看结果。

本文版权归腿腿教学网及原创作者所有,未经授权,谢绝转载。

未标题-1.jpg

上一篇:Dynamo样例文件解析之Core_PassingFunctions

下一篇:Dynamo样例文件解析之Core_RangeSyntax