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 建模。我先去吃飯,回來接著寫。
推薦閱讀: