我的犀牛教程_第1頁(yè)
我的犀牛教程_第2頁(yè)
我的犀牛教程_第3頁(yè)
我的犀牛教程_第4頁(yè)
我的犀牛教程_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

華軒集團(tuán)東莞華軒內(nèi)部Rhino+Grasshopper培訓(xùn)課程

授課人:王俊雄

釋放您的思維前言目錄第一講:Rhino屬性設(shè)置與基本操作(4課時(shí))第二講:RhinoScript編程(16課時(shí))第三講:Grasshopper控件編程(10課時(shí))第一講:Rhino界面和操作1.1Rhino4.0操作界面:1.2Rhino屬性設(shè)置:視圖窗口與物件顯示模型Rhino選項(xiàng)設(shè)置圖層與物件屬性1.3

Rhino物件創(chuàng)建點(diǎn)物件曲線曲面多重曲面實(shí)體1.4

編輯曲線與曲面曲線組合與炸開修剪與分割重組曲線重組曲面1.5高級(jí)工具集從物件建立曲線套用UV線,沿曲面流動(dòng)從3D模型建立2D圖圖片實(shí)例犀牛模型1.6

鋁板建模實(shí)例操作1)試飛院工程2)黃河樓3)林和村4)龍湖西苑15)龍湖西苑26)哈爾濱大劇院第二講:RhinoScript編程2.1

VB常用數(shù)據(jù)類型String數(shù)據(jù)類型字符串Integer數(shù)據(jù)類型

整數(shù)Long數(shù)據(jù)類型

長(zhǎng)整數(shù)Single數(shù)據(jù)類型單精度Double數(shù)據(jù)類型雙精度Boolean數(shù)據(jù)類型(布爾)真假2.1.1字符型數(shù)據(jù)String

字符型數(shù)據(jù)(String)用以定義一個(gè)字符序列。在內(nèi)存中一個(gè)字符用一個(gè)字節(jié)來(lái)存放。2.1.2數(shù)值型數(shù)據(jù)數(shù)值型數(shù)據(jù)包括:整型、長(zhǎng)整型、浮點(diǎn)型(單精度和雙精度)4種。

(1)整型數(shù)整數(shù)(Integer):是不帶小數(shù)點(diǎn)、范圍-32768到32767之間數(shù),在內(nèi)存中用2個(gè)字節(jié)(16位)來(lái)存儲(chǔ)一個(gè)整數(shù)。在-32678~32767之間的一個(gè)數(shù)字在尾部加一個(gè)“%”符號(hào)也表示一種整型數(shù)據(jù),如1345%,-67%。

(2)長(zhǎng)整型數(shù)長(zhǎng)整型數(shù)(Long):是超過(guò)一32768~32767范圍,而在-2147483648~2147483647之間的不帶小數(shù)點(diǎn)的數(shù),一個(gè)長(zhǎng)整數(shù)在內(nèi)存中占4個(gè)字節(jié)(32位)。在-2147483648~2147483647之間的數(shù)字在尾部帶一個(gè)“&"符號(hào),也表示為一個(gè)長(zhǎng)整數(shù)。

(3)浮點(diǎn)數(shù)單精度數(shù)(Single):是帶小數(shù)點(diǎn)的實(shí)數(shù),有效值為7位。在內(nèi)存中用4個(gè)字節(jié)(32位)存放一個(gè)單精度數(shù)。通常以指數(shù)形式(科學(xué)記數(shù)法)來(lái)表示,以“E"或“e”表示指數(shù)部分。雙精度數(shù)據(jù)(Double):也是帶小數(shù)點(diǎn)的實(shí)數(shù),有效值為15位。在內(nèi)存中用8個(gè)字節(jié)(64位)存放一個(gè)雙精度數(shù)。雙精度數(shù)通常以指數(shù)形式(科學(xué)記數(shù)法)來(lái)表示,以“D"或“d”表示指數(shù)部分。2.1.3布爾類型

