国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SketchUp 動(dòng)態(tài)組件的建筑參數(shù)化設(shè)計(jì)方法研究

2024-03-04 10:33:34彭鵬王凱飛趙佳杰張?jiān)鲁?/span>
重慶建筑 2024年2期
關(guān)鍵詞:表達(dá)式組件動(dòng)態(tài)

彭鵬,王凱飛,2,趙佳杰,張?jiān)鲁?/p>

(1 石家莊鐵道大學(xué) 建筑與藝術(shù)學(xué)院,河北石家莊 050043;2 北方工程設(shè)計(jì)研究院有限公司,河北石家莊 050011)

0 引言

隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,建筑設(shè)計(jì)行業(yè)也已完全由計(jì)算機(jī)作圖替代了手工制圖,高效的制圖方式除了給設(shè)計(jì)表現(xiàn)帶來方便和快捷之外,還使得方案的精細(xì)推敲成為了可能[1]。

在當(dāng)今建筑設(shè)計(jì)行業(yè)中,大多數(shù)計(jì)算機(jī)作圖依然停留在“先想后得”的制圖模式,即建筑師先在大腦中構(gòu)建出所期望的結(jié)果,再利用計(jì)算機(jī)將其簡單地表現(xiàn)出來,其中設(shè)計(jì)和建模表現(xiàn)是兩個(gè)獨(dú)立的過程。但是在實(shí)際工程應(yīng)用中,設(shè)計(jì)方案很少能夠一次性通過,設(shè)計(jì)方案的調(diào)整和變更需要耗費(fèi)設(shè)計(jì)師大量的精力將新的方案再次建模。同時(shí),由于表現(xiàn)相對(duì)于設(shè)計(jì)的滯后性,設(shè)計(jì)師從表現(xiàn)的結(jié)果直觀反饋到設(shè)計(jì)環(huán)節(jié)的推敲也會(huì)出現(xiàn)低效的現(xiàn)象。由于設(shè)計(jì)和表現(xiàn)是分離狀態(tài),所以每一次對(duì)方案的調(diào)整都需要經(jīng)歷一個(gè)完整的過程,在計(jì)算機(jī)建模環(huán)節(jié)會(huì)出現(xiàn)較大的人工內(nèi)耗,大量重復(fù)性的工作降低了效率,同時(shí)還減小了方案推敲的精細(xì)程度[2]。

建筑參數(shù)化設(shè)計(jì)在此體現(xiàn)了巨大的優(yōu)勢,參數(shù)化設(shè)計(jì)模糊了建筑設(shè)計(jì)和模型表現(xiàn)之間的界限,通過控制參數(shù)變量使模型按照某種編譯好的規(guī)則進(jìn)行變化,縮短了從方案調(diào)整到呈現(xiàn)結(jié)果之間的過程,甚至可做到實(shí)時(shí)修改,真正實(shí)現(xiàn)“所見所得”。由于省去了再次建模的重復(fù)工作,方案推敲的過程也將會(huì)更加靈活和自由[3]。

1 SketchUp 軟件在建筑設(shè)計(jì)領(lǐng)域的優(yōu)勢

SketchUp 軟件在建筑設(shè)計(jì)領(lǐng)域的應(yīng)用比其他3D 設(shè)計(jì)軟件更為廣泛[4]。它的建模邏輯清晰且簡單,主要通過繪制直線和推拉成體的方式快速生成模型,步驟精簡,能夠快速表現(xiàn)效果,非常有利于建筑方案設(shè)計(jì)的前期推敲。同時(shí),它內(nèi)置較多適合建筑設(shè)計(jì)的功能,例如精確時(shí)間和地理坐標(biāo)的太陽陰影渲染、方便快捷的材質(zhì)系統(tǒng)、人視位置定位相機(jī)以及漫游、快速剖切模型等。由于其相對(duì)精度較低,所以它對(duì)計(jì)算機(jī)硬件要求也較低,非常適合常用的直線較多的線性建模場景。

