|
|
2,制作準備
首先制作出一個籬笆所需要的幾個基本構件,分別制作出了樁、豎向桿件、縱向桿件共四個構件。制作完成后,把每個構建制作成組件,注意,不是群組,只有組件才能具有相應的屬性,而群組沒有。
要給每個組件起不同的名字,如上圖所示,我們給這四個組件分別命名為 Psot,Picket,TopRail,BottomRail。
最后全選所有的組件,再整個定義為一個組件,并命名為Fence。
3,為組件配置屬性
調出如圖所示的按鈕,在選中Fence組件的情況下點擊紅圈內的按鈕,查看組件屬性。
這就是組件屬性的對話框,可以看到,該表已經列出了我們剛才所做組件的名稱,但是展開組件名稱,并沒有相關的參數。因此,我們要根據實際需要來添加這些組件的參數。在本例中,主要是位置、大小(尺寸)兩項。
點擊+號后,軟件會自動提示對話框,直接點選即可。
點選添加位置屬性后,再添加大小(尺寸)屬性。
以此類推,重復此步驟,為每個組件都添加這兩項屬性。
請注意,每個屬性后面的數字代表著你建立組件的現狀情況,即每個組件的坐標,x,y,z方向的具體尺寸。
目前這些數字的顏色是灰色的,表示這些參數是可調整的,當你縮放組件時,這些灰色的數字會隨之變化。
4,通過函數控制屬性
這一步開始就比較重要了,仔細看好。
可能有相當一部分人看到函數兩個字就頭疼,但是這里需要我們掌握的函數是相當的簡單,類似于加減乘除的道理,很好理解,繼續:
因為我們通常會希望籬笆變長(沿X軸方向)、變高(沿Z軸方向),而不是變厚(沿Y軸方向)。所以我們對Y軸上的參數進行限制。
在本例中,LenY 項的原參數是10cm,這代表籬笆的厚度是10cm?,F在要做的是:把10cm刪掉,填寫 =10,然后按TAB鍵確認改動。
請注意,這時10cm 就顯示為純黑色了。這就代表,籬笆的整體厚度,Y軸方向的尺寸被限定住了,有興趣的話這時就可以自己沿Y軸縮放一下試試。
接下來要分別定義每個構件的參數屬性了,比如籬笆樁,在任何情況下,我們都希望它的尺寸是固定的,因此要在每個參數前加上"="。注意這時數字后不要帶單位。
同樣的要定義TopRail和BottomRail的參數屬性,但這里有些不一樣,要想實現我們一開始提到的效果,這兩個構件的X軸的尺寸應該是可變的。
到這一步,就可以再測試一下了,拉伸組件,我們發現只有橫向的桿件被拉伸了,其他的構件尺寸都沒有任何變化^-^
不過也先別急著高興,下面還有更重要的:縱向桿件(Picket)的重復。
首先在Fence組件屬性的后面添加一個自定義的參數。即重復間隔,我們命名為spacing。
后面的值我們定義為2。(圖中所示為20,間距過大,后根據實際情況調整為2合適)
在Picket的屬性欄里添加一項行為屬性 Copies。表示該組件允許被復制,Copies后跟的數值是指被復制的個數。
那么,應該怎樣表達出這個被復制的個數呢?
這里我們提供了一行公式來表達這個數字
=(TopRail!LenX)/(Picket!LenX+Fence!spacing)-1
= 意味著后面的數字是被(公式)控制的
后面的一段實際上就是一段普通的數學表達式
翻譯為
TopRail的X長度 除以 (Picket的X長度+剛才定義的間距) -1
這樣應該就明白了,長度 除以 等分距離 再減掉一根。就是Picket所應存在的根數了
除了限制Picket存在的根數,Picket被復制后,它的位置也有了變化。這里只有在X軸上,Picket的位置才有變化,所以我們要為X軸的位置參數寫一段數學表達式:
=12+COPY*(Fence!spacing+LenX)
如果明白了上面公式的含義,這段公式應該也很容易理解。
(值得一提的是:在整體組件Fence的屬性中,位置參數是相對與Su的世界坐標系,而Fence中的分組件Picket等,坐標系都是相對值)
5,調試完成
至此,我們的動態組件(籬笆)就完成了,看看是否達到了預期效果?
大功告成了^-^ |
贊賞
-
3
查看全部評分
-
|