国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Civil3D的BIM路線全自動(dòng)識(shí)別與生成技術(shù)

2019-04-11 09:40徐小奇黃曉明
山西建筑 2019年5期
關(guān)鍵詞:中線路線線段

徐小奇 黃曉明

(東南大學(xué)交通學(xué)院,江蘇 南京 211189)

近年來,BIM技術(shù)在道路設(shè)計(jì),施工,運(yùn)營等項(xiàng)目中應(yīng)用越來越多。然而對(duì)于已建成的老路建立BIM模型進(jìn)行信息化管理的需求往往被忽略了。一個(gè)主要原因就是根據(jù)二維CAD圖紙手動(dòng)重新建立三維模型的工作量過于龐雜,費(fèi)時(shí)費(fèi)力,很難大規(guī)??焖俳⒐肪W(wǎng)絡(luò)的BIM信息體系。這也是道路BIM系統(tǒng)推廣困難的原因之一。而通過對(duì)BIM軟件平臺(tái)進(jìn)行二次開發(fā),使其能夠自動(dòng)完成二維CAD圖紙的識(shí)別并自動(dòng)建立BIM模型,將會(huì)是一個(gè)極為有效的解決辦法。

Civil3D是Autodesk公司根據(jù)專業(yè)需求在AutoCAD軟件的基礎(chǔ)上升級(jí)開發(fā)的道路基建BIM三維設(shè)計(jì)軟件。由于其本身集成了AutoCAD在內(nèi),可以很好地在同一個(gè)軟件系統(tǒng)內(nèi)完成.dwg格式圖紙的識(shí)別與BIM三維模型的生成。本文將探討通過二次開發(fā)Civil3D軟件,實(shí)現(xiàn)道路路線的全自動(dòng)識(shí)別與建模的技術(shù)。

1 開發(fā)環(huán)境

由于AutoCAD是1982年開發(fā)的計(jì)算機(jī)輔助設(shè)計(jì)軟件,在當(dāng)時(shí)的環(huán)境下并沒有考慮三維設(shè)計(jì)的需求而且數(shù)據(jù)結(jié)構(gòu)也比較老舊繁雜。Civil3D重新設(shè)計(jì)了能夠存儲(chǔ)更多信息且更為簡(jiǎn)潔明了的數(shù)據(jù)庫體系。本程序需要完成道路平縱線形信息從CAD數(shù)據(jù)庫到Civil3D數(shù)據(jù)庫的傳遞,就需要同時(shí)調(diào)用兩者的文檔管理器。所以為了程序的統(tǒng)一性開發(fā)環(huán)境需要同時(shí)滿足CAD與Civil3D二次開發(fā)的需求。選用目前主流的.net API作為軟件開發(fā)接口。開發(fā)語言選用C#.net。

2 程序運(yùn)行流程

本程序是作為一個(gè)插件運(yùn)行在Civil3D軟件的基礎(chǔ)上的,總共建立了三個(gè)模塊,分別是數(shù)據(jù)采集模塊,數(shù)據(jù)處理模塊,自動(dòng)建模模塊。

數(shù)據(jù)采集模塊通過直接讀取.dwg圖紙文件獲取各種圖形參數(shù)。獲取到的大量圖形參數(shù)在數(shù)據(jù)處理模塊中篩選分類并運(yùn)算處理后,得到需要的道路平縱線形參數(shù)。有了必要的參數(shù),通過自動(dòng)建模模塊就可以直接在Civil3D中建立路線模型。Civil3D中的道路是一個(gè)整體的對(duì)象,本模塊的作用就是在道路對(duì)象中寫入平縱線型的數(shù)據(jù)。

3 數(shù)據(jù)采集模塊

本程序以廣吉高速吉水支線中K4+500~K6+500一段作為范例。

首先遍歷塊表內(nèi)的所有塊表記錄,找到所有屬性為line的對(duì)象,輸出所有Object id。根據(jù)Object id查詢所有線段的起終點(diǎn)坐標(biāo),顏色和所屬圖層。將所有起終點(diǎn)的坐標(biāo)進(jìn)行對(duì)比,坐標(biāo)相同的,記錄所屬線段。起終點(diǎn)之一有重合的線段兩兩之間必然是相連的。將相連的線段作為一組存儲(chǔ)各端點(diǎn)的坐標(biāo),這樣可以有效減少輸出的數(shù)據(jù)量的大小。記錄顏色則是為判斷道路中線提供判斷依據(jù)。

遍歷所有文本對(duì)象,尋找字段含有字段“k xx+xxx”的對(duì)象。有該字段的對(duì)象即可確定為是樁號(hào)文本。

