NotOnlyCode / NOC

關於部落格
an open platform for discussing about the generative design on Rhinoceros
  • 4991

    累積人氣

  • 0

    今日人氣

    0

    訂閱人氣

02=Introduction to RhinoScript (Syntax)

        在瞭解 Marcos 與 Scripts 之間的差別之後,我們首先開始來介紹一點簡單的「語法」(syntax)。在電腦程式語言中的語法,其實就跟我們學英文或其他外國語言一般,我們需要背單字也需要學文法,而在此的語法就有點像是文法。因此,語法就是一種「成套」(a set)的規則組合。於是乎,當然也就會有所謂合法與不合法的語法,只不過,一般日常生活中,如果我們說出不合文法的語句,人基本上還可以透過上下文來猜懂。但是,電腦就沒這麼聰明了,如果我們寫出不合語法的命令列,電腦不但不會去猜,根本就不理會,只會告訴我們:「描述方式有誤」、「語法不合規定」等警告句,告訴我們必須回頭去檢查到底是哪句命令列說錯了。
        RhinoScript 所使用的VB語言的語法基本上算是簡單的,已經非常接近日常的口語,這算是非資訊背景使用者的一大福音(版主也是這兩個月才真的開始學程式)。所以,以下我們就來簡單說明一下在Rhino中會用到的幾種基本語法。
        如果我們要畫一條線,我們大概會這麼說:「畫一條線,起點在座標(0,0,0)的位置,端點在(10,0,0)的位置。」同樣地,在Rhino的Marco命令列我們可以這麼下指令(請開啟ToolsCommandsMarco Editor):


                _Line 0,0,0 10,0,0

        然而,如果我們不是在Marco中,而是在Script的環境下(請開啟ToolsRhinoScriptEdit),會有兩種說法。一種就像是直接在Rhino工作介面中的Command列下指令一般,可以這樣講:

                Rhino.Command "_Line 0,0,0 10,0,0"

        另一種講法,則是呼叫RhinoScript中內部建構的許多Methods(超過200種),所以我們應該寫成:

                Call Rhino.AddLine(Array(0,0,0), Array(10,0,0))

        基本上,本文的目的不在於將所有指令或者Rhino內建的Methods解說完畢,用意只在於很簡單地說明在電腦語言中的語法與日常用語中文法的關係。差別只在於,「電腦還挺很忠心的,我們叫他做啥,他就會做啥」(這是陳教授的名言之一)。所以,如果指令下了,Rhino卻沒反應,決不是Rhino有錯,趕緊回頭檢查自己的命令列是否下錯了。
        此外,如果要詳細瞭解VB的語法可以參考網路上的Microsoft教學手冊,可以免費下載並且有中文版。如果想詳細瞭解RhinoScript中所有Methods的語法,請開啟 HelpPlug-insRhinoScript,這裡頭詳細記載了每個Mehods的用途、語法以及回傳 (return)值等說明,當然,如果各位不心急的話,之後我們也會一一提到。

相簿設定
標籤設定
相簿狀態