SketchUp 擁有非常豐富的擴(kuò)展功能[5],通過開放的Ruby 語言可以為軟件開發(fā)豐富的插件,實(shí)現(xiàn)更多的高級(jí)功能[6]。SketchUp 通過SUAPP、坯子助手、1001bit Tools 等建模輔助插件可以使建模更加方便快捷,有效提高建模效率,通過Viz、Profile Builder 等參數(shù)化插件可以實(shí)現(xiàn)更高級(jí)的非線性建模和參數(shù)化管理,通過V-Ray、Enscape 等渲染器插件可以快速對(duì)接后期效果圖的渲染表現(xiàn)。此外SketchUp 還擁有豐富的官方及第三方模型素材庫,可以在實(shí)際工作應(yīng)用中快速得到預(yù)期的表現(xiàn)效果[7]。

因此在我們研究參數(shù)化建模設(shè)計(jì)時(shí),除了關(guān)注主流的Grasshopper、Dynamo 等老牌參數(shù)化軟件以外,SketchUp 的參數(shù)化應(yīng)用同樣值得被重視,尤其是容易被人們遺忘的SketchUp 內(nèi)置動(dòng)態(tài)組件功能,更加值得我們?nèi)フJ(rèn)識(shí)和研究[8]。

2 參數(shù)化建模設(shè)計(jì)基本方法

2.1 參數(shù)化建模的定義和特征

參數(shù)化建模設(shè)計(jì)并非特指我們常見的復(fù)雜曲面的構(gòu)建,對(duì)于一切將3D 模型的參數(shù)數(shù)據(jù)化,并通過一定的計(jì)算機(jī)算法控制其參數(shù)的建模設(shè)計(jì)都應(yīng)統(tǒng)稱為參數(shù)化建模設(shè)計(jì)[9]。它有兩個(gè)重要特征,一是能夠提取3D 模型的參數(shù)和數(shù)據(jù),二是能夠通過計(jì)算機(jī)程序算法來控制其參數(shù)。

參數(shù)化工具更像一種計(jì)算機(jī)編程語言。任何3D 建模過程的本質(zhì)都是將設(shè)計(jì)者的某種預(yù)期反映至計(jì)算機(jī)3D 模型上的過程,是一種人與計(jì)算機(jī)的交流。在脫離參數(shù)化的直接建模中,人與3D 模型的交流媒介就是建模軟件中的常規(guī)編輯工具,它是一種抽象的語言,有如手語和行為語言,傳遞信息的過程是受限且低效的。參數(shù)化工具則更像一種高級(jí)語言,它重新建立了一套新的建模邏輯,利用更加自由的計(jì)算機(jī)語言來描述建模行為與過程,在某些場景下能夠產(chǎn)生更高的效率與發(fā)揮更大的優(yōu)勢。

3D 模型轉(zhuǎn)譯為計(jì)算機(jī)可以處理的有效數(shù)據(jù),則需將描述模型的參數(shù)和數(shù)據(jù)提取出來。因此,模型中的各項(xiàng)元素都應(yīng)有一個(gè)對(duì)應(yīng)的專屬信息標(biāo)簽,通過這個(gè)信息標(biāo)簽可以得到該元素的各項(xiàng)控制屬性,例如坐標(biāo)、長度、材質(zhì)等。屬性描述了模型中元素的狀態(tài),也控制了元素的唯一性,我們既可以通過讀取屬性來獲取該元素的信息,也可以通過更改屬性來控制元素的形態(tài)及其模型效果,如圖1 所示。

圖1 模型與參數(shù)化工具之間交流的橋梁

在計(jì)算機(jī)程序設(shè)計(jì)中需要通過表達(dá)式來實(shí)現(xiàn)多種功能,其中較有代表性的為邏輯表達(dá)式和函數(shù)表達(dá)式。邏輯表達(dá)式是處理數(shù)據(jù)并集、交集的一種有效手段,它包含“與(And)”“或(Or)”“非(Not)”三種狀態(tài)[10]。函數(shù)表達(dá)式如同數(shù)學(xué)中的函數(shù)概念,通過輸入自變量x 可以得到唯一的因變量f(x)反饋值,計(jì)算機(jī)程序中的函數(shù)表達(dá)式是一個(gè)可以實(shí)現(xiàn)某種預(yù)定功能的代碼黑匣子,當(dāng)為其輸入一個(gè)或多個(gè)自變量,便可返回一個(gè)經(jīng)過代碼運(yùn)算的因變量反饋,如圖2 所示。函數(shù)可自定義,也可通過調(diào)用運(yùn)行庫獲得豐富的內(nèi)置函數(shù)。在我們后續(xù)的參數(shù)化建模當(dāng)中,表達(dá)式的運(yùn)用非常關(guān)鍵[11]。

