汪 勇,付 豪
(重慶市設計院,重慶市400039)
Dynamo 是一款圖形化的編程插件,在0.7 版本以后實現獨立操作,先期版本只能支持Revit,在2019年后開始同步兼容Civil3D。截止本文撰寫時,Dynamo 最新版本已經升級至2.0,軟件穩定性較前期都有較大提升。Dynamo 通過前期封裝功能性節點,使設計師可輕松實現簡單的可視化編程,設計師根據自身需求選取不同節點,創建三維模型或其他自動化計算程序。這些功能在Revit 或者傳統AutoCAD上幾乎是不能實現的。更為重要的是,Dynamo 可視化編程技術門檻較低,不懂編程的土木工程設計師也能在BIM(Civil3D/Revit)環境中快速地進行模型設計。Dynamo 的源代碼Github 上托管,并建立開源討論社區,整個軟件由大家共同維護,集眾家所長,快速成長和完善。Dynamo 作為插件可以在Revit2013/Civil3D2020 或更高的版本上運行。而且,在需要時,Dynamo 也可獨立運行,只是獨立運行時,Dynamo 與其他軟件關聯性的節點無法生效[1]。Dynamo 程序界面如圖1 所示。

圖1 Dyna mo 程序界面
“可視化編程”即只需設計師梳理一定的邏輯方法,通過連接事先封裝好帶有指定功能的節點,輕松創建出滿足設計要求的算法或程序。通過節點的輸入、計算、輸出的基本思路即可解決遇到的問題。該方法最大的亮點在于不需要設計師浪費大量的時間成本去學習計算機語言,只是通過掌握各節點的基本作用就能快速構建自己的邏輯鏈條,享受高速發展的計算機技術帶來的設計便利。
它是通過計算式設計方法和可視化編程語言,針對某個問題在工作界面里連接預先封裝好帶有特定功能的節點,如圖2 所示,設置一套循序漸進的程序流(算法),通過輸入、處理和輸出的基本邏輯解決問題[2]。

圖2 節點輸入與輸出邏輯
當Dynamo 作為Revit 插件運行時,Revit 和Dynamo 共享項目原點,Dynamo 讀取到Revit 構建后會將Revit 族加載到自身的操作空間內,并根據一定的邏輯指導加載的族生成設計的三維幾何模型,并將成果同步映射到Revit 軟件環境中,完成參數化建模流程。Dynamo 只保存參數化設計邏輯流程,再次使用時,只需將Dynamo 和Revit 關聯,就能在短時間內指導Revit 生成設計模型,整個協同工作流程如圖3 所示。當Dynamo 作為Civil3D 的插件運行時,Dynamo讀取Civil3D 內的部件,通過一定的邏輯指導部件生成相應的幾何體,整體過程與Dynamo 在Revit 下運行的原理一致,此處不再贅述。

圖3 Dyna mo 與Re vit 交互流程
本文通過一個實際例子,分別從橋梁中心線生成,橋墩橋臺的建模與放置,橋梁上部結構的生成,來展示Dynamo 在Revit 平臺下的數字設計效果及技術路線。
橋梁的線路中心線,我們一般直接從AutoCAD Civil 3D 中導入Revit,其中常規的空間曲線進Revit的方式有兩種。
(1)方法1:通過C3D 的數據報告功能,輸出道路中心點報告。運用Excel 對輸出的點數據進行處理,通過每一個點坐標都同時減去第一個點坐標的值,形成數值相對較小的相對點坐標系統。再通過Dynamo的Data.ImportExcel 節點直接讀取Excel 相對坐標文件,生成線路中心線,最后通過節點ModelCurve.By-Curve 輸出中心線進入Revit,完成軟件數據交互。如圖4 所示。

圖4 從Exce l 讀取中心線
(2)方法2:通過直接把C3D 里的橋梁中心線轉化為帶有高程的樣條曲線后,將該段曲線另存為一個全新的DWG 文檔,在Revit 里直接導入該文檔,通過Dynamo 的Select Model Element 節點直接讀取導入的CAD 圖元,即可完成數據交互。如圖5 所示。

圖5 中心線轉化模型線
拾取中心線后,我們通常需要建立上部結構輪廓,通過輪廓與導入的橋梁中心線,共同放樣生成橋梁的上部結構,如圖6 所示。由于Dynamo 的特殊性與梁的幾何特性,我們選擇在Revit 中利用公制常規模型進行上部結構輪廓的繪制。載入輪廓后,利用Dynamo 中的Solid.ByLofe 節點,與之前導入的中心線,共同完成橋梁上部結構的放樣。由于大部分結構中間都存在空心部分,所以我們一般會用到Solid.Difference 節點,對整個圖形求幾何差積,完成構建的空心剪切,如圖7 所示。

圖6 上部結構放樣

圖7 上部結構空心剪切
橋墩與橋臺,我們需要在Revit 里對其完成常規建族,由于橋墩與橋臺結構特點,我們選擇公制柱常規模板對其進行建立。建立過程比較簡單,主要為拉伸與放樣方法,此處就不再贅述。
橋墩與橋臺建立完成后,我們在Dynamo 中運用Family Type 節點,載入橋墩族與橋臺族。并通過拾取點的辦法精確放置墩臺于指定位置,如圖8 所示。
橋墩與橋臺放置到指定位置后,我們需要對其做矢量旋轉,這里選擇用的Dynamo 的Vector.Angle-WithVector 節點。該處夾角一般為路線前進方向與Y坐標的夾角α。完成旋轉后,由于橋臺的方向正反方相互對應,其中一個橋臺還需手動再旋轉180°,如圖9 所示。

