- Autodesk Revit參數(shù)化設(shè)計(jì)之道:Dynamo實(shí)戰(zhàn)剖析
- 柏慕聯(lián)創(chuàng)組編
- 2177字
- 2022-05-10 17:34:27
1.10 例題9:應(yīng)用Dynamo放樣實(shí)體并導(dǎo)入Revit
1.解題思路
學(xué)習(xí)Revit中形體創(chuàng)建各個(gè)命令的概念,有助于學(xué)習(xí)Dynamo中實(shí)體創(chuàng)建的相關(guān)節(jié)點(diǎn);形體創(chuàng)建命令中,放樣命令用得最多。
放樣是指將一個(gè)垂直于路徑的輪廓,沿著這條路徑掃掠而形成的實(shí)體。通過(guò)對(duì)概念的理解,完成放樣需要滿足兩點(diǎn):
(1)必須有一條路徑和一個(gè)輪廓。
(2)輪廓必須垂直于路徑。
這兩點(diǎn)對(duì)尋找解決問(wèn)題的思路至關(guān)重要。
本題將在Dynamo中創(chuàng)建如圖所示的實(shí)體,并將其導(dǎo)入Revit中,從零開(kāi)始,帶著讀者去思考,如何尋找節(jié)點(diǎn),如何解決問(wèn)題。
本題可以分解為兩大步驟:
(1)在Dynamo中創(chuàng)建實(shí)體(圖1-77)。

圖1-77
(2)將實(shí)體導(dǎo)入Revit。
2.知識(shí)點(diǎn)
● Dynamo學(xué)習(xí)思路:從終點(diǎn)節(jié)點(diǎn)(結(jié)果節(jié)點(diǎn))開(kāi)始,逆向?qū)ふ夜?jié)點(diǎn)
● 向量
● Solid. BySweep
● Rectangle. ByWidthLength(plane,width,length)
● Plane. ByOriginNormal
● Curve. TangentAtParameter
● Curve. PointAtParameter
● ImportInstance. ByGeometry
3.例題詳解
要?jiǎng)?chuàng)建圖1-77所示實(shí)體形狀,很容易想到放樣命令。根據(jù)放樣的概念,需要一條螺旋線做路徑,同時(shí)需要一個(gè)矩形當(dāng)輪廓。在Dynamo的學(xué)習(xí)過(guò)程中,建議讀者秉承從結(jié)果出發(fā)的思路,那么接下來(lái)就是在Dynamo中尋找放樣命令的節(jié)點(diǎn)。
新建一個(gè)體量族,然后切換到Dynamo界面。
實(shí)體屬于Geometry(幾何學(xué)),這就圈定了一個(gè)范圍,接下來(lái)可以在Geometry(幾何學(xué))下的Solids(實(shí)體)中尋找目標(biāo)節(jié)點(diǎn)。
放樣可以創(chuàng)建非常規(guī)實(shí)體,區(qū)別于柱體、球體等常規(guī)實(shí)體,需要在Solids(實(shí)體)下的Solid中尋找。根據(jù)簡(jiǎn)單的圖標(biāo)和節(jié)點(diǎn)提示說(shuō)明,很快就可以鎖定Solid.BySweep(通過(guò)放樣生成實(shí)體)節(jié)點(diǎn),如圖1-78所示。

圖1-78
與放樣命令一樣,Solid.BySweep(通過(guò)放樣生成實(shí)體)節(jié)點(diǎn)需要輸入輪廓和路徑兩個(gè)端口,如圖1-79所示。
接下來(lái)需要分別創(chuàng)建一條螺旋線和一個(gè)矩形輪廓,并對(duì)應(yīng)接入Solid.BySweep(通過(guò)放樣生成實(shí)體)節(jié)點(diǎn),從而創(chuàng)建目標(biāo)實(shí)體。

圖1-79
螺旋線的創(chuàng)建方法本節(jié)不再贅述,這里創(chuàng)建了一個(gè)半徑為20個(gè)單位,螺距為30個(gè)單位,旋轉(zhuǎn)了2圈的螺旋線。為了排除點(diǎn)預(yù)覽效果對(duì)視覺(jué)的影響,在Point.ByCylindricalCoordinates(通過(guò)柱面坐標(biāo)系生成點(diǎn))上單擊鼠標(biāo)右鍵,可以關(guān)閉節(jié)點(diǎn)的預(yù)覽效果,如圖1-80所示。

