建立巨集(Macros)基礎教學(與Rhino指令一起的腳本)
文章推薦指數: 80 %
這裡所說的“巨集”指的是在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
延伸文章資訊
- 1巨集簡介
... 使用到的另一個前置處理器指令是 #define ,它本質上是個字串取代(或說為擴展、展開),例如: #define LEN 10 int arr[LEN];. 被定義的內容稱為巨集(Ma...
- 2MACRO Menu 巨集程式編輯手冊
巨集程式編輯手冊. Evertech Electronics Ltd. October, 2004. 4. MACRO 指令. 1. SEQ {xxxxx}. 這個指令是將系統預先設定的資料檔案...
- 3[C 語言] 程式設計教學:如何使用巨集(macro) 或前置處理器 ...
前言前置處理器是在C 或C++ 中所使用的巨集(macro) 語言。嚴格說來,前置處理器的語法不是C ... 下列的範例指令將程式碼前處理後,用 indent 程式以K&R 風格重新排版:.
- 4建立巨集(Macros)基礎教學(與Rhino指令一起的腳本)
這裡所說的“巨集”指的是在Rhino中將一連串Rhion指令及其選項串聯起來,變成一個自動執行的功能。這裡用的是最簡單的“腳本”,任何Rhino使用者都接觸得到,即便他們對程式 ...
- 5MACRO(呼叫巨集) - IBM