張亞州,孔凡弦
(中交第二公路勘察設計研究院有限公司,武漢 430052)
隨著我國經濟的快速發展,以及橋梁建造、設計技術的逐漸成熟,越來越多的標準化、裝配式橋梁被應用于新線橋梁、改擴建橋梁項目中。裝配式橋梁具有施工方便、施工質量易控制的優點。
在橋梁的勘察設計過程中,橋梁勘察、設計軟件發展迅速,目前較為成熟的有橋梁大師、橋梁通、橋梁專家系統等。這類軟件可以快速生成橋型布置圖、平面圖等信息,可以極大地提高生產效率。然而由于項目實際情況、需求的多樣性,目前還沒有軟件能將橋梁勘察設計過程中的所有任務集成到軟件中,并且由于各個設計院具有自己的繪圖默認習慣,軟件無法滿足各個單位的個性化需求[1]。為提高橋梁勘察設計效率,將生產力從繁重、重復的工作中解脫出來,一些勘察設計人員借助excel、autolisp等軟件制作了與自己工作密切相關的小插件,提高了生產效率[2-4]。然而excel與cad交互性較差,且許多任務如繪制橋梁分聯示意圖等,需要在cad中生成或改變新圖元等工作,無法簡單采用excel完成。Autolisp為autocad的內置編程語言,與cad交互性較好,但是需要一定編程基礎,且其可視化效果較差。
鑒于以上原因,作者基于MATLAB語言[5]設計了一款橋梁勘察設計軟件,主要處理勘察、設計階段的重復性工作,簡單、快速、準確完成計算、繪圖任務。軟件設計有GUI截面[6],且采用參數化設計[7],可以更大程度地適用于不同類型、不同要求的計算、繪圖任務。
軟件實現的三大功能:測量資料的轉換,根據跨徑提測量資料,畫分聯示意圖。軟件根據對數據的處理階段可以分為三個模塊:前處理、分析計算、后處理模塊。前處理主要是獲取數據,這里主要采用了兩種,一種是通過讀取excel文件的方式獲取其中的數據,另一種是通過在gui界面上根據用戶輸入獲取數據。分析計算模塊為軟件的核心功能,該模塊根據不同的要求進行編寫,主要為對數據的處理、計算等,需要注意的是該模塊需要根據功能分析做好規劃,這也是需要向有經驗的員工請教的地方,軟件需要完成什么樣的任務,如何做更為便捷。最后是后處理模塊,該部分主要功能是將計算結果進行輸出,該部分需要對其他軟件的接口數據進行充分調研。
在項目定測階段,橋梁設計人員需要與測量單位互相提供要求及成果,然而由于使用軟件的差別,測量環境的影響等,測量單位提供的測量結果往往無法直接導入到橋梁設計軟件中,如設計橋梁時,需要中樁地面線,以及左右各n米的地面線,然而由于無法每次都精準地測量到左右n米處的地面高程,或者由于環境條件制約,只能測其左右位置地面高程,因此,本軟件提供了一種對原始測量數據的處理模塊。主要實現:
1)根據測量單位提供的相對距離絕對高程測量數據,將其轉換為相對距離相對高程(即抬桿法)格式。
2)根據測量單位提供的相對距離絕對高程測量數據,采用內插法(相似三角形原理)輸出左右n米縱斷面線,并生成scr腳本文件,導入到cad中。
在外業勘察期間,往往需要多專業的配合,專業之間通過互提資料單等方式提出測量要求和提供測量成果。橋位地形測量便是其中一項。在橋梁布孔之后,需要測量橋墩處的地形資料,并且當跨徑較大時,還需要根據要求進行加測。本模塊實現的功能即是根據跨徑和起始點樁號,提供寫有測量樁號的excel文件。
在多數橋梁繪圖軟件(如JSL-橋梁專家系統)中,生成的圖紙并無橋梁分聯示意圖,且當橋梁的跨徑較大、橋孔較多時,分聯示意圖的繪制將花費較多時間,本模塊實現根據跨徑等信息生成可被autocad直接讀取的腳本文件,在軟件中,用戶可以指定支座信息包括類型和型號。
該軟件的界面如圖1所示,文本框為可輸入信息,其中灰色已存在的文字為默認設置。軟件采用MATLAB進行編寫,該軟件具有對用戶友好,且可對多種格式的數據進行讀寫,這一點在多軟件之間的交互非常重要。

在模塊1,即測量資料的格式轉換中,主要分為兩個功能:將測試所得的地形數據由相對距離絕對高程轉成相對距離相對高程和根據相對距離計算左右一定距離的高程。在這個問題中需要準確識別每個橫斷面的測點數量,這也是采用excel軟件較難處理的問題。在MATLAB可以采用元胞數組,元胞數組在讀取excel文件后,對excel內的每一個位置均讀入變量內的一個元胞,可以采用以下語句選擇非零元胞(即剔除空白處):
Da =xlsread(strh,Sheet{kk});
Ca =sum(Da(i+1,:)>0);
在確定每個斷面的測點數之后,即可采用后續的邏輯關系計算抬桿法。
在計算左右各n米處縱斷面線時,步驟是先找到一組數據Di,Di+1,使Di 模塊2實現的功能為根據給出的跨徑組合,輸出測量資料。該部分采用MATLAB軟件的優點主要為可以根據提供的資料快速、自動形成excel文件。在軟件中可以設定兩個測量斷面之間的最大間距,也可以根據常用的跨徑設定確定的測量形式(%后為注釋內容,不編譯): maxspn=10; %最大間距 sp25=[8 8 9]; %25 m跨徑的分法 sp35=[8 9 9 9]; %35 m跨徑的分法 模塊3的功能是根據提供的跨徑信息,在cad中畫出分聯示意圖。Autocad提供了腳本文件的交互方式,即以.scr格式的文件加載到Autocad中。 在一組分聯圖中,共有分聯線、支座標識、支座型號、支座類型、橋墩編號、伸縮縫型號等信息,軟件的解決方案為:根據用戶輸入,確定一個分聯線的起點,并以此為原點,計算其他元素距該起點的相對位置,然后根據該相對位置確定其他元素各繪圖組碼值。在確定完各繪圖元素的組碼后,生成.scr文件供autocad調用繪圖。下列代碼為matlab寫出.scr文件的操作。 fid=fopen('fenlian.scr','w+'); fprintf(fid,'(command "text" (list %.3f %.3f) "" "90" "D80型伸縮縫")
',zz2(1),zz2(2)); fclose(fid); 所編軟件起源于某項目的定測詳勘期間,在此期間得到了多次實踐校核并不斷修改完善。使用該軟件可省去部分重復性工作,特別是大量、同類的無創造性的工作,提高效率。3.2 模塊2的實現原理
3.3 模塊3的實現原理
3 結 語