圖1-80
提示
關(guān)閉預(yù)覽效果,可以讓操作界面背景更清楚一些,減少干擾。
矩形屬于一種特殊的閉合曲線,在Geometry(幾何學(xué))下的Curves(線)中,可以找到Rectangle(矩形)的多種創(chuàng)建方法,如圖1-81所示。這里需要在垂直于螺旋線的平面上繪制一個(gè)矩形,這樣才能完成目標(biāo)放樣。
在創(chuàng)建矩形的五個(gè)命令中,Rectangle.ByWidthLength(通過(guò)長(zhǎng)寬生成矩形)(plane,width,length)節(jié)點(diǎn)是唯一滿足要求的節(jié)點(diǎn)。
Rectangle.ByWidthLength(通過(guò)長(zhǎng)寬生成矩形)(plane,width,length)節(jié)點(diǎn)有三個(gè)輸入端口,如圖1-82所示,需要確定一個(gè)繪制矩形的平面,以及矩形的長(zhǎng)度和寬度。

圖1-81

圖1-82
接下來(lái)的重點(diǎn)就是確定這個(gè)Plane(參考平面):一個(gè)垂直于曲線上某點(diǎn)的平面。
回想數(shù)學(xué)知識(shí),與方向有關(guān)的概念便是向量。曲線上任意一點(diǎn)都有切線向量,如果曲線上某點(diǎn)的切線向量與平面的法向量相等,那么這個(gè)平面一定垂直于該點(diǎn)處的曲線。
平面是一個(gè)抽象的概念,在Geometry(幾何學(xué))下Abstract(抽象的)中可以找到Plane(參考平面)的多種創(chuàng)建方法,如圖1-83所示。在這里需要通過(guò)法向量來(lái)確定平面,Plane.ByOriginNormal(通過(guò)中心法向量生成參考平面)節(jié)點(diǎn)便滿足要求。

圖1-83
Plane.ByOriginNormal(通過(guò)中心法向量生成參考平面)節(jié)點(diǎn)需要輸入兩個(gè)參數(shù),即平面上的點(diǎn)和通過(guò)該點(diǎn)的向量確定平面。
通過(guò)分析可知,平面上的點(diǎn)即為曲線上的點(diǎn),平面的法向量即為曲線該點(diǎn)處的切線向量。因此,問(wèn)題轉(zhuǎn)換為對(duì)曲線的處理。
因?yàn)槭菍?duì)曲線的進(jìn)一步處理,所以在Geometry(幾何學(xué))→Curves(線)→Curve(線)的紅色“閃電”(操作類)符號(hào)類別中尋找,如圖1-84所示,Curve.TangentAtParameter(獲取曲線參數(shù)處的切線向量)節(jié)點(diǎn)即為想要的目標(biāo)節(jié)點(diǎn)。

圖1-84
Curve.TangentAtParameter(獲取曲線參數(shù)處的切線向量)節(jié)點(diǎn)有兩個(gè)接入端口,即指定的曲線和曲線位置參數(shù)(默認(rèn)值為0)。
曲線位置參數(shù)是指用[0,1]之間的數(shù)值,代表曲線上的某一位置,“0”代表曲線的起點(diǎn),“1”代表曲線的終點(diǎn),這里選擇曲線的起點(diǎn)位置。根據(jù)目前已完成的內(nèi)容,連接已有節(jié)點(diǎn),如圖1-85所示。

圖1-85
默認(rèn)平面位置為坐標(biāo)原點(diǎn),接下來(lái)需要將平面移動(dòng)到曲線的起點(diǎn)位置。
在Geometry(幾何學(xué))→Curves(線)→Curve(線)中,找到Curve.PointAtParameter(獲取曲線參數(shù)處的點(diǎn))節(jié)點(diǎn),如圖1-86所示。

圖1-86
如圖1-87所示,將平面移動(dòng)到曲線的起點(diǎn)位置,輸入矩形的長(zhǎng)寬值便完成了放樣前的準(zhǔn)備工作。