圖2 函數(shù)表達(dá)式示意

2.2 參數(shù)化建模常見的兩種控制模式

參數(shù)化建模設(shè)計(jì)的控制模式一般可分為類Grasshopper 系的通過數(shù)據(jù)流控制和SketchUp 動(dòng)態(tài)組件的通過對(duì)象屬性控制兩種方式。

Grasshopper 或Dynamo 中的電池組相當(dāng)于高度集成的函數(shù)表達(dá)式[12-13],數(shù)據(jù)在函數(shù)表達(dá)式之間的傳遞通過電池間的連線實(shí)現(xiàn)。它簡化了程序設(shè)計(jì)當(dāng)中的許多特征,所有的功能都通過獨(dú)立的電池組即函數(shù)表達(dá)式來實(shí)現(xiàn)。例如,并不強(qiáng)調(diào)程序入口和出口的概念,它可從任意一個(gè)數(shù)據(jù)源開始,到任意一個(gè)函數(shù)表達(dá)式結(jié)束。它更關(guān)注的是數(shù)據(jù)的輸入和結(jié)果的呈現(xiàn),任何一個(gè)數(shù)據(jù)源都是數(shù)據(jù)的輸入,數(shù)據(jù)源可以是一個(gè)參數(shù)化編程中指定的一個(gè)常數(shù),也可以是模型中的某個(gè)參數(shù);數(shù)據(jù)流中任意一個(gè)有控制模型功能的函數(shù)表達(dá)式都可作為結(jié)果,而這種帶有控制模型功能的函數(shù)表達(dá)式可能并非數(shù)據(jù)流的末端,它依然可將處理過的數(shù)據(jù)繼續(xù)傳遞給下一個(gè)函數(shù)表達(dá)式,如圖3 所示。

圖3 通過數(shù)據(jù)流控制方式

SketchUp 允許開發(fā)者給組件配置屬性(Attributes),而每一個(gè)配置了屬性的組件都可看作一個(gè)單獨(dú)的對(duì)象。組件的屬性反映了組件的幾何特征,為屬性賦予的值也會(huì)反過來控制組件的幾何形態(tài),兩者是相互制約的關(guān)系,通過給組件的屬性賦予復(fù)雜的函數(shù)表達(dá)式便可實(shí)現(xiàn)對(duì)組件幾何形態(tài)的自由控制,如圖4 所示。通過對(duì)象屬性控制并沒有像Grasshopper 那樣直觀的數(shù)據(jù)流界面,它通過類似Excel 表的形式展現(xiàn),表達(dá)式則直接以公式的形式出現(xiàn)在屬性表中,其操作的易用性也因此大打折扣,對(duì)開發(fā)者邏輯的清晰度也有更高的要求。

圖4 通過對(duì)象屬性控制方式

3 SketchUp 動(dòng)態(tài)組件的功能及實(shí)際應(yīng)用

3.1 功能簡介

組件(Components)是SketchUp 軟件的特有功能,它可以將指定的線、面合并成組,并且在重復(fù)使用時(shí)依然可以讓全部相同組件保持一致,類似于AutoCAD 中“塊”的概念。動(dòng)態(tài)組件(Dynamic Components)是SketchUp 軟件附帶的參數(shù)化設(shè)計(jì)工具,它可以給組件添加更強(qiáng)大的功能,通過類似Excel 表的屬性窗口,便可自由地控制組件的幾何形態(tài)[8]。它主要通過“組件屬性(Component Attributes)”面板實(shí)現(xiàn),如圖5 所示。

