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

        ?

        基于AutoCAD的道路橫斷面的提取方法*

        2021-04-21 13:53:48徐加榮
        地礦測繪 2021年1期

        徐加榮,魏 敏

        (江蘇省地質(zhì)測繪院,江蘇 南京 211102)

        0 引言

        道路斷面測量是道路建設過程中的一項重要工作,斷面數(shù)據(jù)是工程設計、土方計算、邊樁放樣、橋涵等構(gòu)筑物設計的基礎。道路橫斷面是垂直于道路方向的地面斷面線,能描述道路中線兩側(cè)一定范圍內(nèi)的地面起伏變化情況。道路橫斷面測量一般情況下都是在道路中線兩側(cè)根據(jù)地形變化情況實測或從DEM模型上提取一些離散點三維點,從而模擬地形特征[1-2]。在測繪行業(yè)中,一般都是使用AutoCAD作為圖形數(shù)據(jù)的處理平臺。AutoCAD在圖形繪制方面具有很大的優(yōu)勢,但AutoCAD本身并沒有提供提取道路橫斷面的功能。AutoCAD具有十分豐富的二次開發(fā)接口,能夠通過二次開發(fā)實現(xiàn)道路橫斷面數(shù)據(jù)的自動提取。為此,本文提出了一種利用VBA編程實現(xiàn)道路橫斷面自動生成的方法。

        1 橫斷面數(shù)據(jù)格式分析

        道路橫斷面文件的格式種類較多,專用的道路設計軟件都有其特殊的數(shù)據(jù)格式。本文介紹的格式是由江蘇省交通規(guī)劃設計院股份有限公司(中設設計集團股份有限公司)提出的橫斷面格式。此橫斷面數(shù)據(jù)以微軟的Excel文件作為存儲載體,工作表的第一行為標題行,用于標識每列的用途。有效數(shù)據(jù)從工作表的第二行開始,每一個斷面占3行,詳細格式要求如下:

        第一行為中樁信息,從A列到E列分別填寫:線位名、中樁高程、中樁位置描述(即中樁的所處位置的地形特征,如溝邊、路邊、田中等)、位置、中樁樁號。

        第二行為左側(cè)斷面數(shù)據(jù),從D列開始填寫,D列填寫“左”,用于標識此行數(shù)據(jù)為左側(cè)中樁,后面填寫斷面點距中樁的距離與高程值,兩個值為一組,依次向后由近及遠填寫。

        第三列為右側(cè)斷面數(shù)據(jù),從D列開始填寫,D列填寫“右”,用于標識此行數(shù)據(jù)為右側(cè)中樁,后面填寫斷面點距中樁的距離與高程值,兩個值為一級,依次向后由近及遠填寫。

        表1 斷面數(shù)據(jù)格式示例

        2 模塊功能分析

        根據(jù)橫斷面數(shù)據(jù)格式的要求及AutoCAD軟件的特點,設計了橫斷面提取工具的總體框架,其主要由4個模塊組成:參數(shù)配置、中樁導入、橫斷面線繪制、橫斷面表格導出。

        2.1 參數(shù)配置

        參數(shù)主要由中樁導入配置、橫斷面配置、高程點配置、導出配置等組成,如圖1所示。

        1) 中樁導入配置:設置中樁表的線路名稱、每列的用途、有效數(shù)據(jù)行;

        2) 橫斷面配置:設置橫斷面線的圖層、搜索緩沖;

        3) 高程點配置:設置高程的過濾表達式及取值表達式;

        4) 導出配置:設置導出的數(shù)學精度。

        圖1 參數(shù)配置模塊

        2.2 中樁導入

        中樁坐標是在道路中線放樣時在外業(yè)實地測得的數(shù)據(jù),包括樁號、平面坐標、高程及地形說明等,保存于Excel文件中。中樁坐標是生成橫斷面數(shù)據(jù)的基礎,每個橫斷面都以中樁為中心進行搜索獲得。讀取中樁坐標使用開源組件NPOI。NPOI是一個讀寫Excel、Word等微軟OLE2組件文檔的項目,是Apache POI 項目在.NET 中的實現(xiàn),可以在不依賴于Microsoft Excel的情況下實現(xiàn)對Excel文件的讀寫。使用此組件讀取中樁坐標的關鍵步驟如下:

        1)實例化工作簿

        FileStream=File.OpenRead(FilePath)

        Book=New HSSFWorkbook(FileStream) 或 Book=New XSSFWorkbook(FileStream)

        2)獲取工作表

        Sheet=Book.GetSheetAt(0)

        3) 獲取某一行

        Row=Sheet.GetRow(RowIndex)

        4) 獲取單元格數(shù)據(jù)

        Value=Row.GetCell(CellIndex).ToString()

        2.3 橫斷面線繪制

        圖2 橫斷面線繪制示意圖

        2.4 橫斷面表格導出

        在提取橫斷面線時,從線路的起點開始,依次選擇橫斷面線,詳細步驟如下:

        1)以中樁值從小到大的順序遍歷道路中樁;

        2)以中樁為中心選擇橫斷面線;

        3)分別提取左、右高程點;

        4)重復步驟二。

        在提取左、右高程點時,可以使用式(1)來判斷:如果A值大于0表示點在中心線的左側(cè),A值小于0表示點在中心線的右側(cè),A值等于0則表示點在中心線上[3]。

        A=(X1-X)* (Y2-Y) - (Y1-Y) *

        (X2-X)

        我嘴里說著:“你們拿一把菜刀把我劈成兩半吧”,先替母親把不用的餐具放了上去,又幫著父親移動書柜。移完書柜,我就屬于父親了。他拉住我,要我把他整理好的書籍一排一排地放到書架上。我的母親在廚房里叫我了,要我把剛才放上去的那一箱不用的餐具再搬下來,她發(fā)現(xiàn)有一把每天都要用的勺子找不著了,她說會不會放在那一箱不用的餐具里面,而這時候父親又把一疊書籍遞給了我,我說:“你們拿一把菜刀把我劈成兩半吧?!?/p>

        (1)

        式中:A表示方向判別值;X1、Y1表示當前中樁點的平面坐標;X2、Y2表示下一個中樁點的平面坐標;X、Y表示某一高程點的平面坐標。

        3 程序?qū)崿F(xiàn)

        道路橫斷面提取工具的開發(fā)基于ObjectARX.Net框架,IDE選擇Visual Studio 2013,使用VisualBasic.Net作為編碼語言實現(xiàn)以上的全部功能。ObjectARX.Net是AutoCAD.Net API提供的托管程序集,方便開發(fā)人員使用.Net Framework支持的任意一門語言進行開發(fā)。此工具的運行流程,如圖3所示。

        圖3 道路橫斷面提取程序運行流程

        本文基于AutoCAD2010來實現(xiàn)道路橫斷面提取工具的各個功能,主要有以下幾個步驟:

        3.1 創(chuàng)建編程環(huán)境

        在Visual Studio 2013中創(chuàng)建一個項目,語言選擇Visual Basic,類型選擇類庫。項目創(chuàng)建完畢后,引入AutoCAD安裝目錄中的acdbmgd.dll與acmgd.dll,并將“復制到本地”屬性設為False、“目標CPU”屬性設為AnyCPU。

        3.2 定制AutoCAD命令

        在ObjectARX.Net開發(fā)環(huán)境中,需要將類中的方法添加Autodesk.AutoCAD.Runtime命名空間下的CommandMethodAttribute標識,程序加載后,就可以在AutoCAD命令行中輸入自定義的命令對方法進行調(diào)用[4-5],關鍵代碼如下:

        _

        Public Sub Road_DLHDM()

        Dim KeyValue As String=EditorKit.GetKeyWord("S:設置","I:導入中樁","D:繪制橫斷面", "E:導出橫斷面文件")

        Select Case KeyValue

        Case "S"

        ConfigSet()'設置

        Case "I"

        ImportData()'導入中樁

        Case "D"

        DrawSectionLine()'繪制橫斷面線

        Case "E"

        ExportFile()'導出橫斷面文件

        End Select

        End Sub

        3.3 加載程序文件

        代碼經(jīng)調(diào)試、編譯后,使用AutoCAD提供的netload命令,選擇編譯好的DLL文件,即可完成加載任務。加載完畢后,在命令行中輸入自定義的道路橫斷面命令DLHDM后再輸入相應的選項進行道路橫斷面數(shù)據(jù)處理的各種操作。

        4 應用實例

        在某條公路前期勘察過程中,作業(yè)人員首先根據(jù)設計單位提供的道路中線直曲表進行實地放樣,確定中樁后同時測量了此中樁對應的橫斷面高程點。在測量道路中樁時還記錄了中樁的地形特征。外業(yè)測量結(jié)束后,將測量的碎部點以高程點的方式展到AutoCAD中并在Excel中整理道路中樁坐標。然后使用DLHDM命令進行橫斷面數(shù)據(jù)處理,主要步驟如下:

        1)進行相關參數(shù)設置,主要設置橫斷面線的圖層、高程點的特征及搜索緩沖距離;

        2)導入道路中樁坐標;

        3)開始自動繪制橫斷面線,部分受到地形影響不規(guī)則的橫斷面可以通過手工干預進行輔助繪制;

        4)執(zhí)行提取橫斷面數(shù)據(jù)前的各項檢查;

        5)檢查無誤后導出道路橫斷面文件。

        繪制好的橫斷面線及導出的橫斷面文件,如圖4、圖5所示。

        圖4 道路橫斷面圖(部分)

        圖5 道路橫斷面文件(部分)

        使用該程序提取橫斷面文件,主要的工作時間用于整理道路中樁坐標文件,中樁文件整理完后,就可以使用此工具快速生成符合甲方要求的橫斷面文件。經(jīng)測試,如果采用手工方式生成道路橫斷面文件,處理完一條道路(約80個斷面)需要花費約2天的時間,而使用道路斷面程序自動提取,全程僅需要半個小時即可完成,而且不容易出現(xiàn)錯誤,降低了質(zhì)量隱患。

        5 結(jié)束語

        本文提出的通過繪制道路橫斷面線的方式來自動生成橫斷面文件能夠有效提升數(shù)據(jù)質(zhì)量并提高作業(yè)效率,從而減輕測量人員的數(shù)據(jù)處理工作量,保證勘察設計工期。該方法對于其它類型的AutoCAD應用也有一定的借鑒意義。

        国产欧美激情一区二区三区| 日本丰满熟妇videossex一| 人妻丝袜av中文系列先锋影音| 国内精品久久久久久无码不卡 | 麻豆国产成人精品午夜视频 | 亚洲av成人一区二区三区av| 亚洲中文字幕女同一区二区三区| 国产三级国产精品国产专播| 97久久久久人妻精品区一| 女人做爰高潮呻吟17分钟| 人妻系列影片无码专区| 久久精品国产熟女亚洲av麻豆| 中文无码伦av中文字幕| 红杏亚洲影院一区二区三区| 国产亚洲高清在线精品不卡| 人妖国产视频一区二区| 亚洲a∨无码一区二区三区| 亚洲妇女水蜜桃av网网站| 精品免费看国产一区二区白浆| 黄片视频大全在线免费播放| 日韩丰满少妇无码内射| 亚洲a∨天堂男人无码| 日本二区三区视频在线观看| 亚洲av日韩av激情亚洲| 日韩在线一区二区三区免费视频 | 亚洲成AV人久久| 女同一区二区三区在线观看 | 制服无码在线第一页| av中文字幕在线直播| 未满十八勿入av网免费| 亞洲綜合無碼av一區二區| 东京道一本热码加勒比小泽| 免费国产自拍在线观看| 亚洲国产美女精品久久久| 精品久久杨幂国产杨幂| 国产免费成人自拍视频| 香港三日本三级少妇三级视频| 精品2021露脸国产偷人在视频 | 色婷婷久久综合中文久久一本| 337p粉嫩日本欧洲亚洲大胆| 初尝黑人嗷嗷叫中文字幕|