圖8 橋臺與橋墩族的選擇

圖9 圖元矢量旋轉
至此,漂亮的連續梁橋模型就建立完畢。最后,我們再使用ImportInstance.ByGeometry 節點,把生成的圖元輸出到Revit 中,完成整體Dynamo 圖元到Revit圖元的轉換,如圖10 所示。全工程不需要設計師了解任何的程序語言,通過現有的自帶節點,即可完成相對復雜的工程構筑物的建模工作。Dynamo 出現對于BIM 技術真正的落地,有非常大的推動作用。

圖10 Re vit 成橋模型
對此連續梁項目,筆者采用參數化與可視化程序結合的實施方法對其進行編程建模:利用Dynamo 完成了橋梁中心線導入、橋梁上部結構的建立,利用傳統Revit 建立橋墩與橋臺模型并通過Dynamo 對建立的墩臺族進行準確放置。兩軟件分別擇其長,協同、快速的建立橋梁模型,兩種軟件的建模方式對比見表1。

表1 Re vit 與Dyna mo 建模對比
Dynamo 除作為Revit 的插件外,還能獨立完成輕量級的景觀橋快速建模。
景觀橋一般由拱梁、上桁架、拉桿、橫梁、橋面板組成。
首先定位出3 個點,通過Arc.ByThreePoints 節點,完成首單側拱梁曲線的繪制,如圖11 所示。再通過對稱與放樣完成兩側拱梁結構的放樣。

圖11 拱梁線形生成
使用簡單的Python 腳本,在拱梁上指定位置定位指定點,直接用Cylinder.ByPointsRadius 節點,實現對兩點連接并放樣,完成拱梁上部桁架結構的建模,如圖12 所示。

圖12 上部桁架生成
橋面板與橫梁均采用節點Surface.Thicken 通過平面拉伸生成,此處不在贅述。橋梁拉桿通過與桁架相同的辦法,定位出點,點與橫梁形成線,最后通過Cylinder.ByPointsRadius 節點,放樣形成拉桿結構,如圖13 所示。

圖13 Dyna mo 景觀橋成型
至此,我們僅使用Dynamo 就完成了該景觀橋的建模工作。作為插件的Dynamo 本身也有其獨立完整性。如有需要,我們也可結合Revit 進行聯動,完成大型復雜構件的建模工作。
計算式設計的基礎在于腳本的創建。設計師按自身需求,選擇程序預先封裝好的節點拼裝出自己的程序。這種方法節約了設計師學習編程的時間,降低了軟件使用門檻。但因計算僅基于Dynamo 靜態節點,代碼處理不同數據的能力也因此被削弱。為彌補該類不足,Dynamo 還開放了用戶自定義節點,允許設計師自行通過Python 腳本語言創建自定義節點。熟悉編程的設計師往往通過寫代碼定義出有針對性的節點,高效地解決設計中遇到的難題,避免因原生節點計算力不足,導致思維邏輯不得不繞“遠路”的辦法。
近年來,隨著計算機、樹脂材料、工業制作等專業的不斷發展,與土木工程相結合的跨界運用不斷涌現,3D 打印技術無疑是眾多應用中的一個亮點。有的3D 打印機甚至可以直接打印結構構件或小型建筑。該方法地出現極大地提高了生產效率,提升建筑設計的適應性以及拓展性。這在技術上是一個質地飛躍,極大影響到建筑設計思維。3D 打印技術的興起以數控技術為依托,改變了以前建筑只能手工堆砌的狀態。時代的發展對傳統設計行業提出了更高的要求,程序設計,不但可以豐富設計師的設計手段,更可有效地實現對機器設備地控制,從而完成與新技術地結合,實現智慧建造。
由于Dynamo 本身使用開源的方式進行開發與維護,使得設計師可以根據自身需求,將Dynamo 進行定制化開發,并移植到需要的軟件中。當開發者發現Dynamo 主程序本身存在Bug 或有更優化的處理邏輯也可直接Pull Request 向Dynamo 根項目發起代碼更新請求。此外,Autodesk 公司還推出了更穩定,兼容性更好,界面設計更優秀的Dynamo Studio,該軟件進行收費許可,對穩定性看重的大型企業可以考慮這種商業版。該項目組表示基礎版本的Dynamo 會持續開源狀態,并長期免費提供下載。通過這種可交互式的開發模式,設計師感受到了來自軟件廠商的平等溝通,為Dynamo 的發展攢下了不少的好感。這也使得Dynamo 版本快速地迭代更新,軟件本身不斷地完善。
在整個建模過程中,Dynamo 可視化程序算法的預定義功能節點的復雜連接看似繁雜,但用戶只需梳理好建模的邏輯思路,并將思路轉化為一步步的邏輯程序,即可創建復雜的空間曲面形體[3]。
本文將計算式設計、可視化編程與橋梁工程相結合,將這種新的設計方式引入到BIM 橋梁設計中,并取得了一些初步成果。
與西方發達國家相比,我國BIM 技術研究起步相對較晚[4],但現今信息化已逐漸成為我國土建行業的主流與熱點,也是未來的發展方向。在復雜造型建筑結構的設計施工中,Dynamo 等參數化設計軟件將發揮越來越重要的作用[3]。