2010-03-09

[script] Study [I]

Option Explicit
'Script written by
'Script copyrighted by
'Script version 2010年3月9日 下午 11:39:10

Call Main()
Sub Main()
    Call rhino.AddLayer("box",RGB(255,0,0))  (定義圖層顏色)
   
    Dim strobject,X,Y,Z (定義X,Y,Z)
    Dim arrcorn(7) (定義矩形八個點的位置)

   
    X = rhino.GetReal("put the length of X ",2)
    If (X<=0) Then Exit Sub
   
    Y = rhino.GetReal("put the wide of Y ",2)
    If (Y<=0) Then Exit Sub
   
    Z = rhino.GetReal("put the high of Z ",2)
    If (Z<=0) Then Exit Sub
   
    (控制XYZ的變因參數,小於或等於零即無效)


    arrcorn(0) = array(((-1*X)/2),((-1*Y)/2),0)
    arrcorn(1) = array(((X)/2),((-1*Y)/2),0)
    arrcorn(2) = array(((X)/2),((Y)/2),0)
    arrcorn(3) = array(((-1*X)/2),((Y)/2),0)
    arrcorn(4) = array(((-1*X)/2),((-1*Y)/2),Z)
    arrcorn(5) = array(((X)/2),((-1*Y)/2),Z)
    arrcorn(6) = array(((X)/2),((Y)/2),Z)
    arrcorn(7) = array(((-1*X)/2),((Y)/2),Z)
   

    strObject = rhino.AddBox (arrcorn)
    Call rhino.objectLayer(strobject,"box")

End Sub

[script] New toy [I]

Option Explicit
'Script written by
'Script copyrighted by
'Script version 2010年3月3日 下午 03:26:04

Call Main()
Sub Main()
   
    Dim strphere  (定義圓的中心點)
    Dim radius  (定義圓的半徑)
   
    radius = 20  (設定圓半徑為20)
   
    strphere = Rhino.AddSphere(Array(0,0,0),radius) 

    (設定圓的中心點,半徑)
   
    rhino.AddSphere array(20,20,0),10 

    (設定另一個圓的中心點,半徑)
   
End Sub

----------------------------------------------------------------
控制變因 改變圓的大小


Option Explicit
'Script written by
'Script copyrighted by
'Script version 2010年3月3日 下午 03:26:04

Call Main()
Sub Main()
   
    Dim addsphereobject,dblsize (定義有變數的參數)
   
    dblsize = rhino.GetReal("input the radius of the sphere",10)

    (設定輸入參數時的提問句子) 

    If (dblsize<=0) Then Exit Sub 

    (如果輸入參數數值小於或等於零即無效)
   
    addsphereobject = AddSphere(array(0,0,0),dblsize)


    (設定中心點,及可自行改變的參數)
   
End Sub


--------------------------------------------------------------
設定正方形體參數
Option Explicit
'Script written by
'Script copyrighted by
'Script version 2010年3月3日 下午 03:26:04

Call Main()
Sub Main()
   
    Dim strobject,height   ( 定義長方體高度 )
    Dim arrcorner(7)   ( 定義舉行的八個點由 0 到 7 )

   
    height = rhino.GetReal("input the size of the box",2)  

   (設定改變矩形高度參數提問句)

    If (height<=0) Then Exit Sub  

   (輸入參數小於或等於零即無效)
   
    arrcorner(0) = array(-20,-20,0)
    arrcorner(1) = array(1,-1,0)
    arrcorner(2) = array(1,1,0)
    arrcorner(3) = array(-1,1,0)
    arrcorner(4) = array(-20,-20,height)
    arrcorner(5) = array(1,-1,height)
    arrcorner(6) = array(1,1,height)
    arrcorner(7) = array(-1,1,height)
    (定義矩形各點的位置)
 

    strObject = rhino.AddBox (arrcorner)
    (從rhino呼叫box進入檔案)
End Sub


--------------------------------------------------------------
定義出一個正方體(同上)

Option Explicit
'Script written by
'Script copyrighted by
'Script version 2010年3月3日 下午 04:24:03

Call Main()
Sub Main()
    Dim strobject,dblsize
    Dim arrcorn(7)

   
    dblsize = rhino.GetReal("put the number of dblsize",2)
    If (dblsize<=0) Then Exit Sub
   
    arrcorn(0) = array(((-1*dblsize)/2),((-1*dblsize)/2),0)
    arrcorn(1) = array(((dblsize)/2),((-1*dblsize)/2),0)
    arrcorn(2) = array(((dblsize)/2),((dblsize)/2),0)
    arrcorn(3) = array(((-1*dblsize)/2),((dblsize)/2),0)
    arrcorn(4) = array(((-1*dblsize)/2),((-1*dblsize)/2),dblsize)
    arrcorn(5) = array(((dblsize)/2),((-1*dblsize)/2),dblsize)
    arrcorn(6) = array(((dblsize)/2),((dblsize)/2),dblsize)
    arrcorn(7) = array(((-1*dblsize)/2),((dblsize)/2),dblsize)
   
    strObject = rhino.AddBox (arrcorn)
End Sub

------------------------------------------------------------------------

Option Explicit
'Script written by
'Script copyrighted by
'Script version 2010年3月3日 下午 04:24:03

Call Main()
Sub Main()
    Call rhino.AddLayer("box",RGB(255,0,0))(控制圖層顏色)
   
    Dim strobject,dblsize
    Dim arrcorn(7)

   
    dblsize = rhino.GetReal("put the number of dblsize",2)
    If (dblsize<=0) Then Exit Sub
   
    arrcorn(0) = array(((-1*dblsize)/2),((-1*dblsize)/2),0)
    arrcorn(1) = array(((dblsize)/2),((-1*dblsize)/2),0)
    arrcorn(2) = array(((dblsize)/2),((dblsize)/2),0)
    arrcorn(3) = array(((-1*dblsize)/2),((dblsize)/2),0)
    arrcorn(4) = array(((-1*dblsize)/2),((-1*dblsize)/2),dblsize)
    arrcorn(5) = array(((dblsize)/2),((-1*dblsize)/2),dblsize)
    arrcorn(6) = array(((dblsize)/2),((dblsize)/2),dblsize)
    arrcorn(7) = array(((-1*dblsize)/2),((dblsize)/2),dblsize)
   

    strObject = rhino.AddBox (arrcorn)
    Call rhino.objectLayer(strobject,"box")
End Sub

-------------------------------------------------------------------------

Option Explicit
'Script written by
'Script copyrighted by
'Script version 2010年3月3日 下午 04:49:20

Call Main()
Sub Main()

    Dim j
    For j = 1 To 5 (定義 j )
       
        Call addbox(rnd*20) (自己循環20次)
       
    Next
   
End Sub

Function addbox (dblsize)

    Dim strobject
    Dim arrpoint(7)
   
    arrpoint(0) = array(((-1*dblsize)/2),((-1*dblsize)/2),0)
    arrpoint(1) = array(((dblsize)/2),((-1*dblsize)/2),0)
    arrpoint(2) = array(((dblsize)/2),((dblsize)/2),0)
    arrpoint(3) = array(((-1*dblsize)/2),((dblsize)/2),0)
    arrpoint(4) = array(((-1*dblsize)/2),((-1*dblsize)/2),dblsize)
    arrpoint(5) = array(((dblsize)/2),((-1*dblsize)/2),dblsize)
    arrpoint(6) = array(((dblsize)/2),((dblsize)/2),dblsize)
    arrpoint(7) = array(((-1*dblsize)/2),((dblsize)/2),dblsize)
   
    strobject = rhino.AddBox(arrpoint)
   
End Function