圖5 示例組件“Bookshelf”的組件屬性面板

屬性是“組件屬性”面板的主體部分,每一行對(duì)應(yīng)了一項(xiàng)組件的屬性。軟件將屬性分為了多項(xiàng)子類,按照使用功能可以歸納為界面、幾何形態(tài)、行為、變量四大類。其中界面類的屬性主要控制“組件選項(xiàng)”面板中的內(nèi)容,是開發(fā)者給普通用戶展現(xiàn)的部分;幾何形態(tài)類主要控制該組件的3D 模型形態(tài),包含XYZ 坐標(biāo)位置信息、長寬高數(shù)值信息、旋轉(zhuǎn)角度信息等;行為類可以對(duì)模型進(jìn)行一些常規(guī)的操作,例如復(fù)制、隱藏、限定縮放控制點(diǎn)等;變量類則是工具給開發(fā)者預(yù)留的可以自定義設(shè)置變量的屬性空間[8]。

函數(shù)存在于屬性的值當(dāng)中,以公式的形式存在。函數(shù)是使參數(shù)化設(shè)計(jì)工具能夠?qū)崿F(xiàn)無限種類功能的關(guān)鍵所在。它涵蓋運(yùn)算符、數(shù)學(xué)函數(shù)、邏輯函數(shù)、onClick 函數(shù)、SketchUp 函數(shù)、三角函數(shù)、文字函數(shù)七大類,其中以前三者使用頻率最高。通過復(fù)雜的函數(shù)搭配能夠使組件屬性獲得豐富多樣的邏輯變化,進(jìn)而實(shí)現(xiàn)多種參數(shù)化功能。

3.2 設(shè)計(jì)過程

整個(gè)參數(shù)化設(shè)計(jì)的工作流程可以歸納為構(gòu)思-設(shè)計(jì)-測試三部分[9]。

在構(gòu)思階段需要重點(diǎn)考慮對(duì)動(dòng)態(tài)組件所期望的功能和該功能的實(shí)現(xiàn)方法。在參數(shù)化設(shè)計(jì)過程中,我們的身份應(yīng)當(dāng)是開發(fā)者而非3D 建模的普通用戶,所以功能的重要性要大于建模,而實(shí)現(xiàn)方法的構(gòu)思則需要開發(fā)者對(duì)動(dòng)態(tài)組件知識(shí)有足夠的經(jīng)驗(yàn)積累,需要開發(fā)者清楚每一個(gè)屬性和函數(shù)表達(dá)式所能夠?qū)崿F(xiàn)的功能,從而判斷每一種不同的功能能否搭配實(shí)現(xiàn)最終的目標(biāo)功能。

設(shè)計(jì)階段則只需要熟練掌握動(dòng)態(tài)組件的語法規(guī)則、屬性,以及函數(shù)的靈活運(yùn)用,便可以輕松完成開發(fā)。動(dòng)態(tài)組件也以利用像Grasshopper 那樣的數(shù)據(jù)流思維來推動(dòng)屬性的編寫。數(shù)據(jù)流起始端是輸入的數(shù)據(jù),它可以通過直接在屬性中自定義輸入數(shù)值實(shí)現(xiàn),也可以通過模型中的組件屬性調(diào)取。通過各種函數(shù)表達(dá)式將數(shù)據(jù)進(jìn)行適當(dāng)?shù)奶幚?,并最終將其輸出于組件的某個(gè)屬性中??梢哉f,數(shù)據(jù)起始于屬性,中轉(zhuǎn)于屬性,輸出于屬性。

動(dòng)態(tài)組件的語法規(guī)則很簡單,每一個(gè)屬性都可以當(dāng)做普通變量來使用,也就可以當(dāng)做函數(shù)的因變量直接嵌套。當(dāng)屬性需要賦值時(shí),則需要在表達(dá)式最前面加一個(gè)“=”符號(hào),這里的等號(hào)不代表等于的含義,而是表示將等號(hào)右邊的值賦給左邊的屬性。

