摘要:本文分析了當(dāng)前巖土工程勘察領(lǐng)域軟件開(kāi)發(fā)存在的問(wèn)題,提出了采用VC++面向?qū)ο蠹夹g(shù)構(gòu)建巖土工程勘察系統(tǒng)的總體思路,并最終實(shí)現(xiàn)了一個(gè)實(shí)用的巖土工程勘察軟件系統(tǒng)。


關(guān)鍵詞:巖土工程勘察 軟件 VC++ 面向?qū)ο?/p>

 

 1 前言


當(dāng)前巖土工程勘察領(lǐng)域的軟件開(kāi)發(fā)根據(jù)采用的開(kāi)發(fā)語(yǔ)言種類(lèi)大致可以分為三類(lèi)。 ① 采用VB開(kāi)發(fā); ② 采用數(shù)據(jù)庫(kù)管理軟件開(kāi)發(fā); ③ 采用VC開(kāi)發(fā)。開(kāi)發(fā)出來(lái)的軟件各有特點(diǎn),但是在制圖方面卻多采用AutoCAD圖形功能,不論是利用腳本文件SCR生成圖形,還是在AutoCAD基礎(chǔ)上二次開(kāi)發(fā),或者是利用Automation技術(shù),都是將AutoCAD制圖功能融進(jìn)應(yīng)用程序。由于巖土工程數(shù)據(jù)管理和制圖功能的實(shí)現(xiàn)之間存在開(kāi)發(fā)上的界面,因此給系統(tǒng)運(yùn)行增加了額外負(fù)擔(dān),增加了軟件的應(yīng)用難度。

另一方面,在軟件正版化的今天,國(guó)產(chǎn)CAD軟件的需求在不斷增加,很多巖土工程勘察軟件在正版化進(jìn)程中存在一定危機(jī)。

為了解決以上問(wèn)題,本文探討了采用VC++開(kāi)發(fā)語(yǔ)言,采用面向?qū)ο蟮募夹g(shù),分別實(shí)現(xiàn)圖形類(lèi)庫(kù)、巖土工程數(shù)據(jù)類(lèi)庫(kù),將巖土數(shù)據(jù)管理和圖形操作緊密結(jié)合,更為重要的是開(kāi)發(fā)出的軟件具有自主知識(shí)版權(quán)。

2 總體設(shè)計(jì)

分析巖土工程勘察軟件的社會(huì)需求,軟件功能可以分為兩個(gè)部分:一是巖土工程勘察數(shù)據(jù)的管理,包括數(shù)據(jù)輸入、編輯、導(dǎo)出、數(shù)據(jù)分析計(jì)算等;二是繪圖功能,包括繪制平面圖、剖面圖、柱狀圖等。

根據(jù)以上分析,采用面向?qū)ο蟮募夹g(shù),分別建立巖土工程數(shù)據(jù)類(lèi)(Geo類(lèi))和繪圖類(lèi)(CMap類(lèi))。

Geo類(lèi)功能:工程概況數(shù)據(jù)、場(chǎng)地地層數(shù)據(jù)、原位測(cè)試數(shù)據(jù)(靜力動(dòng)探數(shù)據(jù)、動(dòng)力觸探數(shù)據(jù)、波速試驗(yàn)數(shù)據(jù)、標(biāo)準(zhǔn)貫入數(shù)據(jù)等)、勘探點(diǎn)數(shù)據(jù)、土工試驗(yàn)數(shù)據(jù)、取土數(shù)據(jù)等。分別建立類(lèi),各類(lèi)間層次關(guān)系如下:

CProject巖土工程類(lèi)

CDksj勘探點(diǎn)類(lèi)

  CTysj取土類(lèi)

  CDtsj N63.5數(shù)據(jù)類(lèi)

  CBgsj標(biāo)準(zhǔn)貫入數(shù)據(jù)類(lèi)

  ……

CDcsj場(chǎng)地地層類(lèi)

