999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Excel VBA的盾構中心線計算程序設計

2014-04-18 07:42:46蘇小文高俊強
地理空間信息 2014年6期
關鍵詞:模型

蘇小文,高俊強

(1. 南京工業大學 測繪學院,江蘇 南京 210009)

基于Excel VBA的盾構中心線計算程序設計

蘇小文1,高俊強1

(1. 南京工業大學 測繪學院,江蘇 南京 210009)

為克服現有盾構中心線計算軟件難以解決曲線出洞和斷鏈等問題,結合工程實際,采用Excel VBA進行二次開發。使用表明,程序計算準確,計算誤差達mm級,且便于修改,很好地解決了以前計算方式的不足。

盾構中心線;Excel VBA;程序

盾構施工中,盾構中心線的計算是一項很重要的工作[1]。目前常用的方法有手工計算和程序計算。手工計算工作量大,且容易出錯。現有的多種計算程序雖能實現三維坐標的批量快速計算,但存在許多不足。如海瑞克的計算軟件,默認管片距為1.0 m,而國內通常為1.2 m;三維坐標計算必須從直線段算起,難以滿足曲線出洞的需要;也難以處理斷鏈問題。為解決以上問題,采用首環計算和非首環計算的思想,基于Excel VBA進行程序開發。

1 線路模型

1.1 平面曲線模型

盾構平面軸線設計一般由直線、圓曲線和緩和曲線組成。

1.1.1 直線模型

假設控制點A的坐標為(XA,YA),控制點到待定點的坐標方位角為α,兩點間距離為l,則待定點坐標可按下式計算:

1.1.2 圓曲線模型

圖1 圓曲線示意圖

如圖1,以曲線起點ZY(或終點YZ)為坐標原點,其切線為x軸,過ZY點(或YZ點)的半徑為y軸,建立直角坐標系。根據曲線上任意一點i的曲線長li及半徑R來確定i點的坐標xi與yi。建立參數方程[2]:

以代入上式并用級數展開,可得圓曲線參數方程:

i的坐標是在局部坐標系下的,需轉換為工程坐標系下的坐標:

上式中,按計算方向,曲線右偏時δ取+1,左偏時δ取-1。

1.1.3 緩和曲線模型

以ZH點為原點,過ZH點的緩和曲線的切線為x軸,ZH點上緩和曲線的半徑為y軸,建立直角坐標系。采用切線支距法計算標準緩和曲線上任意點的坐標[3]:

在盾構推進過程中,由于存在超高h和超距e的影響,緩和曲線方程變為:

式中,l0為緩和曲線長;li為以ZH點起算的弧長;e為偏移量;R為圓曲線半徑。在具體設計中,大部分將偏移后的曲線方程表現成以下兩個方程[4]:

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

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

1.2 豎曲線模型

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

凸曲線模型:

圖2 豎曲線示意圖

2 程序設計

2.1 計算程序編制

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

2.1.1 首環計算

在對應線型中輸入特征點數據、起始方位角和首環距特征點距離。若數據為空,則報錯提醒輸入數據。根據首環距就可以推算第一環里程。由于每環為1.2 m,可以算出線型內每一環里程。套用模型公式,算出每一環 和 坐標,當管片里程和最后特征點里程差小于1.2 m計算完畢,輸出計算結果。

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

1)對輸入參數定義并賦值。

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("請回輸入初始參數", vbOKOnly, "錯誤1")

Exit Sub

End If

3)判斷計算方式并通過公式計算。

If Worksheets("三維坐標計算").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 ’緩和曲線坐標計算

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("三維坐標計算").OptionButton1. Value = True Then ’曲線左轉

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 非首環計算

非首環計算的關鍵在于提取上一環的里程和平面坐標,其他計算和首環計算一致。

提取上環里程和平面坐標的代碼如下:

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

p = Worksheets("三維坐標").Range("a" & tempx).Value ’P為上一環環數

plc = Worksheets("三維坐標").Range("b" & tempx).Value ’plc為上一環里程

2.1.3 斷鏈處理

斷鏈有長鏈和短鏈之分:斷前里程-斷后里程>0,長鏈;斷前里程-斷后里程<0,短鏈[7]。我們稱斷鏈前里程為新里程dllxc,斷鏈后里程為舊里程dljlc,里程差lcc。為計算斷鏈后各環的里程,需先判別斷鏈是長鏈還是短鏈,同時計算長、短斷鏈值。計算思路如下:

