




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 期貨從業(yè)資格之期貨投資分析考前沖刺測(cè)試卷附有答案詳解附參考答案詳解(綜合題)
- 期貨從業(yè)資格之期貨投資分析考試黑鉆押題帶答案詳解(模擬題)
- 期貨從業(yè)資格之期貨投資分析練習(xí)題(一)附參考答案詳解(培優(yōu))
- 麗江市玉龍縣公安局招聘警務(wù)輔助人員筆試備考題庫(kù)帶答案詳解
- 寧波市人力資源和社會(huì)保障局下屬事業(yè)單位招聘筆試高頻難、易錯(cuò)點(diǎn)備考題庫(kù)帶答案詳解
- 《修辭手法》-公開課課件
- 稅務(wù)落地執(zhí)行方案(3篇)
- 物業(yè)企業(yè)講壇方案(3篇)
- 機(jī)關(guān)食堂配送蔬菜方案(3篇)
- 封閉式管理基礎(chǔ)知識(shí)培訓(xùn)課件
- 高級(jí)西點(diǎn)師習(xí)題及參考答案解析
- 2025年中學(xué)教師資格證《教育知識(shí)與能力》模擬試題-附解析
- 中國(guó)急性缺血性卒中診治指南(2023)解讀
- MOOC 中國(guó)電影經(jīng)典影片鑒賞-北京師范大學(xué) 中國(guó)大學(xué)慕課答案
- 上海文化發(fā)展基金會(huì)調(diào)研報(bào)告
- GB/T 17478-2004低壓直流電源設(shè)備的性能特性
- GB/T 13477.10-2017建筑密封材料試驗(yàn)方法第10部分:定伸粘結(jié)性的測(cè)定
- 國(guó)網(wǎng)十八項(xiàng)重大反措試題庫(kù)完整
- 應(yīng)急疏散培訓(xùn)試題
- 臺(tái)州市街頭鎮(zhèn)張家桐村調(diào)研報(bào)告
- 公司義務(wù)消防員培訓(xùn)記錄表
評(píng)論
0/150
提交評(píng)論