完善主體資料,免費(fèi)贈(zèng)送VIP會(huì)員!
* 主體類型
* 企業(yè)名稱
* 信用代碼
* 所在行業(yè)
* 企業(yè)規(guī)模
* 所在職位
* 姓名
* 所在行業(yè)
* 學(xué)歷
* 工作性質(zhì)
請(qǐng)先選擇行業(yè)
您還可以選擇以下福利:
行業(yè)福利,領(lǐng)完即止!

下載app免費(fèi)領(lǐng)取會(huì)員

NULL

5cdd2dc095060.jpg

Dynamo模擬實(shí)際建筑外裝飾幕墻設(shè)計(jì)(上)

發(fā)布于:2019-03-06 15:01:58

來(lái)福

更多

說(shuō)到參數(shù)化建模,常常用于表達(dá)復(fù)雜的設(shè)計(jì),在這個(gè)過(guò)程中,我們選擇工具的時(shí)候一般想到的都是大家所熟知的Rhino+Grasshopper。但是Revit+Dynamo同樣也能做出一些比較復(fù)雜的效果,接下來(lái)就通過(guò)一個(gè)實(shí)例來(lái)模擬實(shí)際建筑外裝飾幕墻設(shè)計(jì)。

1、選取參考曲線并復(fù)制至各標(biāo)高處

1.1 先通過(guò)節(jié)點(diǎn)“Select Model Element”選擇參考線,再通過(guò)節(jié)點(diǎn)“Categories”和節(jié)點(diǎn)“All Elements of Category”選中所有屬于指定族類別的圖元。

1.2 參數(shù)element表示拾取的曲線,參數(shù)level表示選取的標(biāo)高。我們現(xiàn)在在第一行獲取element的曲線圖元,在第二行獲取各個(gè)標(biāo)高的數(shù)值并且從小到大排序。在第三行將獲取曲線圖元向上移動(dòng)復(fù)制,即在每個(gè)標(biāo)高位置都復(fù)制一次曲線圖元。在第四行將復(fù)制后的列表鋪平。

2、造型縮放數(shù)值參數(shù)控制

2.1 首先將縮放的比例定義在區(qū)間[0.74,1.18]之間,然后通過(guò)節(jié)點(diǎn)“Math.RemapRange”將所有標(biāo)高的列表保持分布率不變?cè)趨^(qū)間[0.74,1.18]內(nèi)重新分布。

2.2 然后通過(guò)節(jié)點(diǎn)“List.DiagonalLeft”獲取子列表寬度為3,從右上角至左下角提取列表的數(shù)據(jù)。

2.3 最后轉(zhuǎn)置變?yōu)槲覀冃枰牧斜怼_@樣做的目的在于將縮放系數(shù)分為三個(gè)部分。

2.4 第四行至第七行的含義是控制三個(gè)部分的縮放系數(shù)。其中item0和item2反轉(zhuǎn)的原因是想讓縮放后變?yōu)镾形。正常情況下,縮放系數(shù)為從小到大排列,反轉(zhuǎn)第一個(gè)和第三個(gè)列表之后,縮放系數(shù)為從小到大,再?gòu)拇蟮叫?,再?gòu)男〉酱?,最后從大到小?/span>

3、標(biāo)高曲線輪廓縮放

3.1 在這個(gè)Code Block中,list端外接第二步中獲取的縮放系數(shù)列表“ list = Flatten({item0, item1, item2})”,mask端通過(guò)節(jié)點(diǎn)“Object.IsNull”外接第二步中獲取的縮放系數(shù)列表“ list = Flatten({item0, item1, item2})”,geo端外接第一步中鋪平后的列表“Flatten(geo)”。

3.2 首先第一行通過(guò)節(jié)點(diǎn)“List.FilterByBoolMask”判斷縮放系數(shù)的列表中是否存在空值。

3.3 第二行和第三行確定X方向與Y方向的縮放系數(shù),Y方向的縮放系數(shù)需要反轉(zhuǎn)是因?yàn)橐赬和Y兩個(gè)方向交叉縮放。

3.4 第四行運(yùn)用確定的縮放系數(shù)執(zhí)行縮放。

4、創(chuàng)建幕墻嵌板定位點(diǎn)

4.1 每個(gè)標(biāo)高的輪廓確定以后,就得確定輪廓線上的嵌板定位點(diǎn)。輸入端cur外接上一步縮放后的曲線“ geometry = geo.Scale(x, y, 1)”,輸入端d表示嵌板的寬度。定位點(diǎn)的確定公式是將整個(gè)輪廓線的長(zhǎng)度除以指定的嵌板寬度,然后對(duì)結(jié)果進(jìn)行向上取整。

4.2 然后我們需要兩個(gè)點(diǎn)的列表,pts1表示所有曲線輪廓的起點(diǎn),pts2表示所有曲線的均分點(diǎn)。

4.3 在第五行將輪廓線的起點(diǎn)依次添加進(jìn)每層曲線的均分點(diǎn)中,相當(dāng)于從起始點(diǎn)開(kāi)始到終點(diǎn)然后又回到一次起點(diǎn)。例如,圖中從0開(kāi)始至3,然后又以0結(jié)尾,即{0, 1, 2, 3, 0}。

5、嵌板邊線的創(chuàng)建與定位點(diǎn)清單排序

5.1 輸入端pts接入上一步“List.AddItemToEnd(pts1@-1<1>, pts2@-2<1>)”的結(jié)果。

5.2 原本的pts列表中的點(diǎn)為同一標(biāo)高的點(diǎn),經(jīng)過(guò)轉(zhuǎn)置以后就得到豎直方向點(diǎn)的列表,目的在從上往下形成多重曲線。該曲線的目的在于檢查我們上一步是否有錯(cuò)位的情況。

5.3 由于嵌板在布置的時(shí)候,列表最后一個(gè)點(diǎn)會(huì)接回第一個(gè)點(diǎn),所以在第三行用節(jié)點(diǎn)“List.FirstItem”先將第一個(gè)點(diǎn)提取出來(lái),然后在用節(jié)點(diǎn)“List.AddItemToEnd”將第一個(gè)點(diǎn)添加列表。

本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。

未標(biāo)題-1.jpg

上一篇:Revit快速創(chuàng)建風(fēng)管布局!

下一篇:Dynamo模擬實(shí)際建筑外裝飾幕墻設(shè)計(jì)(下)