測試階段的目的是以普通用戶的角度試用檢查,來反推設(shè)計(jì)中是否出現(xiàn)了錯(cuò)誤,測試的過程應(yīng)當(dāng)盡可能將所有可能出現(xiàn)的結(jié)果進(jìn)行窮舉,若出現(xiàn)問題則需返回設(shè)計(jì)階段進(jìn)行修改和調(diào)試,最終得到期望的結(jié)果。通過了測試階段,參數(shù)化設(shè)計(jì)的過程才能算完整。

3.3 應(yīng)用實(shí)例分析

本節(jié)通過兩個(gè)不同類型的案例探討動(dòng)態(tài)組件在實(shí)際使用當(dāng)中的設(shè)計(jì)思路及應(yīng)用。

3.3.1 參數(shù)化建筑表皮應(yīng)用

利用參數(shù)化工具可對(duì)建筑外立面表皮進(jìn)行豐富的設(shè)計(jì),本案例通過制作一個(gè)圓柱形建筑格柵表皮來說明參數(shù)化設(shè)計(jì)在靜態(tài)建模中的運(yùn)用。

現(xiàn)有一個(gè)直徑46 m、高18 m 的圓柱體建筑,維護(hù)結(jié)構(gòu)采用玻璃幕,設(shè)計(jì)者希望用金屬格柵對(duì)外立面進(jìn)行包裹,并通過格柵的長短和疏密來表現(xiàn)一種流動(dòng)曲線的外立面效果,最終展現(xiàn)效果如圖6、圖7 所示。

圖6 圓柱體格柵效果圖

圖7 圓柱體格柵展開圖

利用動(dòng)態(tài)組件功能,可以設(shè)定單個(gè)格柵為單元組件,設(shè)置格柵組件的坐標(biāo)軸為建筑主體頂部的圓心,通過“Copies”屬性對(duì)格柵進(jìn)行環(huán)繞復(fù)制,引用復(fù)制體的編號(hào)作為自變量,使用正弦函數(shù)得到目標(biāo)曲線,并將最終計(jì)算結(jié)果輸出給格柵復(fù)制體的位置屬性“Z”和長度屬性“LenZ”。格柵組件的完整屬性表如表1所示,對(duì)應(yīng)的效果如圖8 所示。

表1 格柵組件的屬性表

圖8 組件屬性及最終效果

本設(shè)計(jì)需要解決的關(guān)鍵問題是曲線的描述,預(yù)期效果中所有的曲線均可基于正弦函數(shù)生成。其中總共有三條曲線,分別為上半部分的底曲線、下半部分的頂曲線和底曲線,如圖7 所示,其分別可描述為“sin(COPY*360/480*3+90)*200-600”“sin(COPY*360/480*3)*200-500”“sin(COPY*360/480*3+90)*100-1300”,如圖9 所示。由于正立面的表皮格柵向上掀起形成入口,因此可以通過COPY 的取值范圍選擇性地設(shè)定曲線在豎直方向上的倍數(shù)來實(shí)現(xiàn)該效果,于是下半部分底曲線可以利用條件函數(shù)調(diào)整為“IF(OR(COPY <80,COPY >400),sin(COPY*360/480*3+90)*300-1100,sin(COPY*360/480*3+90)*100-1300)”。

圖9 格柵輪廓曲線函數(shù)

行為屬性Copies 在使用時(shí)會(huì)生成一個(gè)名為“COPY”的只讀屬性,Copies 本身的值代表復(fù)制操作所生成的副本數(shù)量,COPY 則表示副本的編號(hào),即距離組件本體最近的副本的COPY值為“1”,以此類推,最后一個(gè)副本為“239”,加上本體,總共得到了240 個(gè)格柵組件。COPY 值在組件的復(fù)制中有很重要的意義,很多變化都需要以該值作為自變量套入函數(shù)進(jìn)行運(yùn)算。

靈活設(shè)定自定義屬性可以讓單條公式更加簡潔,嵌套公式結(jié)構(gòu)更清晰,便于開發(fā)者整理思路,也有利于提高程序的運(yùn)行效率。本案例中的a、b、c 屬性分別對(duì)應(yīng)的三條曲線函數(shù);a1、b1 分別通過取二者最小值和最大值的方式修正填充重疊部分,如圖10 所示;SX 用來判斷COPY 的奇偶數(shù),以識(shí)別格柵處于上半邊或下半邊。