由于縱斷面圖中,為了方便人眼識(shí)圖,點(diǎn)線坐標(biāo)與實(shí)際坐標(biāo)無關(guān),豎向比例比水平比例也有放大10倍。從曲線的圖形參數(shù)上很難獲取道路豎曲線真實(shí)的參數(shù)。然而縱斷面圖中有如圖1所示的詳細(xì)文本說明來描述豎曲線的各項(xiàng)參數(shù),通過讀取相關(guān)文本,即可以方便地獲得。所以在該部分,主要的功能就是采集所有縱斷面圖中文本的內(nèi)容與該文本的坐標(biāo)。

4 數(shù)據(jù)處理模塊

對(duì)于采集到的大量數(shù)據(jù),需要進(jìn)行處理才能獲得最終的平曲線與豎曲線的圖形參數(shù)。

4.1 平曲線數(shù)據(jù)處理

平曲線數(shù)據(jù)處理的第一步就是要找出道路中線所屬的多段線。雖然線段已經(jīng)按所屬多段線分組存儲(chǔ),但是數(shù)量依然十分龐大。在這些多段線中有用于標(biāo)注的,屬于支路、涵道等其他設(shè)施與道路結(jié)構(gòu)的。道路中線僅僅是其中的一條多段線。所以首先要縮小判斷的范圍。

本程序使用的判斷條件是長(zhǎng)度與顏色。首先,繪制的CAD設(shè)計(jì)圖中,道路中線的顏色必然是與其他所有線條不一樣的。本例道路中線使用很深的灰色來表示的。采集到的數(shù)據(jù)顯示該顏色編號(hào)250,RGB值為(84,84,84),是唯一使用該色彩的多段線。為了防止特殊情況存在一個(gè)以上的結(jié)果,檢驗(yàn)多段線的長(zhǎng)度也可以排除錯(cuò)誤結(jié)果。將采集到的里程樁號(hào)最大值與最小值相減,可以得到圖紙中有樁號(hào)標(biāo)注的路段的總長(zhǎng)度Lz。利用采集到的每條多段線的端點(diǎn)坐標(biāo),計(jì)算每段長(zhǎng)度相加可得到多段線的總長(zhǎng)度。繪制在圖中的道路中線長(zhǎng)度往往是大于標(biāo)注樁號(hào)的路段長(zhǎng)度的。將線段總長(zhǎng)度小于90%Lz值的結(jié)果剔除,剩余的可以確定為是屬于道路中線的多段線。

確定道路中線之后的第二步就是確認(rèn)圖中樁號(hào)起始點(diǎn)坐標(biāo)。在樁號(hào)標(biāo)注中,往往使用一條多段線指向道路中線的末端延伸與道路中線的交點(diǎn)來定位樁號(hào)點(diǎn)。由于樁號(hào)標(biāo)注是自動(dòng)生成的一個(gè)整體,會(huì)存儲(chǔ)在同一圖層中。為了防止有其他圖形影響,僅在與標(biāo)注文本相同的圖層中利用端點(diǎn)坐標(biāo)搜尋距離最近的線段及其所屬多段線。由于所屬多段線僅有這一條線段,所以利用起終點(diǎn)坐標(biāo)計(jì)算延伸直線與道路中線交點(diǎn)的坐標(biāo)。此結(jié)果即為樁號(hào)起始點(diǎn)坐標(biāo)。

有了起始點(diǎn)之后第三步就是利用多段線各端點(diǎn)坐標(biāo)反算曲線段圖形參數(shù)。由于AutoCAD中并沒有緩和曲線等概念,所有現(xiàn)有的基于AutoCAD的道路設(shè)計(jì)插件都是用多段線擬合來表示曲線部分的,如圖2所示。Civil3D軟件中的路線曲線段則是真正的曲線。單單是多段線起終點(diǎn)數(shù)據(jù)是無法在Civil3D中繪制出曲線的。首先通過對(duì)比道路中線多段線中各線段長(zhǎng)度,本程序規(guī)定長(zhǎng)度小于上一段線段長(zhǎng)度1/6的即為擬合的曲線的起始線段,其起點(diǎn)為曲線起點(diǎn)。長(zhǎng)度大于上一段線段長(zhǎng)度6倍的即為擬合曲線的終止線段,其起點(diǎn)為曲線的終點(diǎn)。本文范例的道路中只有圓曲線,并沒有緩和曲線,所以結(jié)合起始線段與終止線段中間一條線段的其中一個(gè)端點(diǎn)坐標(biāo)可以方便地計(jì)算出圓曲線方程。利用獲得的方程可以取得圓曲線段半徑參數(shù)。

