

【4月17日,成都/長沙】柏慕聯(lián)創(chuàng)聯(lián)合一磚一瓦推出BIM系統(tǒng)實戰(zhàn)新課程(土建/機電,22天)
獲取《每日一技,我的成長軌跡》匯總
· 請訪問柏慕聯(lián)創(chuàng)官方網(wǎng)站: www.gx178.com ·
BIM百科 | Civil3D導出橋梁數(shù)據(jù)到dynamo結合revit建模
聲明:本文已獲原作者授權,版權歸原作者所有,轉載請注明出處
補一下第五彈,落了比較久。因為這章的內容比較復雜,我直到現(xiàn)在才搞明白。
中心思想和題目說的一樣, 首先我們需要從做好的corridor 導出想要的數(shù)據(jù)。
以樁號P36以后為例。這里的corridor長這樣。

準備導出數(shù)據(jù)。 toolspace-Toolbox-Corridor points report

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

導出如下,有一萬多行數(shù)據(jù),感覺有點整多了。。。

發(fā)現(xiàn)每一站中心點crown都重復了一行。寫個VBA用countif 函數(shù)把重復的行刪掉。

運行一下,好了。

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

剩下的用VBA寫一下。

搞定。

現(xiàn)在同一個表格里包括了中心線上的點,左右邊緣的點,現(xiàn)在把它們分別整理到新的頁中。以中心點為例,代碼如下。
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”的標簽頁,然后不光要把中心線的高程信息復制過去,還要算出四個變量用來定位其他的點,分別是左邊緣到中心點的水平偏移,左邊緣到中心點的高程偏移,右邊緣到中心點的水平偏移,右邊緣到中心點的高程偏移。以左邊緣到中心點的高程偏移為例,代碼如下。

運行完了結果這樣

現(xiàn)在發(fā)現(xiàn)每一站之前間隔太小了,比如前兩行,1046.91到1046.97只差0.06,擔心給后續(xù)軟件增添負擔,所以現(xiàn)在希望只留下1046.91,剩下小數(shù)部分不同的刪掉。寫個代碼。

搞定了。原來有三千多個站,現(xiàn)在只有五百個了。

數(shù)據(jù)處理到此為止。把excel保存一下。接下來開始用revit 建模。
我先去吃飯,回來接著寫。

柏慕聯(lián)創(chuàng)BIM技術服務
BIM設計 | BIM咨詢 | BIM培訓 | BIM人才
· 點亮建筑新夢想 ·
▼