圖10 曲線修正填充重疊部分前后對(duì)比

本次案例中用到了多處邏輯函數(shù)來實(shí)現(xiàn)復(fù)雜情況的判斷和執(zhí)行。在開發(fā)中用到頻率最高的邏輯函數(shù)為條件函數(shù)“IF()”,它通過判斷邏輯表達(dá)式的真假來反饋不同的結(jié)果,是程序設(shè)計(jì)中條件結(jié)構(gòu)的表現(xiàn)。在邏輯表達(dá)式中也經(jīng)常用到“與”“或”“非”三種組合狀態(tài),在c 屬性中就通過“與”函數(shù)“OR()”得到兩個(gè)邏輯表達(dá)式的并集。

3.3.2 參數(shù)化動(dòng)態(tài)道路線應(yīng)用

本節(jié)通過制作一個(gè)可以根據(jù)縮放自動(dòng)變化的動(dòng)態(tài)道路線為例簡述參數(shù)化設(shè)計(jì)在動(dòng)態(tài)建模中的運(yùn)用。

在實(shí)際工作應(yīng)用中,經(jīng)常需要對(duì)3D 模型場景中的道路進(jìn)行建模,對(duì)于道路而言,最復(fù)雜的建模部分是道路線。道路線由道路中心雙實(shí)線、非機(jī)動(dòng)車道實(shí)線、單方向車道間虛線、停車線、斑馬線等元素構(gòu)成,各元素之間相互影響和制約。我們希望通過SketchUp 動(dòng)態(tài)組件功能對(duì)整個(gè)道路線進(jìn)行參數(shù)化設(shè)計(jì),使其能夠按預(yù)定的長度和寬度自動(dòng)匹配合適的道路線,最終效果如圖11 所示。

圖11 動(dòng)態(tài)道路線的三種效果

動(dòng)態(tài)道路線的主要輸入方式是用戶對(duì)道路線的拉伸縮放操作,通過縮放更改了道路線整體的X 與Y 軸方向的尺寸,計(jì)算出道路線中每一部分元素的尺寸、位置、可容納的車道數(shù),最終將每一部分的尺寸、位置和數(shù)量輸出到對(duì)應(yīng)的屬性中,使模型呈現(xiàn)預(yù)期的效果。此操作除了使用Copies 屬性、幾何屬性和常規(guī)的數(shù)學(xué)運(yùn)算外,還需要做好不同組件之間信息的傳遞和共享,必要時(shí)可借用父級(jí)傳遞屬性信息。

一套完整的道路線涉及到的元素比較多,我們分別對(duì)其創(chuàng)建了組件,組件嵌套結(jié)構(gòu)如圖12 所示。道路線的完整屬性表如表2 所示,效果如圖13 所示。

表2 道路線中各組件的屬性表

圖12 道路線組件嵌套結(jié)構(gòu)

圖13 道路線大組件及其組件屬性

不同于首個(gè)案例,本設(shè)計(jì)增加了一個(gè)活動(dòng)的輸入方式,即組件的尺寸。因此,整個(gè)道路線組件中會(huì)出現(xiàn)很多不確定變化,所以開發(fā)者應(yīng)當(dāng)考慮到每一種可能出現(xiàn)的情況,并運(yùn)用合適的函數(shù)和結(jié)構(gòu)對(duì)不同的情況作出不同的反饋。

本案例還涉及到大量的跨組件信息傳遞,在同組件中傳遞信息時(shí),直接在公式中輸入屬性名稱即可。當(dāng)需要跨組件傳遞信息時(shí),則需要在屬性名稱前添加來源組件的名稱,并在中間用半角字符“!”隔開。例如“道路線!LenX”,在操作時(shí)也可以直接點(diǎn)擊需要引用的屬性,軟件會(huì)自動(dòng)生成正確的引用格式。需要注意的是,這種傳遞只能在父級(jí)組件與子級(jí)組件之間進(jìn)行,隔代和并列的兩個(gè)組件之間是不能直接交換信息的,如圖14 所示。對(duì)多次使用的表達(dá)式創(chuàng)建一個(gè)自定義屬性也是設(shè)計(jì)的重要技巧之一。

