施曉歡 侯婧
摘 要:根據(jù)水工擋土墻的相關(guān)規(guī)范,分析水工擋土墻設(shè)計(jì)中的計(jì)算過(guò)程,利用visual lisp讀取河道擋土墻斷面中墻身、底板、水位等圖元,提取幾何信息,再運(yùn)用C#編程計(jì)算得出擋墻的抗滑穩(wěn)定安全系數(shù)、抗傾覆穩(wěn)定安全系數(shù)、基底應(yīng)力等計(jì)算結(jié)果。此程序的優(yōu)點(diǎn)在于無(wú)需輸入擋土墻尺寸相關(guān)的大量幾何數(shù)據(jù),需要輸入的數(shù)據(jù)僅是物理性質(zhì)參數(shù),更加方便簡(jiǎn)潔
關(guān)鍵詞:擋土墻;水利工程;抗滑系數(shù);VISUALLISP;C#;軟件開發(fā)
DOI:10.16640/j.cnki.37-1222/t.2017.01.090
1 概論
隨著國(guó)內(nèi)水利工程的發(fā)展,河道擋墻的設(shè)計(jì)也隨著周邊地區(qū)的發(fā)展而不斷的優(yōu)化和改進(jìn),從而擋墻的形狀隨著比如景觀的要求而非簡(jiǎn)單的幾何形狀,因此在輸入擋墻結(jié)構(gòu)尺寸時(shí),由于某些軟件界面的局限性,必然要對(duì)擋墻尺寸做一些簡(jiǎn)化和取舍,這樣勢(shì)必會(huì)對(duì)計(jì)算結(jié)果造成不可避免的誤差。并且為了計(jì)算擋墻的物理尺寸而輸入的參數(shù)的個(gè)數(shù)繁多,導(dǎo)致設(shè)計(jì)人員機(jī)械的重復(fù)勞動(dòng)。
針對(duì)上述情況和問(wèn)題,本文主要通過(guò)AUTOCAD的二次開發(fā)和C#的界面設(shè)計(jì)和編程計(jì)算,盡最大的可能節(jié)省水工擋土墻計(jì)算的單位時(shí)間,提高計(jì)算結(jié)果的準(zhǔn)確性,并相應(yīng)的導(dǎo)出計(jì)算表格以便復(fù)核軟件計(jì)算,并且為了配合底板加樁的結(jié)構(gòu),輸出擋墻底板中心點(diǎn)的水平力豎向力彎矩,輸入其他商業(yè)軟件來(lái)配合計(jì)算樁頂位移和承載力是否滿足規(guī)范要求。
2 編程語(yǔ)言簡(jiǎn)介
VISUAL LISP是AUTOCAD自帶的一個(gè)autolisp開發(fā)環(huán)境,可以實(shí)時(shí)調(diào)試AUTOLISP命令。
C#是由C和C++衍生出來(lái)的面向?qū)ο蟮木幊陶Z(yǔ)言。C#綜合了VB簡(jiǎn)單的可視化操作和C++的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語(yǔ)法風(fēng)格、創(chuàng)新的語(yǔ)言特性和便捷的面向組件編程的支持成為.NET開發(fā)的首選語(yǔ)言。
3 計(jì)算軟件的構(gòu)造與說(shuō)明
3.1 C#連接并控制AUTOCAD功能代碼
Dim acadApp As Object
Dim acadDoc As Object
On Error Resume Next
acadApp = GetObject(, "AutoCAD.Application")
If Err.Number Then
MsgBox("請(qǐng)先打開一個(gè)AutoCAD")
End If
acadDoc = acadApp.ActiveDocument
acadApp.Visible = True
3.2 AUTOCAD導(dǎo)入lsp文件并顯示窗口功能代碼
Dim path As String = Replace(Application.StartupPath, "\", "\\")
acadDoc.SendCommand("(load " & Chr(34) & path & "\\jgjs.lsp" & Chr(34) & ")" & vbCr)
acadDoc.SendCommand("(setq lisppath " & Chr(34) & path & Chr(34) & ")" & vbCr)
3.3 lsp文件獲取AUTOCAD圖形中兩點(diǎn)距離的代碼
(defun c:ttqc (/)
(setq qqswp1 (getpoint "\n第一點(diǎn)"))
(setq qqswp2 (getpoint qqswp1 "\n第二點(diǎn)"))
(setq qqsw (abs (- (cadr qqswp1) (cadr qqswp2))))
(princ (strcat "\nqqsw," (rtos qqsw)) ffn)
)
3.4 軟件概況
軟件計(jì)算原理,以抗滑系數(shù)為例:
流程Ⅰ的作用是通過(guò)cad二次開發(fā)的思路獲取一個(gè)擋土墻的所有幾何參數(shù),例如各關(guān)鍵點(diǎn)的坐標(biāo),高度,斷面面積及斷面的形心等。
流程Ⅱ的作用即物理參數(shù)的輸入,如擋土材料的容重和土的cφ值,墻后荷載,以及圖中尺寸和實(shí)際標(biāo)準(zhǔn)單位(m)的比例尺。
4 結(jié)論
此軟件無(wú)需輸入常規(guī)工程計(jì)算類軟件中大量的幾何數(shù)據(jù),像某些高度還得手動(dòng)計(jì)算高程差再填入數(shù)據(jù),但此軟件需要輸入的數(shù)據(jù)僅是一些物理參數(shù),此外擋墻可以任意形狀,所畫即所得,圖形化較直觀,能動(dòng)態(tài)修改cad中圖元尺寸,再得出結(jié)果,通過(guò)不斷的比選得出最優(yōu)方案,能夠?qū)С鰁xcel計(jì)算表格,一者能夠驗(yàn)算,二者能再加軟件所不及的外部荷載輸入excel中手算得出結(jié)果。但是,此軟件尚無(wú)存檔的功能,有待進(jìn)一步研究。
參考文獻(xiàn):
[1]邱榮茂,王大鳴,周喬勇.基于AutoCAD的線路緩和曲線的自動(dòng)繪制[J].工程圖學(xué)學(xué)報(bào),2005(01).
[2]王茂.擋土墻(重力式)CAD系統(tǒng)集成[J].中南公路工程,2004(03).
[3]戴學(xué)臻,楊潔,陳君.擋土墻設(shè)計(jì)軟件關(guān)鍵技術(shù)及框架設(shè)計(jì)[J].山西交通科技,2004(01).
[4]涂鵬,蔣紅斐.AutoCAD二次開發(fā)及在公路設(shè)計(jì)中的應(yīng)用[J].山西建筑,2004(04).
[5]劉蘇.VB語(yǔ)言在公路勘測(cè)平面線形計(jì)算機(jī)輔助設(shè)計(jì)中的算法[J].公路,2004(01).
[6]齊榮.公路路線計(jì)算機(jī)輔助設(shè)計(jì)[J].山西建筑,2003(02).
[7] 王立峰等編著.軟件工程理論與實(shí)踐[M].清華大學(xué)出版社,2003.