亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Excel VBA的盾構(gòu)中心線計(jì)算程序設(shè)計(jì)

        2014-04-18 07:42:46蘇小文高俊強(qiáng)
        地理空間信息 2014年6期
        關(guān)鍵詞:斷鏈線型中心線

        蘇小文,高俊強(qiáng)

        (1. 南京工業(yè)大學(xué) 測(cè)繪學(xué)院,江蘇 南京 210009)

        基于Excel VBA的盾構(gòu)中心線計(jì)算程序設(shè)計(jì)

        蘇小文1,高俊強(qiáng)1

        (1. 南京工業(yè)大學(xué) 測(cè)繪學(xué)院,江蘇 南京 210009)

        為克服現(xiàn)有盾構(gòu)中心線計(jì)算軟件難以解決曲線出洞和斷鏈等問(wèn)題,結(jié)合工程實(shí)際,采用Excel VBA進(jìn)行二次開(kāi)發(fā)。使用表明,程序計(jì)算準(zhǔn)確,計(jì)算誤差達(dá)mm級(jí),且便于修改,很好地解決了以前計(jì)算方式的不足。

        盾構(gòu)中心線;Excel VBA;程序

        盾構(gòu)施工中,盾構(gòu)中心線的計(jì)算是一項(xiàng)很重要的工作[1]。目前常用的方法有手工計(jì)算和程序計(jì)算。手工計(jì)算工作量大,且容易出錯(cuò)?,F(xiàn)有的多種計(jì)算程序雖能實(shí)現(xiàn)三維坐標(biāo)的批量快速計(jì)算,但存在許多不足。如海瑞克的計(jì)算軟件,默認(rèn)管片距為1.0 m,而國(guó)內(nèi)通常為1.2 m;三維坐標(biāo)計(jì)算必須從直線段算起,難以滿足曲線出洞的需要;也難以處理斷鏈問(wèn)題。為解決以上問(wèn)題,采用首環(huán)計(jì)算和非首環(huán)計(jì)算的思想,基于Excel VBA進(jìn)行程序開(kāi)發(fā)。

        1 線路模型

        1.1 平面曲線模型

        盾構(gòu)平面軸線設(shè)計(jì)一般由直線、圓曲線和緩和曲線組成。

        1.1.1 直線模型

        假設(shè)控制點(diǎn)A的坐標(biāo)為(XA,YA),控制點(diǎn)到待定點(diǎn)的坐標(biāo)方位角為α,兩點(diǎn)間距離為l,則待定點(diǎn)坐標(biāo)可按下式計(jì)算:

        1.1.2 圓曲線模型

        圖1 圓曲線示意圖

        如圖1,以曲線起點(diǎn)ZY(或終點(diǎn)YZ)為坐標(biāo)原點(diǎn),其切線為x軸,過(guò)ZY點(diǎn)(或YZ點(diǎn))的半徑為y軸,建立直角坐標(biāo)系。根據(jù)曲線上任意一點(diǎn)i的曲線長(zhǎng)li及半徑R來(lái)確定i點(diǎn)的坐標(biāo)xi與yi。建立參數(shù)方程[2]:

        以代入上式并用級(jí)數(shù)展開(kāi),可得圓曲線參數(shù)方程:

        i的坐標(biāo)是在局部坐標(biāo)系下的,需轉(zhuǎn)換為工程坐標(biāo)系下的坐標(biāo):

        上式中,按計(jì)算方向,曲線右偏時(shí)δ取+1,左偏時(shí)δ取-1。

        1.1.3 緩和曲線模型

        以ZH點(diǎn)為原點(diǎn),過(guò)ZH點(diǎn)的緩和曲線的切線為x軸,ZH點(diǎn)上緩和曲線的半徑為y軸,建立直角坐標(biāo)系。采用切線支距法計(jì)算標(biāo)準(zhǔn)緩和曲線上任意點(diǎn)的坐標(biāo)[3]:

        在盾構(gòu)推進(jìn)過(guò)程中,由于存在超高h(yuǎn)和超距e的影響,緩和曲線方程變?yōu)椋?/p>

        式中,l0為緩和曲線長(zhǎng);li為以ZH點(diǎn)起算的弧長(zhǎng);e為偏移量;R為圓曲線半徑。在具體設(shè)計(jì)中,大部分將偏移后的曲線方程表現(xiàn)成以下兩個(gè)方程[4]:

        式中,a、b、c、d為緩和曲線的待定系數(shù);l0為緩和曲線長(zhǎng);R1為偏移后的圓曲線半徑。

        為了能在直線和圓曲線之間插入緩和曲線,必須將原有圓曲線向內(nèi)移動(dòng)一定的距離p。通常采用圓心不動(dòng)、半徑減小,待定系數(shù)a可通過(guò)偏移后曲線終點(diǎn)的橫坐標(biāo)求之;同時(shí)縱坐標(biāo)也為b、c、d的求解提供了一個(gè)條件,再找異于起點(diǎn)和終點(diǎn)的兩點(diǎn)坐標(biāo)即可求出b、c、d[5]。將x、y代入式(4),計(jì)算出工程坐標(biāo)。

        1.2 豎曲線模型

        如圖2,已知豎曲線起點(diǎn)A及其高程HA、曲中點(diǎn)B、坡度i1、i2、豎曲線半徑R、離開(kāi)A的里程x??v斷面上的曲折角可以認(rèn)為α = ?i = i1-i2,i1、i2為兩相鄰的縱向坡度值。若α>0,表示豎曲線為凸曲線;反之,則是凹曲線。兩種模型如下[6]。

        凸曲線模型:

        圖2 豎曲線示意圖

        2 程序設(shè)計(jì)

        2.1 計(jì)算程序編制

        程序設(shè)計(jì)思路如下:模型分段分類存儲(chǔ)曲線的要素,并根據(jù)實(shí)際需要,分里程從小到大和從大到小2種計(jì)算方式,按首環(huán)計(jì)算和非首環(huán)計(jì)算2種形式,考慮可能存在的斷鏈。

        2.1.1 首環(huán)計(jì)算

        在對(duì)應(yīng)線型中輸入特征點(diǎn)數(shù)據(jù)、起始方位角和首環(huán)距特征點(diǎn)距離。若數(shù)據(jù)為空,則報(bào)錯(cuò)提醒輸入數(shù)據(jù)。根據(jù)首環(huán)距就可以推算第一環(huán)里程。由于每環(huán)為1.2 m,可以算出線型內(nèi)每一環(huán)里程。套用模型公式,算出每一環(huán) 和 坐標(biāo),當(dāng)管片里程和最后特征點(diǎn)里程差小于1.2 m計(jì)算完畢,輸出計(jì)算結(jié)果。

        以緩和曲線為例,部分主要代碼如下:

        1)對(duì)輸入?yún)?shù)定義并賦值。

        Dim shj, fwjdfm, fwj, zhlc, zhx, zhy, hylc, hyx, hyy, a, b, c, d, l0, r, li, l, xi, yi, x, y, kk, fjlc, fjx, fjy As Double

        Dim qcgpj, hcgpj, qclc, hclc, qcx, qcy, qch, hcx, hcy, hch, qcxi, qcyi, hcxi, hcyi, qcfjlc, hcfjlc, qcfjx, qcfjy, hcfjx, hcfjy, qcli, hcli As Double

        Dim n, i, p As Integer

        Dim tempmsgbox As VbMsgBoxResult

        pi = Application.pi()

        shj = Range("e8").Value

        fwjdfm = Range("g8").Value

        zhlc = Range("E9").Value

        zhx = Range("E10").Value

        zhy = Range("E11").Value

        hylc = Range("h9").Value

        hyx = Range("h10").Value

        hyy = Range("h11").Value

        a = Range("E16").Value

        b = Range("g16").Value

        c = Range("E17").Value

        d = Range("g17").Value

        r = Range("g18").Value

        2)判斷輸入是否齊全。

        If shj = "" Or zhlc = "" Or fwjdfm = "" Or zhx = "" Or zhy = "" Or hylc = "" Or hyx = "" Or hyy = "" Or a = "" Or b = "" Or c = "" Or d = "" Or r = "" Then

        tempmsgbox = MsgBox("請(qǐng)回輸入初始參數(shù)", vbOKOnly, "錯(cuò)誤1")

        Exit Sub

        End If

        3)判斷計(jì)算方式并通過(guò)公式計(jì)算。

        If Worksheets("三維坐標(biāo)計(jì)算").CheckBox1.Value = True Then ’從小里程到大里程

        fwj = (Int(fwjdfm) + Int((fwjdfm - Int(fwjdfm)) * 100) / 60 + (fwjdfm * 10000 - Int(fwjdfm) * 10000 -Int((fwjdfm - Int(fwjdfm)) * 100) * 100) / 3600) * pi / 180’角度換算弧度

        If hylc > zhlc Then ’直線到圓的緩和曲線

        fjlc = zhlc + shj

        n = Int((hylc - fjlc) / 1.2)

        For i = 0 To n ’緩和曲線坐標(biāo)計(jì)算

        li = shj + i * 1.2

        qcli = li + qcgpj

        hcli = li + hcgpj

        l = li + zhlc

        qclc = l + qcgpj

        hclc = l + hcgpj

        p = i + 3

        xi = li - (li * li * li * li * li) / a / (r * r) / (l0 * l0)

        yi = b * xi * xi * xi - c * xi * xi + d * xi

        qcxi = qcli - (qcli * qcli * qcli * qcli * qcli) / a / (r * r) / (l0 * l0)

        qcyi = b * qcxi * qcxi * qcxi - c * qcxi * qcxi + d * qcxi

        hcxi = hcli - (hcli * hcli * hcli * hcli * hcli) / a / (r * r) / (l0 * l0)

        hcyi = b * hcxi * hcxi * hcxi - c * hcxi * hcxi + d * hcxi

        If Worksheets("三維坐標(biāo)計(jì)算").OptionButton1. Value = True Then ’曲線左轉(zhuǎn)

        x = zhx + xi * Cos(fwj) + yi * Sin(fwj)

        y = zhy + xi * Sin(fwj) - yi * Cos(fwj)

        qcx = zhx + qcxi * Cos(fwj) + qcyi * Sin(fwj)

        qcy = zhy + qcxi * Sin(fwj) - qcyi * Cos(fwj)

        hcx = zhx + hcxi * Cos(fwj) + hcyi * Sin(fwj)

        hcy = zhy + hcxi * Sin(fwj) - hcyi * Cos(fwj)

        End If

        2.1.2 非首環(huán)計(jì)算

        非首環(huán)計(jì)算的關(guān)鍵在于提取上一環(huán)的里程和平面坐標(biāo),其他計(jì)算和首環(huán)計(jì)算一致。

        提取上環(huán)里程和平面坐標(biāo)的代碼如下:

        tempx = Worksheets("三維坐標(biāo)").Range("b65536").End(xlUp).Row

        p = Worksheets("三維坐標(biāo)").Range("a" & tempx).Value ’P為上一環(huán)環(huán)數(shù)

        plc = Worksheets("三維坐標(biāo)").Range("b" & tempx).Value ’plc為上一環(huán)里程

        2.1.3 斷鏈處理

        斷鏈有長(zhǎng)鏈和短鏈之分:斷前里程-斷后里程>0,長(zhǎng)鏈;斷前里程-斷后里程<0,短鏈[7]。我們稱斷鏈前里程為新里程dllxc,斷鏈后里程為舊里程dljlc,里程差lcc。為計(jì)算斷鏈后各環(huán)的里程,需先判別斷鏈?zhǔn)情L(zhǎng)鏈還是短鏈,同時(shí)計(jì)算長(zhǎng)、短斷鏈值。計(jì)算思路如下:

        lcc=lxc-jlc,長(zhǎng)鏈lcc>0,短鏈lcc<0,則斷鏈后任意環(huán)里程l=l-lcc。具體代碼如下:

        lcc = dlxlc - dljlc

        If l >= dlxlc Then

        l = l - lcc

        End If

        2.1.4 高程計(jì)算

        平面計(jì)算結(jié)束后每一環(huán)都有了里程,高程只需根據(jù)每一環(huán)里程對(duì)應(yīng)的設(shè)計(jì)線型加以計(jì)算。判別代碼為:

        For Each temprag In Worksheets("三維坐標(biāo)").Range ("b2:b" & Worksheets("三維坐標(biāo)").Range ("b65536").End(xlUp).Row)’temprag為每一環(huán)里程

        If (temprag.Value >= stzdlc And temprag.Value <= mtzdlc) Then

        li = temprag.Value - stzdlc

        li2 = mtzdlc - temprag.Value

        2.2 實(shí)例應(yīng)用

        利用本程序計(jì)算無(wú)錫一號(hào)線某區(qū)間盾構(gòu)中心線三維坐標(biāo),各線型中選取一環(huán),將結(jié)果與手算結(jié)果比較,最大計(jì)算誤差為0.4 mm,完全滿足施工需要。

        [1] 陳祥,饒雪平.軌道交通盾構(gòu)推進(jìn)中心坐標(biāo)計(jì)算軟件[J].中國(guó)市政工程,2007(4):78-80

        [2] 王維.地鐵盾構(gòu)法施工人工導(dǎo)向測(cè)量研究[D].南京:南京工業(yè)大學(xué),2008

        [3] 李青岳.工程測(cè)量學(xué)[M].北京:測(cè)繪出版社,1995

        [4] 王榮,楊雪.計(jì)算隧道軸線三維坐標(biāo)偏差方法的介紹及探討[J].測(cè)繪技術(shù)裝備,2011,2(13):37-39

        [5] 冉利剛.地鐵隧道偏移計(jì)算方法探討[J].隧道地下工程,2009(1):79-83

        [6] 張德海.地鐵隧道盾構(gòu)自動(dòng)定位系統(tǒng)開(kāi)發(fā)研究[D].上海:同濟(jì)大學(xué),2006

        [7] 郝紅彬.公路線路斷鏈編程計(jì)算及平面中線編程繪制[J].山西建筑,2003,29(13):112-113

        [8] 李文軍,唐爭(zhēng)氣,周青山.基于Excel全路線三維坐標(biāo)計(jì)算與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2011(10):22-24

        P258

        B

        1672-4623(2014)06-0129-03

        10.3969/j.issn.1672-4623.2014.06.045

        蘇小文,碩士,研究方向?yàn)榫芄こ虦y(cè)量。

        2013-07-12。

        猜你喜歡
        斷鏈線型中心線
        “科技創(chuàng)新是人類發(fā)展進(jìn)步的成果,沒(méi)有任何國(guó)家可以獨(dú)享,更不應(yīng)該利用科技優(yōu)勢(shì)打壓遏制別國(guó)發(fā)展”
        變頻一體機(jī)斷鏈保護(hù)在刮板輸送機(jī)中的應(yīng)用分析
        高等級(jí)公路幾何線型優(yōu)化設(shè)計(jì)分析與評(píng)價(jià)
        江西建材(2018年4期)2018-04-10 12:37:28
        第十講 幾何公差代號(hào)標(biāo)注示例10
        ——目鏡套筒
        X線攝影中中心線對(duì)DR攝影質(zhì)量的重要性
        城鎮(zhèn)化進(jìn)程中農(nóng)民工流動(dòng)子女教育的斷鏈與銜接
        核安全1級(jí)設(shè)備線型支承分析方法研究
        綜采工作面運(yùn)輸機(jī)斷鏈處理方法
        基于Meanshift和Hough變換的秧苗行中心線提取
        一種非均勻線型的互連線能量分布模型
        无码一区二区三区不卡AV| 偷国产乱人伦偷精品视频| 18分钟处破好疼哭视频在线观看| 久久不见久久见中文字幕免费| 久久午夜夜伦鲁鲁片免费无码 | 精品爆乳一区二区三区无码av| 国产精品公开免费视频| 久久久国产精品粉嫩av| 日本一区二区免费在线看| 精品国产av一区二区三区 | 精品人妻一区二区三区蜜桃| 亚洲国产av一区二区不卡| 亚洲色图片区| 天天看片视频免费观看| 国产精品亚洲国产| 蜜桃久久综合一区二区| 日韩少妇内射免费播放18禁裸乳| 丁香花在线影院观看在线播放| 四虎永久免费一级毛片| 日本变态网址中国字幕| av网站在线观看大全| 国产精品视频白浆免费视频| 日本久久久久亚洲中字幕| 中文字幕人妻丝袜美腿乱| 亚洲VR永久无码一区| 亚洲精品国产亚洲av| 婷婷色香五月综合激激情| 99精品久久这里只有精品| 偷拍网日本一区二区三区| 亚洲国产综合精品一区| 国产区精品一区二区不卡中文| 久久夜色精品国产| 亚洲AV无码久久精品国产老人| 午夜国产小视频在线观看黄| 国产婷婷色一区二区三区深爱网 | 一本久道久久综合久久| 97激情在线视频五月天视频| 亚洲图片自拍偷图区| 真实国产乱啪福利露脸| 挑战亚洲美女视频网站| 日韩精品一区二区在线天天狠天|