圖14 跨組件傳遞信息

4 SketchUp 動(dòng)態(tài)組件的優(yōu)勢與局限性

4.1 SketchUp 動(dòng)態(tài)組件的優(yōu)勢

1)易掌握。它的設(shè)計(jì)邏輯與市面上大多數(shù)參數(shù)化設(shè)計(jì)軟件不同,由于使用類似Excel 的屬性表形式,對(duì)于可以熟練使用Excel 的參數(shù)化設(shè)計(jì)初學(xué)者來說是易理解和掌握的。

2)兼容性高。由于是內(nèi)置于SketchUp 軟件的官方工具,其兼容性較高,參數(shù)化程序可以直接存儲(chǔ)在skp 文件中,對(duì)比Grasshopper 無需額外獨(dú)立保存參數(shù)化程序文件,如圖15 所示。

圖15 Grasshopper 需要額外獨(dú)立保存參數(shù)化程序文件

3)簡化工作流。憑借SketchUp 軟件在建筑設(shè)計(jì)領(lǐng)域的廣泛應(yīng)用,其生成品可以快速對(duì)接各類其他軟件,減省了多余的轉(zhuǎn)換,較大程度簡化了工作流。

4.2 SketchUp 動(dòng)態(tài)組件的缺陷

1)界面直觀性不足。數(shù)據(jù)流式參數(shù)化工具采用更為直觀的圖形化編程,無需或較少需要開發(fā)者手動(dòng)編寫公式及代碼,更低的學(xué)習(xí)成本和更便捷的操作有利于開發(fā)者專注于3D 建模設(shè)計(jì)本身。SketchUp 動(dòng)態(tài)組件采用類似Excel 公式表格的形式,雖然可以讓熟悉Excel 的用戶快速理解和上手,但是整體編程效率和程序可讀性較差,出現(xiàn)問題時(shí)不易鎖定問題所在位置,對(duì)于沒有基礎(chǔ)的設(shè)計(jì)者難度則更大。

2)拓展性不足。雖然SketchUp 動(dòng)態(tài)組件內(nèi)置了大量組件屬性接口和豐富的函數(shù)表達(dá)式,但它并不能通過借助第三方程序開發(fā)工具增添更高級(jí)功能,這也導(dǎo)致了較少有擴(kuò)展插件可以直接對(duì)接SketchUp 動(dòng)態(tài)組件[14]。主流參數(shù)化工具Grasshopper 擁有豐富的擴(kuò)展性,可以直接創(chuàng)建C#、VB 或Python 腳本電池組[15](圖16),用專業(yè)的程序語言對(duì)參數(shù)化設(shè)計(jì)功能進(jìn)行拓展,同時(shí)豐富的拓展程序也使其能較輕松地實(shí)現(xiàn)多種復(fù)雜功能。

圖16 Grasshopper 原生的編程語言腳本

3)運(yùn)算效率較低。SketchUp 動(dòng)態(tài)組件在運(yùn)行過程中的計(jì)算速度比較慢,經(jīng)常在修改一個(gè)參數(shù)的時(shí)候出現(xiàn)Working 進(jìn)度條(圖17),甚至在復(fù)雜的組件中可能會(huì)導(dǎo)致SketchUp 程序的崩潰,導(dǎo)致參數(shù)化開發(fā)和調(diào)試過程中的體驗(yàn)感下降。這制約了動(dòng)態(tài)組件的參數(shù)化建模能力,致使其難以處理復(fù)雜的參數(shù)化建模問題。

圖17 Working 進(jìn)度條

4.3 參數(shù)化設(shè)計(jì)的便利性探討

