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

基于.Net開發道路縱橫斷面檢查軟件及其應用

2012-02-08 09:31:56袁兆奎
城市勘測 2012年3期

袁兆奎

(武漢市政工程設計研究院有限責任公司,湖北武漢 430023)

1 引言

在市政工程中,道路的縱橫斷面測量是一項重要的工作內容。一般來說,在獲取地形圖之后,應進行縱橫斷面的實地測量,包括各中樁點和碎部斷面點的高程測量,測得的數據人工填入記錄紙上。內業時,首先將記錄紙上的數據按指定的格式錄入電腦,然后進行格式及數據內容檢查,確認無誤后交付給設計人員。

筆者經過長期的工作實踐,發現上述工作流程中,存在如下問題:①人工錄入的數據大,耗時長,且容易出錯;②數據錄入后,查錯糾正很難滿足要求;③縱橫斷面圖形檢查的功能很難發現細微的錯誤,且運行效率低下。

對此,筆者提出了一種簡碼格式,能減少斷面錄入的工作量,提高工作效率;并基于.Net平臺,用C#語言在Visual Studio 2005上開發了一款能進行斷面數據檢查的軟件;最后研究了縱橫斷面的繪制及圖形檢查,并在AutoCAD上進行二次開發,實現了該功能。經過一年多的推廣應用,該軟件已經較為成熟、完善。

2 斷面文件格式及其簡化

武漢市政工程設計研究院有限責任公司勘測設計院設計軟件所能支持的縱橫斷面文件為下述格式:

這種格式稱為全碼格式,對該格式進行分析,可以看出其有如下特點:

(1)每一個新的橫斷面都是以“Z=”作為開頭,其后為中樁的里程、正負高程。

(2)橫斷面的數據以從左到右的順序列出,內容為斷面點與中樁的距離,斷面點的高程。如果斷面點位于中樁的左側,距離取負,若在右側,距離取正;高程全部取負。

(3)在縱斷面中,若有加樁,只需以“Z=”為開頭,然后輸入里程和正負高程即可。

筆者認為,上述文件格式雖為道路設計軟件所專用,但卻可以大大簡化,減少手工錄入的工作量,提高效率:

①在中樁所在的數據行,可以只錄入一個高程值,不必錄入兩個。

②橫斷面的數據既然已規定為從左至右,因此左側的距離數據可以不用取負號,直接按正號錄入;斷面點的高程也只按正號錄入。

因此,筆者設計了一種簡化的縱橫斷面文件格式:

以上這種格式可稱為“簡碼”格式。可以看出,若采用簡碼格式,內業數據錄入時,可以大大減少工作量(沒有“-”號和“,”號),且所有的操作都可以集中在鍵盤的“數字鍵盤”區域內,能極大提高效率。

3 斷面文件數據檢查及格式轉換

雖然采用簡碼格式可以大大減少手工錄入的工作量,但仍然會出現各種錯誤,尤其是當道路很長,且斷面寬度較大時,錯誤一般很難避免。另一方面,在沒有采用簡碼格式之前,以前的工作中存在著很多全碼格式的斷面文件,也需要進行檢查。因此,要實現簡碼格式和全碼格式的數據檢查,并能將簡碼轉換成全碼。

3.1 斷面文件數據檢查

經過長期工作實踐,發現手工錄入后,斷面文件中一般有以下幾種類型的錯誤,如表1所示。

斷面文件中可能出現的錯誤類型 表1

編寫程序時,有兩處需要注意:

(1)斷面文件應一次性全部讀入,不能逐行讀入,否則針對一個橫斷面的檢查時就很難操作。具體來說,用StreamReader.ReadToEnd()將斷面文件全部讀入,并用Regex.Split()將數據分割成string類型的數組:

如此,在進行一個橫斷面的檢查時,先在file_content_array中尋找該斷面的起止位置,然后再進行內部檢查;檢查完畢后,尋找下一個橫斷面的起止位置,重復上面的檢查。

(2)在橫斷面內部,檢查斷面點與樁號間的距離是否嚴格按從左到右的順序時,可以先定義一個初始值為false的bool類型變量zero_comeout。當zero_comeout為false,且斷面點與樁號間的距離為遞減時,認為無誤,否則認為有錯誤,并輸出錯誤的位置;當距離為0時,認為讀到樁號處,將zero_comeout設為true,并檢查該處高程是否與樁號處一致;當zero_comeout為true,且斷面點與樁號間的距離遞增時,認為無誤,否則認為有錯誤,并輸出錯誤的位置。該處可用如下代碼實現:

