根據Excel創建管道系統及材質

Dynamo案例百解——簡單實用的Dynamo圖文教程已經可以購買並學習了哈!有興趣小夥伴,可以點擊鏈接,瞭解詳情~


之前看過程鑫老師的文章,介紹過根據Excel數據創建管道系統,但是有小夥伴問過我,照着他這個做,沒成功,於是呢,我就想試下,結果發現也沒成功。

然後我逐個節點過了一遍,發現可能是因爲版本問題,有些API和節點有調整,造成了程序不成功。

但是大致思路是沒問題的,所以我照着他這個教程,結合我的思路,替換了一些節點,把教程分享給大家,用的是Revit2020和Dynamo2.3版本。

我們說是創建管道系統,其實並不是真的創建,而是獲取Revit樣板自帶的系統,進行復制和調整。

首先,準備我們本次要用的基礎數據,打開Excel,基本數據如下:

由上面兩張圖可以看圖,Excel中第一列是Revit自帶的系統類型,第二列是我們要新建的系統類型,兩列是一一對應的關係,需要我們人爲指定。

後面幾列就都比較好理解了,根據需要設置即可。

基礎數據準備好了,我們就可以着手開始寫程序了。

首先,分兩步,一是讀取Excel數據,用Data.ImportExcel節點即可,二是獲取Revit自帶的管道系統(這部分是程鑫老師教程裏的,後面會單獨介紹我的方法),用Element Types節點,選擇管道系統和通風系統,並獲取所有系統。

然後我們提取Excel數據,首先用List.Deconstruct節點,去掉第一行標題,然後用List.Transpose節點,對數據轉置,獲取每列的數據。我們從Excel中可以看出,Revit系統類別這列是有重複的,那麼我們可以對其他列的數據進行分組,根據Revit系統類型這列裏同名的系統。

另一邊,根據項目中所有的管道系統,比對Excel中的名稱,來獲取管道系統:

但是這樣操作太複雜了,新手很難理解這裏在做什麼,實際上是有簡單的方法的,這裏我用到了Orchid節點包裏的ElementType.ByName節點,直接根據Excel裏的系統名稱,獲取系統類型:

之後用Code Block,系統名稱和縮寫連接在一起:

然後可以根據名稱,複製系統類型,用到ElementType.Duplicate節點:

系統複製好以後,我們可以對系統材質進行設置:

這裏有個前提,就是我們Excel裏材質名稱列裏的材質,必須是項目中有的,然後我會根據這個材質,複製我們所需要的的材質:

之後就可以複製材質,並根據Excel數據給材質設置顏色:

最後將材質,添加給系統即可:

最後附上完整截圖:

好了,今天的教程就到這裏了,主要是解答下小夥伴的提問,在程鑫老師的教程基礎上,更新了下,當然還需要大家自行嘗試,有不對的地方,請指正哈!

BIM的樂趣“羣成員已經過百了,有希望入羣的小夥伴,可以掃碼,加我微信,備註來源,我來拉你入羣哦~

本公衆號還有其他Dynamo案例教程:

一、Dynamo批量將房間名稱轉換爲模型文字

二、Dynamo一鍵清理Revit中未放置的房間和多餘的房間

三、最短路徑——通過Dynamo批量創建行進路線

四、通過Dynamo批量打印PDF圖紙

五、Dynamo批量分離中心文件並另存到指定目錄

六、Dynamo讀取cad圖快座標,匹配地形種樹

七、Dynamo自動創建門窗詳圖

八、批量刪除不需要過濾器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章