lcc=lxc-jlc,長鏈lcc>0,短鏈lcc<0,則斷鏈后任意環里程l=l-lcc。具體代碼如下:

lcc = dlxlc - dljlc

If l >= dlxlc Then

l = l - lcc

End If

2.1.4 高程計算

平面計算結束后每一環都有了里程,高程只需根據每一環里程對應的設計線型加以計算。判別代碼為:

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

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

li = temprag.Value - stzdlc

li2 = mtzdlc - temprag.Value

2.2 實例應用

利用本程序計算無錫一號線某區間盾構中心線三維坐標,各線型中選取一環,將結果與手算結果比較,最大計算誤差為0.4 mm,完全滿足施工需要。

[1] 陳祥,饒雪平.軌道交通盾構推進中心坐標計算軟件[J].中國市政工程,2007(4):78-80

[2] 王維.地鐵盾構法施工人工導向測量研究[D].南京:南京工業大學,2008

[3] 李青岳.工程測量學[M].北京:測繪出版社,1995

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

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

[6] 張德海.地鐵隧道盾構自動定位系統開發研究[D].上海:同濟大學,2006

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

[8] 李文軍,唐爭氣,周青山.基于Excel全路線三維坐標計算與實現[J].電腦編程技巧與維護,2011(10):22-24

P258

B

1672-4623(2014)06-0129-03

10.3969/j.issn.1672-4623.2014.06.045

蘇小文,碩士,研究方向為精密工程測量。

2013-07-12。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 亚洲自拍另类| 中文无码精品A∨在线观看不卡 | 国产亚洲成AⅤ人片在线观看| 在线无码av一区二区三区| AV不卡在线永久免费观看| 国产成人永久免费视频| 免费精品一区二区h| 萌白酱国产一区二区| 国产精品极品美女自在线| 精品视频一区二区观看| 中文字幕欧美日韩高清| 亚洲欧美不卡中文字幕| 免费人成网站在线高清| 中文字幕在线视频免费| 国产在线视频欧美亚综合| 高清无码不卡视频| 欧美天堂久久| 怡红院美国分院一区二区| 亚洲一欧洲中文字幕在线| 国内99精品激情视频精品| 免费一级全黄少妇性色生活片| 中文字幕无码制服中字| 毛片在线看网站| 久久亚洲美女精品国产精品| 精品少妇人妻av无码久久| 国产午夜不卡| 成人综合在线观看| 欧美有码在线| 天堂成人av| 欧美精品H在线播放| 无码久看视频| 久久久久中文字幕精品视频| 亚洲美女视频一区| 激情视频综合网| 欧美午夜精品| 国产精品综合色区在线观看| 在线观看免费人成视频色快速| 不卡无码h在线观看| 色爽网免费视频| 中文字幕人成乱码熟女免费| 97超级碰碰碰碰精品| 亚洲欧洲美色一区二区三区| 亚洲六月丁香六月婷婷蜜芽| 日韩国产精品无码一区二区三区 | 日韩美女福利视频| 色综合热无码热国产| 国产成人无码AV在线播放动漫| 久久大香香蕉国产免费网站| 激情六月丁香婷婷| 亚洲欧美不卡中文字幕| 青青草综合网| 97免费在线观看视频| 亚洲天堂网在线播放| 一区二区三区四区精品视频 | 又爽又黄又无遮挡网站| 超碰91免费人妻| 五月婷婷亚洲综合| 毛片网站在线播放| 91精品啪在线观看国产| 国产日韩欧美一区二区三区在线| 亚洲伊人天堂| 中文字幕啪啪| 免费观看国产小粉嫩喷水| 91亚洲精品国产自在现线| 秋霞国产在线| 亚洲无码免费黄色网址| 久久频这里精品99香蕉久网址| 日韩欧美国产另类| 成人日韩精品| 91精品免费高清在线| 成人亚洲国产| 999国内精品久久免费视频| 国产真实自在自线免费精品| 亚洲精品成人7777在线观看| 在线看片国产| 91亚洲影院| 国产精品内射视频| 精品视频在线观看你懂的一区| 国产门事件在线| 国产自在线播放| 免费可以看的无遮挡av无码| 国产微拍精品|