斷面文件數據檢查這部分程序的結構示意圖如圖1所示。

在該軟件中,可以通過對話框設置檢查參數,檢查完畢后生成報告,詳細指出錯誤所在的行數及錯誤的類別,從而可以快速進行定位、糾正。對于數據很長的斷面文件,該功能尤其有效。檢查工作有必要多次進行,以確保無誤。圖2為軟件的主界面。

圖1 斷面文件數據檢查程序示意圖

圖2 斷面數據處理程序主界面

3.2 簡碼轉換成全碼

該部分要實現將簡碼格式的斷面文件生成全碼格式,實現起來較為簡單,主要注意以下兩點:

(1)樁號處。提取一行的數據,若其中含有“*”,認為該行為樁號處,將“*”號替換成“Z=”,并添加正負高程。

(2)樁號內部。首先仍定義一個初始值為false的bool類型變量zero_comeout。當斷面點與樁號處的距離不為0,且zero_comeout為 false時,距離取負號,高程取負號;當斷面點與樁號間的距離為0時,設置zero_comeout為true,高程取負號;當斷面點與樁號間的距離不為0,且zero_comeout為ture時,距離取正號,高程取負號。

每一步處理完后,均將處理結果寫入新的文件,直到斷面文件全部處理完畢。

4 斷面圖的繪制及圖形檢查

雖然上述程序對斷面文件內的數據進行了詳細的檢查,但并不能保證其已經完全沒有問題。例如,在錄入時,陡砍上、下的高程值有可能輸成一樣,但前文的檢查并不能發現。作為工作成果的縱橫斷面文件在歸檔及交付設計人員、業主時,應確保無誤,因此,繪制縱橫斷面及進行圖形檢查很有必要。

筆者基于.Net平臺,用C#語言對AutoCAD進行二次開發,實現了縱橫斷面圖的自動繪制,其后即可以進行圖形檢查。相對于AutoLisp或者VBA等傳統的開發語言,C#可以編寫出運行效率更高的應用程序。這對配置較低的電腦或者繪制數據量較大的縱橫斷面尤為重要。

4.1 程序編寫

編寫程序時,主要有以下幾方面需要注意:

(1)圖層。為便于繪制及檢查,筆者對縱橫斷面圖進行分析,自定義了5個圖層:

①斷面點:顯示縱斷面的中樁點和橫斷面的碎部斷面點,均以“紅圈”突出顯示。

②斷面線:由縱斷面的所有中樁點或橫斷面的所有碎部斷面點以直線方式連接而成的多段線,以綠色顯示。

③斷面參考坐標系:為平面直角坐標系。對于縱斷面,以起始中樁為原點,里程增加方向為橫軸,高程增加方向為縱軸;對于橫斷面,以中樁點為原點,從左至右為橫軸,高程增加方向為縱軸。縱軸上的高程值范圍均嚴格標示,例如高程標示為[17,22],說明所有點的高程值均在如下范圍內:17≤H≤22。

④斷面點高程:在縱斷面中樁點和橫斷面碎部斷面點的旁邊顯示其高程值。

⑤斷面點樁號點位置:顯示中樁點的里程值,或者橫斷面所有碎部斷面點距離中樁的距離值。

(2)在AutoCAD中繪制文字、斷面點和斷面線。它們的實現方式差不多,以較為復雜的繪制斷面線為例,程序中主要用到AddLine()這個函數:

(3)針對不同版本的AutoCAD進行開發的問題。在Visual Studio 2005的“解決方案資源管理器”中點“引用”,右鍵選擇“添加引用(R)…”,在對話框中選擇“瀏覽”,然后進入AutoCAD的安裝目錄,選擇“acdbmgd.dll”、“acmgd.dll”。然后將程序重新編譯、生成,如此便生成針對該AutoCAD版本的程序了。

該部分程序的結構示意如圖3所示。

圖3 斷面圖繪制程序示意圖

4.2 程序使用

打開AutoCAD后,輸入“netload”命令,在對話框中選擇已生成的dll文件,然后再輸入“drawdm”命令,彈出縱橫斷面繪制程序的主界面(圖4)。

圖4 縱橫斷面繪制程序主界面

在該界面上可以進行一些參數設置,以適應不同的比例尺等。“確定”之后程序自動繪制斷面,并調節縮放比例,讓所有斷面滿布在窗口中,圖5是繪制的某個橫斷面。

圖5 繪制出的橫斷面

縱橫斷面繪制完畢后,即可以進行圖形檢查,發現并糾正細微的錯誤。

5 道路斷面工作量統計