4.2 豎曲線數(shù)據(jù)處理

有了平曲線的參數(shù)后,豎曲線定位可依靠平曲線上的樁號(hào)來進(jìn)行。作為定位的基礎(chǔ),找到“里程樁號(hào)”文本所在坐標(biāo),記錄所有與該文本y坐標(biāo)相同的文本,即可獲得所有里程樁號(hào)的數(shù)值,同時(shí)對(duì)應(yīng)記錄每個(gè)數(shù)值文本坐標(biāo)上方的設(shè)計(jì)高程的值。

對(duì)于縱坡變坡處的圖形參數(shù),從如圖3所示標(biāo)注文本中即可獲取。遍歷所有文本,首先搜尋包含有字樣“T-”的文本,記錄切線長(zhǎng)數(shù)值與該文本坐標(biāo)。因?yàn)椤癟-”文本處于標(biāo)注圖形的中間,再根據(jù)每個(gè)“T-”文本的坐標(biāo)搜尋同一圖層距離最近的含有“R-”“kx+xx”“E-”字樣的文本和一個(gè)純數(shù)值文本,如此即可獲得每個(gè)變坡點(diǎn)處的圖形參數(shù)。

由于豎曲線的凹凸并不會(huì)在文本中標(biāo)注,需要通過分析獲得。以樁號(hào)里程作為橫坐標(biāo),高程作為縱坐標(biāo),對(duì)比變坡點(diǎn)處于前后變坡點(diǎn)或起終點(diǎn)連線的位置,在連線下方的則是凹曲線,連線上方的則為凸曲線。

5 Civil3D模型建立

有了所有必要的圖形參數(shù)后,在Civil3D中新建一條路線,通過簡(jiǎn)單的代碼輸入對(duì)應(yīng)圖形參數(shù)即可填充路線對(duì)象的平縱屬性值。

對(duì)于平曲線屬性需要輸入的參數(shù)為起始點(diǎn)坐標(biāo),各曲線段起終點(diǎn)坐標(biāo),曲線半徑,終點(diǎn)坐標(biāo),樁號(hào)起點(diǎn)坐標(biāo)與起點(diǎn)樁號(hào)值。軟件會(huì)自動(dòng)為完成的曲線生成所有樁號(hào)標(biāo)注。

對(duì)于豎曲線屬性需要輸入的是起點(diǎn)樁號(hào)與高程,變坡點(diǎn)樁號(hào)與高程,半徑R,外距E,各變坡處的凹凸屬性。

如此路線已經(jīng)自動(dòng)生成完成。套用默認(rèn)橫斷面即可在Civil3D中看到三維的路線模型,如圖3所示。整個(gè)程序操作與運(yùn)行時(shí)間耗時(shí)為2 min左右,相比于人工識(shí)圖然后手動(dòng)定位繪制路線時(shí)間大大縮短。

6 結(jié)語

本文通過二次開發(fā)Civil3D插件實(shí)現(xiàn)的路線全自動(dòng)識(shí)別與生成技術(shù)可以大大縮短從老路的二維CAD圖翻模建立BIM模型的時(shí)間。二次開發(fā)在BIM的應(yīng)用中有其獨(dú)特的優(yōu)勢(shì),可以顯著提高工作效率,減少人工成本,也可以擴(kuò)大BIM的應(yīng)用范圍。因此根據(jù)需求開發(fā)相關(guān)功能在BIM系統(tǒng)的應(yīng)用與推廣上有十分顯著的作用。

猜你喜歡
中線路線線段
畫出線段圖來比較
最優(yōu)路線
『原路返回』找路線
怎樣畫線段圖
我們一起數(shù)線段
數(shù)線段
課本內(nèi)外
課本內(nèi)外
——書寫要點(diǎn)(三)
課本內(nèi)外
找路線
贵港市| 出国| 历史| 武功县| 墨脱县| 如皋市| 永宁县| 洛阳市| 留坝县| 安庆市| 石渠县| 延庆县| 新郑市| 前郭尔| 丰镇市| 新安县| 扶余县| 鸡西市| 右玉县| 彭阳县| 奇台县| 凤翔县| 湄潭县| 利川市| 嵊州市| 漾濞| 平原县| 东台市| 朝阳市| 仲巴县| 阿拉善右旗| 句容市| 西平县| 疏附县| 东光县| 武冈市| 云浮市| 鹤庆县| 西宁市| 陇川县| 东明县|