說明:
- 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)