布爾類型(Boolean):布爾型數(shù)據(jù)是一個(gè)邏輯值,也稱邏輯類型,用兩個(gè)字節(jié)存儲(chǔ),它只取兩種值,即True(真)或False(假)。2.2常用轉(zhuǎn)換函數(shù)和數(shù)學(xué)函數(shù)2.2.1類型轉(zhuǎn)換函數(shù)Int(x):求不大于自變量x的最大整數(shù)Long數(shù)據(jù)類型。

Cstr(x):把x的值轉(zhuǎn)換為一個(gè)字符串。

Cint(x):把x的小數(shù)部分四舍五入,轉(zhuǎn)換為整數(shù)。CDbl(x):把x值轉(zhuǎn)換為雙精度數(shù)。

CSng(x):把x值轉(zhuǎn)換為單精度數(shù)。2.2.2數(shù)學(xué)函數(shù)

Sin(x):返回自變量x的正弦值。

Cos(x):返回自變量x的余弦值。

Tan(x):返回自變量x的正切值。

Sqr(x):返回自變量x的平方根,x必須大于或等于0。2.3控制結(jié)構(gòu)2.3.1條件語(yǔ)句

格式:If

條件語(yǔ)句

Then執(zhí)行語(yǔ)句

Else執(zhí)行語(yǔ)句EndIf練習(xí):(1)給定x和y兩個(gè)數(shù),如果x>y則A=0,否則A=1

(2)把數(shù)學(xué)成績(jī)分為分4個(gè)等級(jí),給定一個(gè)分?jǐn)?shù),然后評(píng)出這個(gè)分?jǐn)?shù)的等級(jí)。

2.3.2循環(huán)控制結(jié)構(gòu)

格式:for循環(huán)變量=初值to終值[

step步長(zhǎng)]

循環(huán)體

next練習(xí):(1)列出從1到10的整數(shù)。2.3.3Foreach…..In…..結(jié)構(gòu)

格式:foreach元素in數(shù)組

循環(huán)體

next練習(xí):(1)選取幾個(gè)物體,分別輸出他們的ID。2.3.4Do…..Loop無(wú)限循環(huán)

格式:DO

循環(huán)體

Loop練習(xí):在rhino的top平面制作一個(gè)掛鐘。2.3

數(shù)組2.3.1數(shù)組定義

數(shù)組就是在電腦中占據(jù)的一塊內(nèi)存區(qū)域,數(shù)組名是這個(gè)區(qū)域的名稱,必須先定義后使用。定義數(shù)組的目的就是通知電腦為其留出所需要的空間。

常用來(lái)定義數(shù)組的語(yǔ)句:

Dim定義數(shù)組

Redim定義數(shù)組,在過(guò)程中用

數(shù)組中的每一個(gè)數(shù)據(jù)稱為數(shù)組元素,用數(shù)組名和該數(shù)據(jù)在數(shù)組中的序號(hào)來(lái)標(biāo)識(shí)。序號(hào)又稱為下標(biāo),數(shù)組元素又稱為下標(biāo)變量。例如,S(2)是一個(gè)數(shù)組元素,其中的S稱為數(shù)組名,2是下標(biāo)。

數(shù)組的下界必須小于上界,Ubound(數(shù)組名,[維])可求出數(shù)組上界。如果只用一個(gè)下標(biāo)就能確定某個(gè)數(shù)組元素在數(shù)組中的位置,這樣的數(shù)組稱為一維數(shù)組。如果用兩個(gè)或多個(gè)下標(biāo)才能確定某個(gè)數(shù)組元素在數(shù)組中的位置,則數(shù)組分別稱為二維數(shù)組或多維數(shù)組。2.3.2一維數(shù)組

一維數(shù)組定義定義一個(gè)數(shù)組:DimA(5),A是一個(gè)數(shù)組,這個(gè)數(shù)組共有5個(gè)元素。最小下標(biāo)為0(也就是從A(0)開始),最大下標(biāo)為5-1(也就是A(5-1))。

