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一鍵清理Revit中未放置的房間和多餘的房間