下載app免費(fèi)領(lǐng)取會(huì)員
本文內(nèi)容來自公眾號(hào)“BIM碼農(nóng)”
衍生式設(shè)計(jì)是人類與計(jì)算機(jī)之間的協(xié)作過程,用于解決設(shè)計(jì)問題。在此過程中,設(shè)計(jì)師定義目標(biāo)并設(shè)計(jì)參數(shù)。計(jì)算機(jī)會(huì)生成許多設(shè)計(jì)備選方案,以找到一組最佳解決方案。
例如,假定您正在設(shè)計(jì)醫(yī)療設(shè)施。您想要放置一定數(shù)量的房間,以便護(hù)士可以以最快的速度從點(diǎn)A移動(dòng)到點(diǎn)B。在定義目標(biāo)和參數(shù)時(shí),計(jì)算機(jī)會(huì)快速生成數(shù)十或數(shù)百種備選方案供您選擇,其中有些備選方案可能是您從未考慮過的。
我們用一個(gè)最簡(jiǎn)單的例子來說明如何使用衍生式設(shè)計(jì)。
假設(shè)平面上有四個(gè)點(diǎn),他們能夠圍成一個(gè)四邊形。現(xiàn)在,我們想讓計(jì)算機(jī)幫我們畫出這個(gè)四邊形,使得面積與周長(zhǎng)的比值最大。
問題很簡(jiǎn)單,現(xiàn)在我們打開Dynamo,注意,必須是Revit2021的版本。
新建一個(gè)Dynamo項(xiàng)目,然后創(chuàng)建四個(gè)點(diǎn),分別命名為P0,P1,P2,P3,現(xiàn)在他們都在原點(diǎn)的位置。
我們保持P0在原點(diǎn)的位置,然后隨意指定其他三個(gè)點(diǎn)的坐標(biāo)。這樣,我們就可以用線將他們連成一個(gè)四邊形了。這里,點(diǎn)的坐標(biāo)不會(huì)對(duì)計(jì)算結(jié)果產(chǎn)生影響,但為了有初始面積和周長(zhǎng),初始的四條邊最好不要相交。
然后用List.Create將四個(gè)點(diǎn)組合在一起,接著使用Polygon.ByPoints,將四個(gè)點(diǎn)連成四邊形。這兩個(gè)組件的名字沒有更改,如果找不到,可以按名字搜索。同樣,以下組件都可以使用搜索搜到。
為了求得四邊形圍合的面積,我們可以創(chuàng)建一個(gè)面。
現(xiàn)在,我們可以得出多邊形的面積與周長(zhǎng)了。
現(xiàn)在,我們可以使用衍生式設(shè)計(jì)了。使用衍生式設(shè)計(jì)時(shí),需要告訴計(jì)算機(jī),哪些是可以變了,哪些結(jié)果是需要關(guān)注的。顯然,在這個(gè)例子中,三個(gè)點(diǎn)的坐標(biāo)是變量。
我們依次在三個(gè)點(diǎn)的x,y上指明。右鍵單擊P1x,然后選擇"是輸入"。同樣P1y,P2x,...P3y,這些組件執(zhí)行同樣的操作。
我們需要關(guān)注的結(jié)果是周長(zhǎng)、面積和面積的比值。所以右鍵點(diǎn)擊并指定他們?yōu)椤盀檩敵觥薄?/span>
這樣,我們就有6個(gè)輸入變量,3個(gè)輸出結(jié)果了。保存這個(gè)項(xiàng)目為“周長(zhǎng)面積”,當(dāng)然你可以指定其他名字。注意:在使用衍生式設(shè)計(jì)前必須要保存。
現(xiàn)在,點(diǎn)擊“導(dǎo)出以用于衍生式設(shè)計(jì)”
在彈出的對(duì)話框中點(diǎn)導(dǎo)出。
導(dǎo)出完成后,我們就可以創(chuàng)建分析了,點(diǎn)擊創(chuàng)建分析。
接著點(diǎn)擊我們剛剛導(dǎo)出的那個(gè)項(xiàng)目,“面積周長(zhǎng)”。
彈出定義分析的對(duì)話框。分析方法有四個(gè),分別是Optimize(最優(yōu)化),CrossProduct(跨產(chǎn)品),Randomize(隨機(jī)化)和LikeThis(相似)。
生成針對(duì)您的目標(biāo)進(jìn)行優(yōu)化的設(shè)計(jì)。GenerativeDesign運(yùn)行多次設(shè)計(jì)生成。每個(gè)后續(xù)生成都基于之前的結(jié)果進(jìn)行進(jìn)化和改進(jìn)。
使用此方法進(jìn)行探索,以瀏覽分析類型可以生成的廣泛的可能解決方案樣例。如果您還不知道要針對(duì)哪些指標(biāo)進(jìn)行優(yōu)化,則此方法有助于快速瀏覽設(shè)計(jì)備選方案。選擇要在指定范圍內(nèi)隨機(jī)化的變量。還可以指定要?jiǎng)?chuàng)建的結(jié)果數(shù),或者使用默認(rèn)值40。GenerativeDesign會(huì)根據(jù)分析類型定義的約束條件,使用指定變量在其定義范圍內(nèi)的隨機(jī)值來生成結(jié)果。結(jié)果是一系列可能的解決方案,表示變量值的隨機(jī)采樣。
嘗試不同的變量組合。使用等間距值生成指定數(shù)量的結(jié)果。
要達(dá)成目標(biāo),但想要調(diào)整設(shè)計(jì)?查看對(duì)選定變量的細(xì)微更改如何更改設(shè)計(jì)。使用此方法可以瀏覽首選結(jié)果的不同變體。
一般而言,在我們首次進(jìn)行衍生式設(shè)計(jì)時(shí),選擇隨機(jī)化都是比較好的選擇。他能快速創(chuàng)建許多的備選方案?,F(xiàn)在,我們選擇隨機(jī)化,并將解決方案數(shù)量設(shè)置為1000,這樣就會(huì)產(chǎn)生1000個(gè)方案。
點(diǎn)擊生成后,就能生成1000個(gè)方案了,以下方框中的參數(shù)都是可以選擇的,趕緊看看生成結(jié)果吧。
選擇合適的結(jié)果,可以將他載入Dynamo。然后可以再次執(zhí)行衍生式設(shè)計(jì),并使用新的算法,如LikeThis,探索細(xì)微變化后的最優(yōu)解。
本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。
上一篇:Revit石材幕墻建模解決方案——“材質(zhì)分割”(一)
下一篇:Revit編輯模型填充圖案線
推薦專題