數(shù)組在電腦中的內(nèi)存區(qū)域?yàn)椋?/p>

假如給數(shù)組A(5)賦值:

A(0)=10;A(1)=11;A(2)=12;A(3)=13;A(4)=14

那么A=array(10,11,12,13,14),即:

這就如有一排座位,分別作了記號(hào)A(0),

A(1),

A(2),

A(3),

A(4),管理員把某人10分配在A(0)座位,把某人11分配在A(1)座位,把某人12分配在A(2)座位,把某人13分配在A(3)座位,把某人14分配在A(4)座位。A(0)A(1)A(2)A(3)A(4)1011121314

一維數(shù)引用如數(shù)組

A=array(10,11,12,13,14)

數(shù)組信息:

位置

數(shù)據(jù)

1)假如需要12這個(gè)數(shù)據(jù),那么用A(2)輸出。

2)假如需要逐個(gè)輸出,則可用foreach…..next結(jié)構(gòu)。A(0)A(1)A(2)A(3)A(4)10111213142.3.2二維數(shù)組

二維數(shù)組定義定義一個(gè)數(shù)組:DimA=array(array(5,6),array(9,11))

該數(shù)組在電腦中的內(nèi)存區(qū)域和數(shù)值:

那么,A(0)(0)=5;A(0)(1)=6;A(1)(0)=9;A(1)(1)=11。列行0105619112.4常用創(chuàng)建幾何體函數(shù)2.4.1點(diǎn)

1)用坐標(biāo)創(chuàng)建點(diǎn):Rhino.AddPoint(arrPoint)(單點(diǎn))Rhino.AddPoints(arrPoints)(多點(diǎn))2)點(diǎn)到物件的最近點(diǎn):Rhino.PointClosestObject(arrPoint,strObject)Rhino.PointClosestObject(arrPoint,arrObjects)3)返回點(diǎn)坐標(biāo):Rhino.PointCoordinates(strObject[,arrPoint])4)求點(diǎn)與點(diǎn)的距離:Rhino.Distance(arrPoint1,arrPoint2)Rhino.Distance(arrPoint1,arrPointArray)2.4.2線

1)直線:Rhino.AddLine(arrStart,arrEnd)2)多段線:Rhino.AddPolyline(arrPoints)3)圓:Rhino.AddCircle(arrPlane,dblRadius)4)求平面閉合曲線面積:

Rhino.CurveArea(strObject)5)求平面閉合曲線中心點(diǎn):Rhino.CurveAreaCentroid(strObject)6)布爾運(yùn)算并集:Rhino.CurveBooleanUnion(arrCurves

[,blnDelete])7)曲線與曲線相交:Rhino.CurveCurveIntersection(strObject1,strObject2[,dblTolerance])

8)線終點(diǎn):Rhino.CurveEndPoint(strObject[,intIndex[,arrPoint]])9)線起點(diǎn):Rhino.CurveStartPoint(strObject[,intIndex[,arrPoint]])10)求曲線長(zhǎng)度:Rhino.CurveLength(strObject[,intIndex[,arrSubDomain]])11)求曲線中點(diǎn):

Rhino.CurveMidPoint(strObject[,intIndex])12)等分曲線:Rhino.DivideCurve(strObject,lngSegments[,blnCreate[,blnPoints[,arrInterval]]])13)以長(zhǎng)度等分曲線:Rhino.DivideCurveLength(strObject,dblLength[,blnCreate[,blnPoints[,arrInterval]])14)炸開曲線:Rhino.ExplodeCurves(strObject[,blnDelete[,blnReturnSingles]])10)延伸曲線:Rhino.ExtendCurveLength(strObject,intType,intSide,arrObjects)11)合并曲線:

