BIM一波流第五彈——Civil3D導出橋樑數據到dynamo結合revit建模(一)

補一下第五彈,落了比較久。因為這章的內容比較複雜,我直到現在才搞明白。

中心思想和題目說的一樣, 首先我們需要從做好的corridor 導出想要的數據。

以樁號P36以後為例。這裡的corridor長這樣。

準備導出數據。 toolspace-Toolbox-Corridor points report

選擇左右邊緣點和中心點crown

導出如下,有一萬多行數據,感覺有點整多了。。。

發現每一站中心點crown都重複了一行。寫個VBA用countif 函數把重複的行刪掉。

運行一下,好了。

現在要對數據進行處理。因為revit不喜歡太大的數字,所以需要把坐標處理一下。以第一站的坐標為初始坐標,剩下的坐標都減去初始坐標得到的值作為轉化坐標。Easting是X軸,Northing 是Y軸,Elevation 是Z軸。

剩下的用VBA寫一下。

搞定。

現在同一個表格里包括了中心線上的點,左右邊緣的點,現在把它們分別整理到新的頁中。以中心點為例,代碼如下。

Sub Macro3()

Dim i As Long, n As Integer

Application.ScreenUpdating = False

n = 2

For i = 2 To Range("A65536").End(xlUp).Row Step 1

If Sheets("transform").Cells(i, 6).Value = "Crown" Then

Sheets("profile").Range(Sheets("profile").Cells(n, 1), Sheets("profile").Cells(n, 5)).Value = Sheets("transform").Range(Sheets("transform").Cells(i, 11), Sheets("transform").Cells(i, 15)).Value

n = n + 1

End If

Next

Application.ScreenUpdating = True

Application.Goto Reference:="Macro3"

End Sub

左右邊緣的點也類似。運行好了如下。

其實到這裡都不是最要緊的,最要緊的步驟是新建一個名為「PROF」的標籤頁,然後不光要把中心線的高程信息複製過去,還要算出四個變數用來定位其他的點,分別是左邊緣到中心點的水平偏移,左邊緣到中心點的高程偏移,右邊緣到中心點的水平偏移,右邊緣到中心點的高程偏移。以左邊緣到中心點的高程偏移為例,代碼如下。

運行完了結果這樣

現在發現每一站之前間隔太小了,比如前兩行,1046.91到1046.97隻差0.06,擔心給後續軟體增添負擔,所以現在希望只留下1046.91,剩下小數部分不同的刪掉。寫個代碼。

搞定了。原來有三千多個站,現在只有五百個了。

數據處理到此為止。把excel保存一下。接下來開始用revit 建模。

我先去吃飯,回來接著寫。

推薦閱讀:

TAG:BIM | 道路桥梁与渡河工程 | Dynamo |