在縱橫斷面文件檢查完畢后,可以統計本次工程的工作量,以作為計算產值、費用等的依據。工作量的計算分縱向和橫向。對于縱向,只需提取里程的最小、最大值,進行相減即可。對于橫向,需計算每一個橫斷面的工作寬度,即對最左側斷面點和樁號處的距離與最右側斷面點和樁號處的距離求和,然后累加所有的工作寬度,同時還應累計橫斷面的個數,如圖6所示。

圖6 縱橫斷面工作量統計

6 結論

本文對道路的縱橫斷面文件格式進行了分析,提出了一種簡碼格式,能大大減少手工錄入的工作量,減少出錯,提高工作效率,并實現了簡碼格式轉換為設計軟件所能識別處理的全碼格式,以及對全碼格式斷面文件的檢查。其次,研究了縱橫斷面文件的數據檢查和圖形化檢查。數據檢查能發現9大類錯誤,圖形化檢查能在AutoCAD上繪制縱橫斷面并人工發現細微的錯誤。最后,實現了道路斷面的工作量統計。經過長期推廣應用,該程序已較為成熟、完善。

[1]潘正風,楊正堯,程效軍等.數字測圖原理與方法[M].武漢大學出版社,2004.

[2] 張正祿.工程測量學[M].武漢:武漢大學出版社,2005.

[3]余興勝.用.NET進行AutoCAD二次開發的方案探索[EB/OL].http://news.e800.com.cn/articles/2008/12/1199238090246_1.html,2008.

[4] ObjectARX編程站.Hello World:訪問ObjectARX.NET封裝類[EB/OL].http://www.mjtd.com/Manual/Article-Show.asp?ArticleID=836,2005.

[5]博客園.AutoCAD.net二次開發官方教程及源碼C#版[EB/OL].http://kb.cnblogs.com/a/1257334/,2008.

主站蜘蛛池模板: 永久成人无码激情视频免费| www中文字幕在线观看| 国产91成人| 色窝窝免费一区二区三区| 天天综合天天综合| 国产精品免费入口视频| 国产无遮挡猛进猛出免费软件| 国产91丝袜在线播放动漫 | 日韩欧美网址| 国产久草视频| 欧美性爱精品一区二区三区| 91久久偷偷做嫩草影院电| 亚洲热线99精品视频| 91无码人妻精品一区| 国产高清无码第一十页在线观看| 日本精品中文字幕在线不卡 | 99久久精品国产综合婷婷| 老司国产精品视频91| 99热这里只有精品免费国产| 成人中文在线| 永久免费AⅤ无码网站在线观看| 99热国产这里只有精品9九| 十八禁美女裸体网站| 欧美成在线视频| 视频二区亚洲精品| 网友自拍视频精品区| 亚洲人成色在线观看| 国产乱论视频| 亚洲中文字幕av无码区| 五月综合色婷婷| 在线视频一区二区三区不卡| 精品福利视频导航| 久久综合结合久久狠狠狠97色| www.精品视频| 99久久婷婷国产综合精| 日韩在线播放中文字幕| 欧美精品在线免费| 全色黄大色大片免费久久老太| 日本精品中文字幕在线不卡| 伊人激情综合网| 精品国产一二三区| 国产Av无码精品色午夜| 国产精品视频系列专区| 中文字幕不卡免费高清视频| 影音先锋丝袜制服| 亚洲 欧美 日韩综合一区| 久久久91人妻无码精品蜜桃HD| 人人妻人人澡人人爽欧美一区 | 91啪在线| 97国产精品视频自在拍| AV熟女乱| 欧美日韩第二页| 免费啪啪网址| 国产91小视频| 国产经典在线观看一区| 2024av在线无码中文最新| 日韩经典精品无码一区二区| 999福利激情视频| 国产女人在线视频| 亚洲精品午夜天堂网页| 无码精油按摩潮喷在线播放| 最新国产网站| 国产精品19p| 国产精品私拍在线爆乳| 国产在线观看99| 久久无码免费束人妻| 亚洲欧美精品日韩欧美| 国模极品一区二区三区| 亚洲成人在线免费观看| 欧美成a人片在线观看| 91毛片网| 99久久国产自偷自偷免费一区| 精品欧美一区二区三区久久久| 亚洲日本一本dvd高清| 在线五月婷婷| 欧美一区二区精品久久久| 亚洲国产成人精品青青草原| 色亚洲激情综合精品无码视频| 国产乱人免费视频| igao国产精品| 国产凹凸视频在线观看| 视频在线观看一区二区|