CFcDtsj分層統(tǒng)計(jì)數(shù)據(jù)類(lèi)

CFcBgsj分層統(tǒng)計(jì)數(shù)據(jù)類(lèi)

CFcN10sj分層統(tǒng)計(jì)數(shù)據(jù)類(lèi)

CFcN120sj分層統(tǒng)計(jì)數(shù)據(jù)類(lèi)

CTongji數(shù)理統(tǒng)計(jì)類(lèi)

CMap類(lèi)功能:繪制各種圖形元素,包括點(diǎn)、直線(xiàn)、多段線(xiàn)、橢圓、園、圓弧、矩形、多邊形等。實(shí)現(xiàn)圖元的編輯、修改、信息查詢(xún)等功能。

CGraph圖形類(lèi)

CDraw圖形元素的基類(lèi)

  CPint點(diǎn)類(lèi)

  CLine直線(xiàn)類(lèi)

  CCircle園類(lèi)

  CArc圓弧類(lèi)

  CRectang矩形類(lèi)

  ……

1.jpg

圖1  工廠概況數(shù)據(jù)輸入

2.jpg

圖2  勘探點(diǎn)數(shù)據(jù)輸入

 3.jpg

圖3  土工試驗(yàn)數(shù)據(jù)輸入

 


3 系統(tǒng)功能

3.1數(shù)據(jù)輸入、編輯等

在柵格圖形和矢量圖形下,可以方便地交互,布置勘探點(diǎn)、輸入地物數(shù)據(jù)等操作,具有可視化程度高的突出特點(diǎn)。主要數(shù)據(jù)輸入界面見(jiàn)圖1、圖2和圖3。

3.2統(tǒng)計(jì)分析

 4.jpg

圖4  統(tǒng)計(jì)數(shù)據(jù)的交互取舍

 5.jpg

圖5  數(shù)理統(tǒng)計(jì)結(jié)果

于各種分層統(tǒng)計(jì)數(shù)據(jù),進(jìn)行可視化的人工取舍,人工交互舍棄統(tǒng)計(jì)數(shù)據(jù)、統(tǒng)計(jì)結(jié)果等見(jiàn)圖4、圖5。

3.3繪圖

鉆孔柱狀圖、工程地質(zhì)剖面圖、勘探點(diǎn)平面布置圖等,見(jiàn)圖6和圖7。

 6.jpg

圖6 繪制鉆孔柱狀圖

3.4勘察報(bào)告

采用COM技術(shù),引入Microsoft Word類(lèi)庫(kù),自動(dòng)生成Word格式的報(bào)告,方便快捷、報(bào)告格式標(biāo)準(zhǔn)、實(shí)用,節(jié)省大量報(bào)告編制時(shí)間。實(shí)現(xiàn)步驟:首先建立勘察報(bào)告模板,將巖土工程相關(guān)數(shù)據(jù)、統(tǒng)計(jì)結(jié)果、軟件自動(dòng)生成的相關(guān)表格等作為書(shū)簽插入文檔模板中,形成最終的勘察報(bào)告。

4 結(jié)論建議    

(1)采用面向?qū)ο蠹夹g(shù),降低了軟件開(kāi)發(fā)的難度,對(duì)今后軟件功能進(jìn)一步擴(kuò)充打下了堅(jiān)實(shí)的基礎(chǔ)。

 7.jpg

圖7 繪制工程地質(zhì)平面圖

該軟件從底層開(kāi)發(fā),分別建立了圖形和巖土工程數(shù)據(jù)的兩個(gè)類(lèi)庫(kù),運(yùn)行中不需要其他商業(yè)軟件的支持,不但降低了客戶(hù)軟件使用成本,而且擁有軟件自主版權(quán),對(duì)于勘察軟件行業(yè)的長(zhǎng)遠(yuǎn)發(fā)展大有裨益。

(3)軟件功能強(qiáng)大,使用方便、簡(jiǎn)潔,該軟件系統(tǒng)具有良好的市場(chǎng)推廣前景。