利用 Grasshopper Firefly 控制 Arduino 教學 (8) -使用光敏電阻控制Rhino裡的蓮花模型開闔

10007467_906654829356118_3550842165263915904_n

這是在Grasshopper+Firefly+Arduino環境下,使用光敏電阻控制兩朶 Rhino 裡的蓮花開闔動作,是一個以實體感測控制虛擬模型的範例。我們分成 (1) Rhino模型建構指定 (2) Arduino 電路 (3) Grasshopper-Firefly 編寫三個部分來講解。

繼續閱讀 “利用 Grasshopper Firefly 控制 Arduino 教學 (8) -使用光敏電阻控制Rhino裡的蓮花模型開闔"

Grasshopper 教學 Firefly 外掛-使用可變及光敏電阻來控制參數式杯體模型 Variable Glass.

10996553_906683609353240_7557041085240028383_o

這個案例是參考 Variable Glass ,是一個 Firefly 利用 Arduino 由簡單電阻實體裝置取得參數來控制 Rhino 裡的多邊形螺旋杯體模型,最後以3D列印製成實際產品。個人相當欣賞這個案例,為了讓想知道如何完成的人能夠了解做法,因此把細節解說於本文,需要具備Rhino以及Grasshopper的基本操作能力,關於Firefly的基本操作請見前文一,並需要準備一個Arduino UNO板以及電阻、跳線、麵包板等材料。(註:原作為 Scott Mayson 博士,現為澳洲RMIT工設系教師,其興趣包括積層製造及開放製造資源研究,參考案例為他於 RCA 參加 2013年香港理工舉辦的 Include Asia 研討會的論文,原作影片 https://vimeo.com/69073413。)  繼續閱讀 “Grasshopper 教學 Firefly 外掛-使用可變及光敏電阻來控制參數式杯體模型 Variable Glass."

如何在 Grasshopper 編寫網格列印用 G-code 產生器初探(未完)

螢幕快照 0027-04-01 23.19.33    這篇要講的是如何在 Grasshopper 裡編寫特殊的 G-code 產生程式,可用來讀取曲線或曲面架構並產生可被Reprap列印出來的G-code,其目的並不是要做到一般切片軟體的功能,也不是以實體mesh模型為處理對象。而這給予設計者更大的發揮空間以及對3D列印機更多的運用方式。 繼續閱讀 “如何在 Grasshopper 編寫網格列印用 G-code 產生器初探(未完)"

Grasshopper on Rhino 6 教學 01:簡介、下載安裝及選單界面.

圖片スクリーンショット 0026-11-25 19.55.38

配合 Rhino V6 於2018上市以及官網教材2014年第三版釋出,我將陸續更新 2012 年 workshop 期間所寫的基礎教學。這幾篇教學當時是為了快速讓 workshop 學員在最短時間內入門Grasshopper,因此以僅教授最必要部分,這個策略獲取不錯的效果,且這些文章一直有相當穩定的瀏覽流量,之後便隨著 Grasshopper 版本持續更新這些教學。回想起 2010 年剛開始學 Grasshopper 時,雖然網上巳經滿是各種範例和教學 video,但缺乏基礎的話,根本很難理解如何從重建這些模型中了解其功能和價值. 再者是遇到許多初學者受限於有限的英文閱讀而無法入門這個強大的設計工具, 希望藉由中文教學讓華語圈更多對 Grasshopper 有興趣的初學者能一窺堂奧。 繼續閱讀 “Grasshopper on Rhino 6 教學 01:簡介、下載安裝及選單界面."

Grasshopper on Rhino 5 教學 02: 元件介紹、狀態判讀

スクリーンショット 0026-11-26 9.55.42

何謂元件及如何與Rhino互動

     這一篇我們將先釐清 Rhino 及GH的運作關係。有看過GH檔案的人,大概就知道它是由選單裡拉出來很多不同功能的“元件”(Component)來組成程式,我們再以上一篇提到的圓柱生成程式為例, 如上圖右側,由6個元件來組成,形成可參數化圓柱,這些元件由左側開始代表的意義是:一個點元件被指定為圓元件的圓心,並以半徑為4 形成一個圓,再以Z軸方向長出高度4的圓柱曲面,然後加蓋成實體圓柱,最終的紅色模型產生在Rhino的視窗裡,若我們變更參數4就能立即變化這個圓柱的直徑及高度。

GH元件有數百種並具有各自的功能,就如同 Lego 積木,各自有不同特性和作用, 這些元件以線條互相連結後形成輸出入的關係,且形成一個流程來處理數據或Rhino模型。

繼續閱讀 “Grasshopper on Rhino 5 教學 02: 元件介紹、狀態判讀"

Grasshopper on Rhino 5 教學03:指定Rhino物件與元件連結

了解元件的功能和外觀後,我們就可以做一些簡單練習,並且大概了解一下Grasshopper與Rhino 之間如何運作。GH裡大部分元件都需要得到輸入值才能運作,而最起始的元件有幾種類型,包括:(1) 從Rhino裡指定既存物件,(2) 具有產生數值的功能,而這些元件大部分都在Params分類選單中,可稱為參數元件如上圖紅框所示,如Geometry群就是能夠指定Rhino方面物件的元件,Input群則是具有產生數值功能的元件。

繼續閱讀 “Grasshopper on Rhino 5 教學03:指定Rhino物件與元件連結"

Grasshopper on Rhino 5 教學 04:元件參數輸入方式及參數遙控面板

元件要產生作用依賴的是輸出入連結,而元件的輸入端可以接受的有幾種內容,包括:

(1) 指定 Rhino 物件:即上一篇示範的選取Rhino中的點線面物件給元件的輸入值。

(2) 使用Parameter 或 Input 元件來提供輸入參數:所謂 Input 元件指的通常是Slider滑條元件或Panel 便條紙元件,你可以控制它們來產生一個數值給下一個元件。而 Input 元件種類相當多,如下圖,在選單第一大項Parameter裡有各種能自我產生數值的元件.

(3) 連接前一元件的輸出內容:這只能產生在前兩種元件建立之後,才有數據可連結。

スクリーンショット 0026-11-28 9.50.33

在GH模型建構的開始,我們並沒有任何既存元件可提供輸出值,因此使用前兩項指定Rhino物件的 Geometry 元件和使用 Input 元件是最常見的方式,而這篇我們要講的是第二種的參數 Input 方式,下面我們透過簡單例子來說明。我們延用上次的兩點定線例子,利用其他元件來延續這個處理過程,例如既然我們有線段資料(來自Ln),就能使用offset元件來產生另一條偏移線段;或者是利用這段線來拉出(extrude)一個曲面,如此大家可以了解元件是如何一個接一個地開始工作。

繼續閱讀 “Grasshopper on Rhino 5 教學 04:元件參數輸入方式及參數遙控面板"

Grasshopper on Rhino 5 教學 05:檔案格式說明、Group 功能、以及使用Bake生成Rhino可用物件

螢幕快照 0027-10-29 15.32.58

GH及 3DM 檔案配合說明

         到這邊各位應該巳有製作GH檔案的需求,這一篇要講的是GH的檔案格式、差異以及如何轉化GH物件到Rhino裡使用。

繼續閱讀 “Grasshopper on Rhino 5 教學 05:檔案格式說明、Group 功能、以及使用Bake生成Rhino可用物件"

Grasshopper on Rhino 5 教學 06:簡單案例﹣Parametric Table

概觀

     在簡單了解GH元件如何連結以產生作用以及在Rhino生成實體的概念後,我們現在透過簡單例子來了解更多的元件如何銜接並逐漸形成具體的模型,這個例子還不會用到複雜數據傳遞,且大致與Rhino建模相似。我們運用GH的目的在於更快地瀏覽模型可能的變化性及組合排列,所以在開始使用GH之前,建議先思考以下事項:

  • 這個模型有哪些必要的參數?一個模型的參數可能有多達十個,甚至更多,如何減少參數相當重要。某些參數之間具有製造或物理上的關聯,你要盡可能地共用和連動這些參數,使你的模型有基本的智慧,你或許需要增加幾個元件作數據連動處理,但減少一個Slider對後續調校效率有很大幫助,不要設太多獨立Slider來一一控制它們,因為它們可能會互相產生謬誤。
  • 你希望透過怎樣的方式“有效率地”來變化這個模型?除了Slider以外,直接透過Rhino裡的參考物件也可以控制GH模型,而且更加視覺化,但Slider又適合具體準確數值的輸入,因此請仔細思考每個參數最適切的表現及控制形式。

繼續閱讀 “Grasshopper on Rhino 5 教學 06:簡單案例﹣Parametric Table"