说明:
- Dynamo为开源项目,开源地址:https://github.com/DynamoDS/Dynamo.git
- 本文章使用版本:v3.0.3
范围
使用Range节点
start和end分别表示范围的边界,step表示步长。如下为[1,10]范围内步长为2结果
使用Code Block节点
在Code Block填写如下形式的代码
beginning..end..step-size;
1..10..2;
在范围内均匀生成指定个数的列表
使用形如如下代码,指示两者之间均匀分布多个值
beginning..end..#ofSteps;
1..16..#4;
使用Python脚本节点
可以编写python脚本代码来生成我们需要的列表,双击“Python Script”节点,开始编写代码。节点的“IN[index]”代表输入参数,OUT表示输出结果
其中Python Script的脚本如下:
import sys
start = IN[0]
end = IN[1]
step = IN[2]
result = list(range(start, end, step))
OUT = result
序列
使用Sequence节点
start表示序列的起点,step表示步长,amount表示生成序列的长度(数量)
使用Code Block节点
使用形如如下的代码来生成,“#”来指明我们希望列表中包含多少个值
beginning..#ofSteps..step-size
1..#5..2;
使用Python脚本节点
同理
应用举例
如下使用python脚本生成所需的列表,脚本如下:
import sys
dataEnteringNode = IN
start = IN[0]
end = IN[1]
step = IN[2]
a = list(range(start, end, step))
b = list(range(start + 1, end + 1, step))
res = [a, b]
OUT = res
使用list[0]和list[1]分别获取a和b的值,这里还使用内置函数“List.Count”统计列表的长度,列表的值用于确定三维模型的坐标位置和长度
最终在AnyCAD中显示生成的三维模型如下
参考
- https://primer2.dynamobim.org/v/zh-cn/8_coding_in_dynamo/8-1_code-blocks-and-design-script/3-shorthand
- Releases · DynamoDS/Dynamo (github.com)