CATIA Hackathon背后的故事:教你做參數(shù)化LOGO
2019年度上海CATIA Hackathon 的 LOGO 使用了參數(shù)化的方法制作,采用未來輪轂的意向。中心的十字形輻條代表著溝通、交通,層層疊疊的設(shè)計體現(xiàn)出未來人際、人機(jī)交流的層層遞進(jìn)、無限深入。而邊緣圓盤上的漸變紋樣則隱喻速度與科技。
采用參數(shù)化的方法,還可以通過修改參數(shù)生成動態(tài)logo哦~
今天,小編就帶著大家著手使用 xGenerative Design 模塊制作一個參數(shù)化的 LOGO~
第一步 — 制作圓盤部分
1. 初步準(zhǔn)備
首先打開 xGenerative Design(以下簡稱XGD)干凈可人的界面
點擊「Design Sequence」或者「Specification」右邊的小鉛筆,打開線框圖界面。
p.s. Windows 系統(tǒng)下可以按「Win + 上/下/左/右箭頭」快速布局多個窗口。
2. 建立基礎(chǔ)圓盤
首先設(shè)置一個基準(zhǔn)點(點擊三維視圖空白處的上下文菜單、Construct 選項卡中以及線框圖界面左下角搜索欄搜索都可找到相關(guān)命令),如線框圖中所示選中節(jié)點,設(shè)置其 Z 座標(biāo)為 100 mm。由于之后我們不會修改其 x、y 參數(shù)的值,我們可以在選中節(jié)點狀態(tài)下單擊這兩個參數(shù),使之變成灰色。單擊線框圖空白處以取消節(jié)點選擇,如下圖所示,x、y 座標(biāo)便不再顯示。
這里的 Z 座標(biāo)我們之后可能還會修改,因此在取消節(jié)點選擇的狀態(tài)下,單擊 Z 的左側(cè)的小點,出現(xiàn)如圖所示的彈出窗口。單擊 100mm 右側(cè)的「+」號即可將其抽取出來作為變量。
我們最好對參數(shù)進(jìn)行有意義的命名,在此我將剛剛題取出來的參數(shù)命名為「Pt - Disc Height(圓盤高度)」。細(xì)心的你應(yīng)該也已經(jīng)注意到,我們將剛剛建立的參考點也命名成了「Pt - Peak Point(最高點)」。
本文的命名中,前綴 Pt = Point(點),Int = Integer(整數(shù)),F(xiàn)lt = Float(小數(shù)/浮點數(shù)),Crv = Curve(曲線),Srf = Surface(曲面),Pln = Plane(平面),Vol = Volume(體)。
使用「Circle Center Point」建立圓環(huán),以「Pt - Peak Point」為中心點。
命名為「Crv - Outer Circle」,其它參數(shù)的設(shè)置如圖所示。由于我們后續(xù)不需要修改其半徑與圓心角,因此在節(jié)點圖中我們將其隱藏(單擊使之成為灰色,如紅色箭頭所示)。
后續(xù)本文出現(xiàn)的節(jié)點也會隱藏不用的/不會改變的輸入輸出參數(shù),或是激活需要改變的輸入輸出參數(shù),如果發(fā)現(xiàn)不一致,依圖調(diào)整即可。
以原點 o 為中心點、xy 為 support 建立圓環(huán)「Crv - Inner Circle」。我們之后需要能夠修改其半徑,因此也將其提取出來。
選中剛剛建立的兩個圓環(huán),進(jìn)行放樣(Loft)得到「Srf - Disc」。
3. 建立紋樣
之后三個參考平面會變得有些礙眼,如圖所示將其隱藏。
先暫時以原點 o 或「Pt - Peak Point」建立四邊形,參數(shù)如圖所示。
如圖所示將其單軸縮放,得到基本的菱形。比例也是我們?nèi)蘸罂梢孕薷牡膮?shù),這里也將其提取出來。
現(xiàn)在我們希望紋樣放到它們應(yīng)在的位置。如上兩圖所示生成等差數(shù)列,并以結(jié)果作為 y 座標(biāo)、以「Flt - Disc Height」為 z 座標(biāo),建立點陣列「Pt - Pattern Unit Base(單元紋樣基準(zhǔn)點)」。將其替換之前作為四邊形原點的 o 或「Pt- Peak Point」,得到如圖所示的圖樣。
「Flt - Disc Height」是之前以建立的參數(shù)
陣列中有多少個小菱形我們之后也要修改,因此將 Sequence 節(jié)點的 nb 參數(shù)也提取出來。
如圖所示間隔旋轉(zhuǎn)菱形。
「Odd Even」節(jié)點可以將列表間隔分開,我們選取期中任意的一組進(jìn)行旋轉(zhuǎn)。旋轉(zhuǎn)的角度為 (360deg / 徑向數(shù)量) * 2。注意圖中「/」節(jié)點「Formula」一欄有公式。
如圖所示參數(shù)化修改菱形大小。
將曲線的輸出連到之前生成基礎(chǔ)四邊形的節(jié)點。
由于之后要進(jìn)行布爾運算,因此我們?nèi)鐖D所示擠出并加蓋。
如圖所示進(jìn)行環(huán)形陣列。
如圖所示,將開始生成的「Srf - Disc」偏移一個厚度。
如圖所示,先將旋轉(zhuǎn)得到的擠出紋樣合并,再用剛剛偏移出厚度的圓盤進(jìn)行布爾相減。
第二步 — 制作輻條
1. 建立框架線
如圖所示,調(diào)整為正交頂視圖,并以「Flt - Disc Height」為 z 座標(biāo)依次建立 4 個點,將其連成折線「Crv - Outer Frame」。
本文圖中的連結(jié)接順序為「左下 → 右下 → 右上 → 左上」,大家可以自行選擇順序,順時針逆時針也都可以。
以同樣順序、z 座標(biāo)歸 0 建立 4 個點,連成折線「Crv - Inner Frame」。
為了避免之后的重復(fù)勞動,我們使用「Build List」將二者合為一個列表,并且將之 Deepen。
之后本文中還會經(jīng)常用到 Deepen、Flatten 等列表操作,背后思路比較復(fù)雜,囿于篇幅限制本文暫時不作討論。熟悉 Grasshopper 的朋友應(yīng)該可以較快上手。
2. 建立偏移曲線
首先如圖所示,建立「Crv - Outer Frame」的 support plane「Pln - Outer Frame Support」。
再將其與 xy 平面「Build List」+「Deepen」,得到兩條折線的 support plane。
如圖所示設(shè)定兩條折線的倒角大小「Flt - Fillet Radius」與偏移距離「Flt - Offset Distance」。
Build List 之后記得 Deepen 哦
使用「Curve Parallel」節(jié)點進(jìn)行偏移,如上圖所示,得到如下圖所示的結(jié)果。
我們希望進(jìn)一步偏移最上面的邊。因此我們?nèi)鐖D所示「Disassemble」后「Get Item」得到最上面的邊。
最開始連接的順序不同,「Get Item」使用的 index 可能也不同。
設(shè)置額外偏移量「Flt - Extra Offset Distance」,使用「Translate Length Direction」節(jié)點將兩條線沿 y 軸偏移。
「Flt - Extra Offset Distance」的設(shè)置方法與之前倒角大小「Flt - Fillet Radius」與偏移距離「Flt - Offset Distance」相同。
由于之后要進(jìn)行剪切,為了確保相交,我們希望對偏移后的兩條曲線原位等比放大。為了保證「原位」,我們使用「Divide Curve」取得其中點「Pt - Edge Midpoint」作為縮放中心點,參數(shù)設(shè)置如圖所示。
放大三倍,理論上講應(yīng)該足夠了。
想要保證萬無一失的話,建議設(shè)置成 10000000000000 之類的數(shù)字
如前兩圖所示,使用兩個「Split」節(jié)點相互剪切,如果輸出的曲線不是你想要的,調(diào)整 Orientation 參數(shù)即可。
3. 倒角
之前已經(jīng)設(shè)置好倒角大小「Flt - Fillet Radius」與偏移距離「Flt - Offset Distance」,前者減后者得到偏移曲線的倒角大小。而如果偏移距離大于倒角大小,則會造成偏移曲線沒有倒角。因此,這里設(shè)置了一個最小倒角,如圖所示。
注意這里計算最小值的時候需要 Flatten。這種列表操作筆者習(xí)慣放到輸入輸出的 Node 欄,這樣「Tree」窗口中可以不受這些列表操作干擾。
如圖所示連接,得到倒角效果。由于沒有發(fā)現(xiàn)曲線倒角的命令,這里取了個巧,先將曲線向內(nèi)偏移倒角半徑大小的距離,再偏移回來即可得到倒角。
4. 插值
如圖所示連接,使用「Between Curve」生成插值曲線。
這里全是列表操作,就先略過了,大家可以試試有沒有更簡潔的辦法。
p.s. 這里如果不進(jìn)行 Disassemble 的話,插值會出現(xiàn)錯誤。
5. 收工
使用「Fill」填充。
旋轉(zhuǎn)陣列,收工。
p.s. 記得及時保存,恢復(fù)不一定能完全復(fù)原。
來源:達(dá)索系統(tǒng)
工程師必備
- 項目客服
- 培訓(xùn)客服
- 平臺客服
TOP




