圖1-87
最后接入Solid.BySweep(放樣生成實(shí)體)節(jié)點(diǎn)便完成了放樣實(shí)體,如圖1-88所示。
提示
注意放樣路徑是螺旋線。

圖1-88
本題第一個(gè)形體創(chuàng)建的問(wèn)題解決了,接下來(lái)就是將圖元導(dǎo)入Revit中。
與Revit交互有關(guān)的節(jié)點(diǎn)均在Revit目錄下,如圖1-89所示。
在Elements(Revit圖元)→ImportInstance(導(dǎo)入實(shí)例)中選擇ByGeometry(通過(guò)幾何圖形導(dǎo)入實(shí)例),ImportInstance.ByGeometry(通過(guò)幾何圖形導(dǎo)入實(shí)例)節(jié)點(diǎn)用于將Dynamo中的一個(gè)幾何實(shí)例輸入Revit中,如圖1-90所示,ImportInstance.ByGeometries(通過(guò)幾何圖形導(dǎo)入實(shí)例)節(jié)點(diǎn)則是將Dynamo中的多個(gè)幾何實(shí)例輸入Revit中。

圖1-89

圖1-90
將ImportInstance.ByGeometry(通過(guò)幾何圖形導(dǎo)入實(shí)例)節(jié)點(diǎn)接入Solid.BySweep(放樣生成實(shí)體)節(jié)點(diǎn),此時(shí)便完成了將Dynamo實(shí)例輸入Revit中的操作,如圖1-91所示。
特別說(shuō)明,Dynamo中并沒(méi)有單位,只有單元;但是與Revit相聯(lián)系的Dynamo節(jié)點(diǎn)會(huì)引用Revit項(xiàng)目中的單位,也就是說(shuō)Dynamo中的一個(gè)單元和Revit中的“項(xiàng)目單位”是保持一致的。當(dāng)Revit的項(xiàng)目單位為“mm”時(shí),Dynamo中的一個(gè)單元即為Revit中的1mm。
為了便于查看,將Revit中“管理”選項(xiàng)卡下的“項(xiàng)目單位”長(zhǎng)度改為“m”,如圖1-92所示。

圖1-91

圖1-92
如此便完成了本題的所有操作。
在Revit中可以將導(dǎo)入的實(shí)體分解,這樣便可以對(duì)實(shí)例進(jìn)行其他體量操作,如幕墻網(wǎng)格分割等,如圖1-93所示。

圖1-93
提示1
實(shí)體構(gòu)件曲率很大時(shí)不能分解。
提示2
Dynamo文件只能在當(dāng)前Revit項(xiàng)目運(yùn)行,在其他Revit項(xiàng)目中無(wú)法運(yùn)行;如果要在另一個(gè)Revit項(xiàng)目中運(yùn)行,需要關(guān)閉當(dāng)前Dynamo文件,重新在需要運(yùn)行的Revit項(xiàng)目界面重新再打開(kāi)一次。
- 3ds Max 2014標(biāo)準(zhǔn)教程(全視頻微課版)
- DotNetNuke 5.4 Cookbook
- FreeSWITCH 1.0.6
- Solid Works 2021產(chǎn)品設(shè)計(jì)標(biāo)準(zhǔn)教程
- ASP.NET MVC 2 Cookbook
- SPSS 28.0統(tǒng)計(jì)分析從入門到精通(升級(jí)版)
- 剪映短視頻剪輯與運(yùn)營(yíng)全攻略:視頻剪輯+音頻處理+后期特效+運(yùn)營(yíng)管理
- Apache Maven 3 Cookbook
- 新印象:CINEMA 4D電商設(shè)計(jì)基礎(chǔ)與實(shí)戰(zhàn)(全視頻微課版)
- 中文版Maya 2016實(shí)用教程
- 中文版CINEMA 4D R20 實(shí)用教程
- Photoshop CS6平面設(shè)計(jì)實(shí)戰(zhàn)從入門到精通(經(jīng)典暢銷版)
- Microsoft SharePoint 2010 and Windows PowerShell 2.0: Expert Cookbook
- Photoshop后期強(qiáng):多重曝光專業(yè)技法寶典
- 中文版AutoCAD自學(xué)經(jīng)典