
第 11 章 不只是水管
84
了 解 到 各 個 立 方 體 的 原 點 彼 此 都 相 隔
2mm。在第一種做法中這項資訊是隱藏
的,但到了第二種做法就相當明顯了。
圖 11-13
排成一列的六個立方體
您也可以指定不規則的數值範圍:
for (z = [-2
,
2
,
6])
{
translate([0, 0, z])
cube(size = 1, center = false);
}
這和上述範例有什麼不同呢?先前那個
項目以冒號分隔的 for 迴 圈中, 它 會根
據一個數值範圍來遞迴執行。在本範例
中,我們告訴軟體從 0(第一個值)數
到 10( 最 後 一 個 值 ), 每 次 累 加 2( 中
間值)。軟體就會畫出這些它應該運用的
數值(0,2,4,6,8,10)。當使用逗號來分隔
for 迴圈的數值時,這樣會要求軟體去使
用這些數值本身而非其他數值。在第二
個範例中,我們要軟體使用 2、2、6 這
三個數字,其他則不使用。
您還是能使用 translate 函式來移動一個
以上的物件,並用括號將多個指令包起
來:
translate ([5,0,0]) {
cube(1);
translate ([0,3,0])
sphere(1);
}
在 第 一 個 指 令 沿 著 X 軸 移 動 之 後, 請
注意我們是如何在產生球體之前先沿著
y 軸 移 動: 在 此 巢 狀 組 合(nest) 了 兩
個 translation 動作,一個在另一 個 之中
(
圖 11-14
)。
圖 11-14
同時移動立方體與球體
其他變 ...