參數(shù)化設(shè)計(jì)建模按照目的可分為兩類:一次性靜態(tài)建模和多次性動(dòng)態(tài)建模。一次性靜態(tài)建模是為了實(shí)現(xiàn)某種造型而使用參數(shù)化工具輔助建模,它的開發(fā)僅僅適用于特定建筑方案,并不具有通用性和普適性,它的價(jià)值主要在于通過參數(shù)化輔助構(gòu)建了較難直接建模的模型,如3.3.1 節(jié)中參數(shù)化建筑表皮的應(yīng)用案例。多次性動(dòng)態(tài)建??梢宰龅揭淮卧O(shè)計(jì)多次使用,即將經(jīng)常在模型中重復(fù)使用的元素進(jìn)行參數(shù)化設(shè)計(jì),通過參數(shù)滿足其在不同場景中的變化需求。此類建模在設(shè)計(jì)開發(fā)過程中會(huì)遇到更多問題和挑戰(zhàn),需要考慮的情況也更多,但最終的收益也較大,例如3.3.2 節(jié)中動(dòng)態(tài)道路線的應(yīng)用案例。

由于參數(shù)化設(shè)計(jì)和開發(fā)本身也需要耗費(fèi)較多的時(shí)間精力,因此在建模時(shí)不宜盲目選擇參數(shù)化設(shè)計(jì)的方法,很多不適合參數(shù)化處理數(shù)據(jù)的場景中使用參數(shù)化反而效率較低。當(dāng)采用參數(shù)化設(shè)計(jì)時(shí)應(yīng)優(yōu)先考慮多次性動(dòng)態(tài)建模,以便后期還能重復(fù)利用??傊?,需要提前對(duì)成本和收益做好評(píng)估,選取合適的方式高效完成工作。

5 結(jié)語

SketchUp 動(dòng)態(tài)組件憑借其獨(dú)有的開發(fā)邏輯在參數(shù)化建模軟件中獲得關(guān)注。雖然它在某些方面與主流參數(shù)化建模軟件有差距,但它基于應(yīng)用廣泛的SketchUp 軟件平臺(tái),擁有極大的用戶數(shù)量和良好的兼容性,SketchUp 動(dòng)態(tài)組件依然可在工作中提供新的問題解決思路。不同的參數(shù)化設(shè)計(jì)軟件有各自的特點(diǎn)和使用方法,但其基本邏輯卻在很多平臺(tái)上通用。結(jié)合計(jì)算機(jī)程序設(shè)計(jì)原理,歸納對(duì)比不同參數(shù)化軟件的特點(diǎn),靈活運(yùn)用參數(shù)化設(shè)計(jì)技巧,最終可實(shí)現(xiàn)更加高效的建模設(shè)計(jì)。

注:感謝河北省高等學(xué)校人文社會(huì)科學(xué)重點(diǎn)研究基地——石家莊鐵道大學(xué)人居環(huán)境可持續(xù)發(fā)展研究中心對(duì)本文的支持。

猜你喜歡
表達(dá)式組件動(dòng)態(tài)
國內(nèi)動(dòng)態(tài)
無人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
能源工程(2022年2期)2022-05-23 13:51:50
國內(nèi)動(dòng)態(tài)
國內(nèi)動(dòng)態(tài)
新型碎邊剪刀盤組件
一個(gè)混合核Hilbert型積分不等式及其算子范數(shù)表達(dá)式
表達(dá)式轉(zhuǎn)換及求值探析
U盾外殼組件注塑模具設(shè)計(jì)
動(dòng)態(tài)
淺析C語言運(yùn)算符及表達(dá)式的教學(xué)誤區(qū)
大同市| 尚义县| 年辖:市辖区| 江川县| 广饶县| 祁门县| 抚顺县| 外汇| 南部县| 亳州市| 甘孜县| 灵石县| 云安县| 潼南县| 红桥区| 宜兴市| 永康市| 大新县| 息烽县| 湖南省| 舞阳县| 镇巴县| 巨鹿县| 金坛市| 恭城| 铜川市| 荔浦县| 庆元县| 稷山县| 德令哈市| 沈丘县| 应用必备| 蒲江县| 句容市| 宜兰县| 潍坊市| 霍城县| 桂林市| 鹿邑县| 莱阳市| 商水县|