陳炯偉 李付偉
(中鐵大橋局集團(tuán)第一工程有限公司,河南 鄭州 450000)
隨著科技的進(jìn)步,社會的發(fā)展,近年來橋梁建設(shè)尤其長距離橋梁建設(shè)越來越多。 與此同時,施工機(jī)械也在不斷發(fā)展,使得施工進(jìn)度越來越快,這就要求施工測量人員有高效率數(shù)據(jù)處理能力, 計算結(jié)果質(zhì)量高, 以確保施工質(zhì)量。 大部分橋梁施工坐標(biāo)是通過EXCEL 編制公式計算或用卡西歐fx-5800P 編寫坐標(biāo)計算程序,效率低,數(shù)據(jù)質(zhì)量得不到保證[1]。 筆者結(jié)合多年的施工經(jīng)驗,研究了一種斷面定義算法, 并利用C++開發(fā)環(huán)境開發(fā)了一套橋梁坐標(biāo)計算軟件,在施工中應(yīng)用高效而準(zhǔn)確。
平曲線最基本的線型元素是圓曲線和緩和曲線,在線路坐標(biāo)計算中每個施工測量人員必須掌握線型元素知識,它是計算的核心[2]。 在本軟件中用最基本的線型計算參數(shù)和計算公式作為數(shù)學(xué)模型。
(1)切線角公式
β 為緩和曲線長l 所對應(yīng)的中心角。
(2)緩和曲線角公式
(3)緩和曲線的參數(shù)方程
β=180°/π×L/R(L=βπR/180°),弧長公式中β 為圓心角。 △X=sinβ×R,△Y=(1-cosβ)×R,C=弦長,X=X1+cos(α±β/2)×C,Y=Y1+sin(α±β/2)×C,β 代表偏角,即弧上任一點所對的圓心角。 β/2 是所謂的偏角(弦長與切線的夾角)?!鱔、△Y 代表增量值,X、Y 代表準(zhǔn)備求的坐標(biāo),X1、Y1 代表起算點坐標(biāo)值,α 代表起算點的方位角,R 代表曲線半徑。
式中,X0、Y0為起點坐標(biāo),L 為里程差,C 為切線方位角。
C++語言支持面向?qū)ο蟮某绦蛟O(shè)計, 與C 相比提供了更好的類型檢查機(jī)制, 提供了更好的結(jié)構(gòu)化程序設(shè)計技術(shù)[3];C++語言與其他面向?qū)ο蟮某绦蛟O(shè)計語言相比,最重要的優(yōu)點是程序的執(zhí)行效率高;C++可以最充分地利用面向?qū)ο缶幊蹋∣OP)的優(yōu)勢。 OOP 可以用模塊化方法進(jìn)行編程,從而避免每次從頭開始。 構(gòu)件還可以擴(kuò)展,通過繼承生成具有新功能的新構(gòu)件。 軟件利用了C++面向?qū)ο髲?qiáng)大的語法功能類,類中的數(shù)據(jù)具有隱藏性,類還具有封裝性,也具有代碼的重用性,定義類有利于代碼的有效管理,而且C++語法簡單易用,開發(fā)效率高[4]。 在代碼編寫中定義了data 類和Qxcalculate 類, 所有的成員變量和方法都在該類中實現(xiàn)。 開發(fā)平臺選用Visual C++6.0 功能強(qiáng)大的可視化軟件開發(fā)工具。
本軟件中模塊:文件管理模塊,曲線參數(shù)輸入模塊,數(shù)據(jù)錄入模塊,計算模塊。
為了更有效地處理數(shù)據(jù),設(shè)計出好的算法,編寫出結(jié)構(gòu)清晰而且效率高的程序,必須研究數(shù)據(jù)的特性、數(shù)據(jù)間的相互關(guān)系及其對應(yīng)的存儲表示, 并利用這些特性和關(guān)系設(shè)計出相應(yīng)的算法和程序, 好的算法, 使程序效率較高。
本程序定義數(shù)據(jù)結(jié)構(gòu)如下:
(1)曲線參數(shù):public struct Pqxcs。
(2)孔跨定義:public struct Qlccs。
(3)斷面定義:public struct ZzzwDuanMianCs。
(4)數(shù)組(Array)。
軟件開發(fā)的數(shù)據(jù)錄入中數(shù)據(jù)格式的驗證采用語言中的正則表達(dá)式, 正則表達(dá)式是一種高效的數(shù)據(jù)匹配驗證方法,可對錄入的數(shù)據(jù)進(jìn)行有效性驗證。 正則表達(dá)式是一種文本模式,包括普通字符(例如a 到z 之間的字母)和特殊字符(稱為“元字符”)。 模式描述在搜索文本時要匹配一個或多個字符串。
軟件中正則表達(dá)式的驗證代碼:
//正則表達(dá)式1
//正則表達(dá)式2
軟件計算坐標(biāo)的主要算法: 本軟件主要采用斷面定義法來計算橋梁下部結(jié)構(gòu)坐標(biāo)(鉆孔樁,承臺,墩身),將同種樁型斷面定義為一種編號。 首先計算設(shè)計線路中心線坐標(biāo)X、Y,再計算參考線中線(待求點位所在中線)坐標(biāo)X、Y。 在施工中實際情況是,有些設(shè)計線路中線與線路中線不重合(如雙線設(shè)計)。 本軟件所有參數(shù)為設(shè)計線路參數(shù),并在計算過程中設(shè)有線間距輸入對話框,線路中線在設(shè)計線路左(右)側(cè),線間距輸入正(負(fù))距離,軟件會自動判讀歸算到計算點的參考中心線上。 考慮到有緩和曲線的線路計算中坐標(biāo)精度問題, 算法采用在第二緩和曲線計算先通過第一緩和曲線的起點坐標(biāo)(X,Y),起點方位角(C)計算交點(JD)坐標(biāo)(X,Y),再通過交點坐標(biāo)(X,Y),轉(zhuǎn)角(β),切線長(T)計算第二緩和曲線終點坐標(biāo)(X,Y)和方位角(C),然后通過里程(K)反推計算中線坐標(biāo)(X,Y),這樣計算得到的中線坐標(biāo)精度非常高。 其主要函數(shù)定義代碼如下。
第二緩和曲線坐標(biāo)計算函數(shù)實現(xiàn)代碼如下:
圓曲線坐標(biāo)計算函數(shù)實現(xiàn)代碼如下:
通過編輯計算點距中線(中心點)的橫向偏距Hoff,縱向偏距Voff,斷面編號來計算坐標(biāo)。 本軟件考慮到在實際工程橋梁設(shè)計中參考線與線路中心線有任意夾角(一般設(shè)計90°)的情況,在算法當(dāng)中定義了墩切線計算,可計算實際任意角的參考切線方位角, 使得軟件在計算中具有通用性。 實現(xiàn)代碼如下:
計算公式:先設(shè)一標(biāo)志量,fangweizb。 如果Voff>0,則
具體包括軟件啟動封面設(shè)計,軟件框架設(shè)計,按鈕設(shè)計,面板設(shè)計,菜單設(shè)計,標(biāo)簽設(shè)計,圖標(biāo)設(shè)計,滾動條及狀態(tài)欄設(shè)計,安裝過程設(shè)計。
以實際工程項目中一段數(shù)據(jù)為實例進(jìn)行計算, 平曲線參數(shù)如下。
孔跨定義文件,鉆孔樁,承臺,墩身斷面定義文件可通過EXCEL 編輯,計算結(jié)果如下。
?
軟件通過實際施工中項目部分?jǐn)?shù)據(jù)得出的結(jié)果與用其他方法計算的結(jié)果對比如下表所示, 觀察差值可知數(shù)據(jù)計算結(jié)果準(zhǔn)確無誤。
軟件計算坐標(biāo)與設(shè)計坐標(biāo)對照表
?
在工程施工測量中橋梁計算及圖紙復(fù)核是必不可少的工作, 對施工設(shè)計圖的審核即是對設(shè)計單位設(shè)計成果的質(zhì)量控制, 也能糾正參與建設(shè)活動的各方的不規(guī)范行為。 而且圖紙審核是在施工圖設(shè)計文件之后,交付施工之前,基本上可以杜絕設(shè)計圖的設(shè)計質(zhì)量隱患,有效避免各種損失,保證建設(shè)的質(zhì)量。 現(xiàn)在施工設(shè)備及工藝越來越先進(jìn),施工速度越來越快,要求測量人員快速而準(zhǔn)確地計算出現(xiàn)場測量放樣數(shù)據(jù)。 本軟件在計算中采集的數(shù)據(jù)量較少,使用者把主要工作放在圖紙復(fù)核和計算要素統(tǒng)計上,主要整理墩中心里程、夾角、要計算的斷面,整個計算集成化,自動進(jìn)行運(yùn)算,速度快,不需要人工參與,給施工測量人員帶來極大方便。
[1]張正祿.工程測量學(xué)[M].武漢:武漢大學(xué)出版社,2005-10-01.
[2]熊春寶.測量學(xué)[M].天津:天津大學(xué)出版社,1996.
[3]譚浩強(qiáng).C++程序設(shè)計[M].中國鐵道出版社,2006-3-1.
[4](美)(MarkAllenWeiss)維斯.數(shù)據(jù)結(jié)構(gòu)與算法分析C++描述E[M].人民郵局出版社,2007.