Rhino.JoinCurves(arrObjects[,blnDelete[,dblTolerance]])12)偏距曲線:Rhino.OffsetCurve(strObject,arrDirection,dblDistance[,arrNormal[,intStyle]])13)反轉(zhuǎn)曲線:Rhino.ReverseCurve(strObject)14)分割曲線:Rhino.SplitCurve(strObject,dblParameter[,blnDelete])15)剪切曲線:Rhino.TrimCurve(strObject,arrInterval[,blnDelete])16)移動(dòng)基準(zhǔn)平面:Rhino.MovePlane(Rhino.WorldXYPlane,arrOrigin)2.4.3圖層

1)新建圖層:Rhino.AddLayer([strLayer[,lngColor[,blnVisible[,blnLocked[,strParent]]]]])2)激活圖層為當(dāng)前圖層:Rhino.CurrentLayer([strLayer])3)刪除圖層:Rhino.DeleteLayer(strLayer)4)移動(dòng)物件到指定圖層:

Rhino.ObjectLayer(arrObjects,strLayer)

2.4.4物件

1)拾取點(diǎn):Rhino.GetPointCoordinates([strMessage[,blnPreSelect]])2)拾取點(diǎn)(直接創(chuàng)建):Rhino.GetPoint([strMessage[,arrPoint[,dblDistance[,blnPlane[,blnSnapObject]]]]])3)輸入數(shù):Rhino.GetReal([strMessage[,dblNumber[,dblMin[,dblMax]]]])4)輸入字符串:

Rhino.GetString([strMessage[,strString[,arrStrings]]])5)選取物件:Rhino.GetObjects([strMessage[,intType[,blnPreSelect[,blnSelect[,arrObjects]]]]])

6)復(fù)制:Rhino.CopyObjects(strObject[,arrStart,arrEnd])7)刪除物件:Rhino.DeleteObjects(arrObjects)8)移動(dòng)物件:Rhino.MoveObjects(arrObjects,arrStart,arrEnd)9)命名物件:

Rhino.ObjectNames(arrObjects[,arrNames])10)旋轉(zhuǎn)物件:Rhino.RotateObjects(arrObjects,arrPoint,dblAngle[,arrAxis[,blnCopy]])11)通過(guò)名稱選擇物件:Rhino.ObjectsByName(strName[,blnSelect[,blnIncludeLights]])2.4.4其它常用函數(shù)

1)彈出消息框:(簡(jiǎn)寫:MsgBox)Rhino.MessageBox(strMessage[,intButtons[,strTitle]])2)打開指定格式的文件:Rhino.OpenFileName([strTitle[,strFilter[,strFolder[,strFilename

[,strExtension]]]]])3)點(diǎn)坐標(biāo)轉(zhuǎn)換為字符串:Rhino.Pt2Str(arrPoint[,intPrecision[,blnSpace]])4)讀取文本信息:

Rhino.ReadTextFile(strFileName[,blnIgnoreEmptyRows[,blnTrimSpaces]])5)輸入信息到文本:Rhino.WriteTextFile(strFileName,arrStrings[,blnAppend[,intEncoding]])

6)添加文字:Rhino.AddText(strText,arrPoint[,dblHeight[,strFont[,intStyle[,intJustification]]]])7)添加Dot文字:Rhino.AddTextDot(strText,arrPoint)8)包裹物件:Rhino.BoundingBox(arrObjects[,arrPlane[,blnWorldCoords]])9)求文字的點(diǎn)坐標(biāo):

Rhino.TextObjectPoint(strObject[,arrPoint])10)把文字從ID格式轉(zhuǎn)換成文字格式:Rhino.TextObjectText(strObject[,strText])11)返回標(biāo)注的數(shù)字(包括手動(dòng)修改的):Rhino.DimensionText(strObject)12)修改標(biāo)注數(shù)字:Rhino.DimensionUserText(strObject[,strUserText])13)設(shè)置腳步快捷鍵:Rhino.AddAlias(strAlias,strMacro)14)使用rhino內(nèi)部命令:Rhino.Command(strCommand

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論