建立巨集(Macros)基礎教學(與Rhino指令一起的腳本)

文章推薦指數: 80 %
投票人數:10人

這裡所說的“巨集”指的是在Rhino中將一連串Rhion指令及其選項串聯起來,變成一個自動執行的功能。

這裡用的是最簡單的“腳本”,任何Rhino使用者都接觸得到,即便他們對程式 ... McNeelWiki SiteTools Search ToolsShowpagesourceOldrevisionsRecentChangesMediaManagerSitemapLoginwithRhinoAccounts> Sidebar Sitemap RhinoforWindows RhinoforMac Bongo Flamingo Training&Certification DeveloperTools Zoo CloudZoo AdminLoginwithRhinoAccounts endeesfritjakozhzh-tw 建立巨集(Macros)基礎教學(與Rhino指令一起的腳本) 介紹 在Rhino裡建立巨集可以一次執行很多任務,包括定義命令或是改善工作流程。

“腳本”這個詞有可能造成一些困惑。

腳本被使用在描寫巨集以及編寫更多複雜的RhinoScript或是其他程式語言。

這兩樣其實非常不同。

編寫“RhinoScript”功能或是其他程式語言比建立巨集更加複雜,而且需要更多有關程式語言的知識跟技巧。

關於那一方面我們不在此討論。

這裡所說的“巨集”指的是在Rhino中將一連串Rhion指令及其選項串聯起來,變成一個自動執行的功能。

這裡用的是最簡單的“腳本”,任何Rhino使用者都接觸得到,即便他們對程式語言並沒有很深的了解。

只要稍微懂得Rhino指令還有結構,加上合乎邏輯的腦袋,還有一點實驗精神就可以完成了。

所需要的工具: 你的腦袋 Rhino的Help檔-是Rhino所有指令以及子選項的列表,也是你最重要的參考來源。

Rhino巨集編輯器(MacroEditor),可以讓使用者輕鬆使用或是調整巨集。

您曾經用過一兩個巨集 Rhino使用者可能不知道自己已經使用過巨集了。

很多Rhino裡的指令已被寫成“巨集”,所以當您點選工具列上的按鈕或是從功能表單叫出某個指令,那就是一個已經設定好的“巨集”。

現在,按下shift並在直線擠出上按右鍵。

這是一個簡單巨集的案例,只要用一個指令就可以設定好一連串的選項,所以不用每次用到此功能就要註明很多設定。

ExtrudeCrv有幾個“預先設定的選項”的按鈕,Tapered,AlongCurve,ToPoint,Cap=Yes(solid)等等。

查看ExtrudeCrv按鈕來檢視到底是如何布局的。

這有點像您在下指令的時候按或是輸入選項,一次一個。

事實上巨集不過就是這樣的東西而已,是一組指令重複序列,不建立巨集的話,您只能手動輸入一個個的指令。

一個單一指令的腳本選項可能與數據組合(比如座標或是其他數據資料)。

也可以將數個指令串聯在一起,就是把操縱或是建立物件的““事件”自動排序。

註:為何用下底線_?下底線告訴Rhino,無論在任何語言環境下執行Rhino,接下來的指令是英文,這樣的巨集不管在何種語言環境下都可以使用。

如果您已經在英文環境下作業,在不造成其他影響的情況下,可以消除下底線(_)。

為什麼要用驚嘆號(!)?為安全起見,這可以取消前一個在運作的任何指令。

入門 假設你已經把一連串10x10x10的方塊底部放置在想要位置的中心,那個中心點可以經由滑鼠在想要的位置點一下,或是用鍵盤輸入座標來設定。

使用者可以使用立方體指令(角對角加高度),但在預設值裡,插入點將會被放置在立方體的第一個角。

要把插入點放在使用者想要的地方,使用立方體還有居中的指令會比較簡單。

事實上這只是立方體指令加上居中的選項,所以在巨集裡,使用者需要啟動此功能。

開啟巨集編輯器,鍵入以下指令: !_Box_Center 這是立方體底下的巨集,底部居中 所有輸入(指令或是數據輸入),都必須要有一個空格隔開。

現在我們需要定位中心點。

要完成這個任務,Rhino被告知暫時停止處理指令,直到使用者用滑鼠點選或是用鍵盤輸入座標。

這是藉由”暫停“(Pause)命令來達成的。

!_Box_Center_Pause 只要輸入數據,就可以直接用指令來指定正方體的尺寸。

既然立方體居中選項需要一個立方體的角來做第二個輸入,我們就可以指定它的X,Y座標: !_Box_Center_Pauser5,5 (為什麼要用”r“?我們希望這個座標是最後一個選取的點,也就是立方體底部的中心。

不然立方體的角永遠都會落在X5,Y5) 此時我們可以加入高度,在此案例中大概是原來的起點。

!_Box_Center_Pauser5,510 由於並沒有進一步輸入的需要,巨集到此完成,正方體也完成。

請注意因為我們希望正方體的長寬相等,有另外一種可能性是直接按Enter,而不是最後輸入的”10“。

!_Box_Center_Pauser5,5_Enter 現在巨集運作中,而且您也挺滿意的。

製作一個新的工具列按紐並且將巨集貼進去,再給它一個好認的名字,比如“10x10x10bottomcenteredbox”。

只要巨集被執行過一次,以後只要按右鍵,就會自動執行,而無須每次點擊按鈕。

較複雜的巨集 有些指令可以叫出有許多選擇的對話框,這通常會讓巨集停止,等到使用者點選所需選項才會繼續運作。

既然使用者希望能夠自動完成巨集所執行的任務,那麼可以用-(破折號)來跳過之前出現的對話框。

使用者用腳本寫入選項,巨集就會自動運作完成。

有些指令有好幾層的子選項,如果你想要知道有哪些,在指令欄鍵入指令加上-(破折號),點擊選項就可以查看。

放樣兩個開放曲線 如果你想要重複放樣兩個開放的曲線來組成一個曲面。

用Loft指令的話,你還是需要點選一些對話框。

如果使用-Loft,就可以避開對話框,效率也比較好。

來看看以下的例子。

_-Loft _Pause _Type=_Normal _Simplify=_None _Closed=_No _Enter 要注意的是該命令暫停時,您挑選所需的曲線後,立即就會執行。

如果這個暫停被拿掉,當您尚未挑選曲線時,巨集也不會繼續進行。

如果您事先選擇了曲線,那麼這個暫停將自動被忽略。

接下來這個指令會繼續設置您指定的所有選項,並且完成曲面。

試試看用兩個開放曲線,不管是事先或是之後才選取。

嘗試修改其中一個或是多個選項,比如Closed=Yes或是Simplify=Rebuild(對於這一點您必須加上Rebuild=20或是其他數值。

) 修改以作為封閉曲線使用 現在試試看兩個封閉曲線。

您將會碰到問題,為何? 關於封閉曲線,放樣(Loft)需要使用者輸入接縫的位置,在執行巨集時必須被指定在正確排序。

所以您可以從之前自動跳出的選項中挑選接縫值(在子選項),也可以在螢幕上調整。

不管用哪個方法,您都需要對巨集做出修改。

在適當的地方加入暫停,讓使用者能有足夠的時間檢查並對螢幕上的接縫作出調整。

_-Loft _Pause _Pause



請為這篇文章評分?