官术网_书友最值得收藏!

1.11 例題10:應(yīng)用Dynamo批量放置線性植被

1.解題思路

用Revit進(jìn)行道路景觀設(shè)計(jì)時(shí),不可避免地會(huì)有在道路兩旁批量放置樹木等重復(fù)性工作;更重要的是,道路是一條空間曲線,工作量及其準(zhǔn)確性不容小覷。例題9是在體量環(huán)境中運(yùn)行Dynamo腳本文件,而本題則是在項(xiàng)目環(huán)境中運(yùn)行。

讀取Revit項(xiàng)目中放置樹木路徑的空間曲線,并在Dynamo中進(jìn)行等分處理,最后將Revit中的樹族放在對(duì)應(yīng)的等分點(diǎn)上(圖1-94)。

依然沿用例題9的思路,從結(jié)果(終節(jié)點(diǎn))出發(fā),逆向?qū)ふ夜?jié)點(diǎn)。

圖1-94

2.知識(shí)點(diǎn)

● Family Instance. ByPoint

● Family Types

● Select Model Element

● Element. Geometry

● Curve. PointAtParameter

● Integer Slider

● Dynamo播放器

3.例題詳解

在Revit項(xiàng)目環(huán)境中,創(chuàng)建一個(gè)內(nèi)建體量,用“通過(guò)點(diǎn)的樣條曲線”命令,創(chuàng)建兩條空間曲線,分別模擬放置不同樹木的路徑;如圖1-95所示。

圖1-95

首先明確,最終目的是實(shí)現(xiàn)在Revit中放置族構(gòu)件。

切換至Dynamo界面。因?yàn)樯婕芭cRevit的交互,且需要按特定要求放置族實(shí)例,所以在Revit→Elements(圖元)→FamilyInstance(放置族)中尋找,如圖1-96所示。需要按等分點(diǎn)放置族構(gòu)件,F(xiàn)amilyInstance.ByPoint(通過(guò)點(diǎn)放置族)節(jié)點(diǎn)即符合要求。

圖1-96

如圖1-97所示,F(xiàn)amilyInstance.ByPoint(通過(guò)點(diǎn)放置族)節(jié)點(diǎn)需要輸入兩個(gè)參數(shù):

圖1-97

(1)需要放置的族構(gòu)件。

(2)等分點(diǎn)。

接下來(lái)問(wèn)題的關(guān)鍵便是解決這兩個(gè)輸入端口。

familyType(族類型)需要選擇已經(jīng)載入項(xiàng)目中的族,這里按族類型進(jìn)行選擇。在Revit下的Selection(選擇)中尋找目標(biāo)節(jié)點(diǎn),如圖1-98所示;很顯然Family Types(族類型)節(jié)點(diǎn)便是。

圖1-98

選擇項(xiàng)目中已載入的“白楊3D”,并連接FamilyInstance.ByPoint(通過(guò)點(diǎn)放置族)節(jié)點(diǎn),如圖1-99所示。

圖1-99

最后便是解決point(點(diǎn))的問(wèn)題。

首先,讀取Revit中的圖元信息到Dynamo。其次,在Dynamo中處理完成后再次將其導(dǎo)入Revit。由于兩條路徑上的樹木種類可能不一樣,這里需要分別處理兩條路徑。

選擇路徑,同樣在Revit下的Selection(選擇)中尋找。

如圖1-100所示,Select Model Element(選擇Reivt實(shí)體圖元)節(jié)點(diǎn)是選擇Revit中的圖元;Select Model Elements(選擇Reivt實(shí)體圖元)節(jié)點(diǎn)則是框選Revit中的多個(gè)圖元。

圖1-100

選擇Revit中的圖元,其Element(圖元)后的數(shù)字便是Revit中圖元的ID號(hào),表示已被選擇,如圖1-101所示。

圖1-101

獲取Revit圖元信息到Dynamo,這樣才能在Dynamo中處理。

利用Revit→Elements(圖元)中的Element.Geometry(獲取Revit圖元的幾何圖形)節(jié)點(diǎn)便可將圖元幾何信息讀取到Dynamo中,如圖1-102所示。

連接節(jié)點(diǎn)后,便可以在Dynamo中看見(jiàn)Revit的圖元信息,如圖1-103所示。

圖1-102

圖1-103

在曲線上找等分點(diǎn),則回到了Dynamo自身的問(wèn)題。

利用Geometry(幾何學(xué))→Curves(線)→Curve(線)中的Curve.PointAtParameter(獲取曲線參數(shù)處的點(diǎn))節(jié)點(diǎn),按曲線位置參數(shù)取點(diǎn)(圖1-104)。

圖1-104

這里為了更加靈活,可以將等分的個(gè)數(shù)設(shè)置成數(shù)字(整數(shù))滑塊,如圖1-105所示。同時(shí),在Curve.PointAtParameter(獲取曲線參數(shù)處的點(diǎn))節(jié)點(diǎn)上單擊鼠標(biāo)右鍵,將連綴改為最長(zhǎng)(連綴在后續(xù)章節(jié)中將單獨(dú)講解)。

圖1-105

接入FamilyInstance.ByPoint(通過(guò)點(diǎn)放置族)節(jié)點(diǎn),便完成了一條路徑的布置,如圖1-106所示。

圖1-106

選擇另一條路徑,改變樹的類型和等分點(diǎn)個(gè)數(shù),運(yùn)行腳本,如圖1-107所示。這時(shí)候發(fā)現(xiàn),原來(lái)已經(jīng)完成的路徑上的樹卻沒(méi)有了,也就是說(shuō),腳本只能被執(zhí)行一次。

圖1-107

為了解決這個(gè)問(wèn)題,需要引入Dynamo播放器。

將上述完成的節(jié)點(diǎn)文件保存,命名為“批量放置線性植被.dyn”。

“管理”→“可視化編程”中的“Dynamo播放器”,如圖1-108所示。

圖1-108

Dynamo播放器在使用前還需要進(jìn)行設(shè)置:將此節(jié)點(diǎn)文件的3個(gè)輸入端口均勾選上“是輸入”,如圖1-109所示。

圖1-109

啟動(dòng)Dynamo播放器,打開“查看當(dāng)前文件夾”,將之前寫的Dynamo腳本文件放在里面,并單擊刷新按鈕,如圖1-110所示。

單擊運(yùn)行“批量放置線性植被”腳本文件,可以對(duì)三個(gè)輸入端進(jìn)行操作。這樣運(yùn)行腳本更加方便,不需要再打開Dynamo腳本文件,如圖1-111所示。此時(shí)便完成了批量放置線性植被的工作。

圖1-110

圖1-111

主站蜘蛛池模板: 闻喜县| 来凤县| 曲周县| 开封县| 根河市| 文安县| 昂仁县| 揭东县| 安图县| 察隅县| 方山县| 宁明县| 霍州市| 彭州市| 巴彦淖尔市| 勐海县| 临猗县| 孝感市| 洪洞县| 宁安市| 威远县| 克拉玛依市| 济源市| 泾源县| 论坛| 水城县| 吴堡县| 城市| 平顺县| 枣强县| 堆龙德庆县| 玉门市| 昂仁县| 砚山县| 汝州市| 大连市| 永宁县| 谢通门县| 昆明市| 泌阳县| 全南县|