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

        ?

        基于VBA處理AutoCAD中斷面數(shù)據(jù)的方法

        2018-01-15 07:55:51向垂規(guī)王俊
        價(jià)值工程 2018年1期

        向垂規(guī)+王俊

        摘要: 在南方CASS成圖軟件中,根據(jù)實(shí)測(cè)斷面點(diǎn)的坐標(biāo)、高程數(shù)據(jù)整理斷面數(shù)據(jù)時(shí),效率低下且容易漏點(diǎn),為快速地獲取斷面數(shù)據(jù),本文基于VBA在AutoCAD平臺(tái)上加載斷面數(shù)據(jù)處理程序,能快速生成斷面數(shù)據(jù)文件,并保存在Excel中。

        Abstract: In Southern CASS mapping software, when the data of the cross-section are sorted according to the measured point coordinates and elevation data, it is inefficient and easy to miss points. In order to get the cross-section data quickly, this article loads data processing program in AutoCAD platform based on VBA, and can quickly generate cross-section data files, and save in Excel.

        關(guān)鍵詞: 斷面數(shù)據(jù)處理;VBA;CASS成圖軟件;斷面圖繪制

        Key words: cross section data processing;VBA;CASS mapping software;section drawing

        中圖分類號(hào):TP274 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-4311(2018)01-0197-03

        0 引言

        水利工程建設(shè)中,進(jìn)行樞紐區(qū)大壩、隧洞、溢洪道等水工建筑物設(shè)計(jì)、輸水渠道開(kāi)挖、庫(kù)區(qū)清淤時(shí),為滿足工程設(shè)計(jì)或施工需要,測(cè)繪人員要都要進(jìn)行縱、橫斷面的測(cè)量。斷面的測(cè)量成果是得到所測(cè)區(qū)域的縱、橫斷面圖,斷面圖一般包括里程及高程兩要素,繪圖時(shí)以里程值為橫坐標(biāo),高程值為縱坐標(biāo)按比例繪制,工程技術(shù)人員可根據(jù)斷面圖進(jìn)行工程設(shè)計(jì)、方量計(jì)算及造價(jià)估算。

        現(xiàn)階段,通常利用全站儀或RTK技術(shù)獲取斷面點(diǎn)的坐標(biāo)、高程數(shù)據(jù),在南方CASS等成圖軟件中完成斷面圖的繪制。在南方CASS成圖軟件中,提供了四種斷面圖的繪制方法。一是根據(jù)已知坐標(biāo)生成斷面圖,二是根據(jù)等高線生成斷面圖,三是根據(jù)三角網(wǎng)生成斷面圖,四是根據(jù)里程文件生成斷面圖[1]。這四種方法除根據(jù)里程文件外,其它的三種方法都是由圖面按里程內(nèi)插高程點(diǎn),而在水利工程斷面測(cè)量時(shí),一般都要實(shí)測(cè)斷面點(diǎn)的三維數(shù)據(jù),且斷面成果整理及資料提交是基于實(shí)測(cè)斷面數(shù)據(jù)[2],即先整理斷面里程文件再繪制斷面圖。在南方CASS成圖軟件中根據(jù)實(shí)測(cè)斷面點(diǎn)的坐標(biāo)、高程數(shù)據(jù)整理斷面數(shù)據(jù)效率低下且容易漏點(diǎn),不好加點(diǎn)。為快速地獲取斷面數(shù)據(jù),本文基于VBA[3,4]在AutoCAD平臺(tái)上加載斷面數(shù)據(jù)處理程序,能快速生成斷面數(shù)據(jù)文件,并保存在Excel中。

        1 程序編寫(xiě)

        1.1 程序編寫(xiě)思路

        利用RTK或全站儀進(jìn)行斷面測(cè)量時(shí),可得到斷面線特征點(diǎn)的點(diǎn)位坐標(biāo)和高程數(shù)據(jù)。整理斷面數(shù)據(jù)時(shí),由設(shè)定的斷面線、斷面方向及零起點(diǎn),在南方CASS成圖軟件中可根據(jù)所展高程點(diǎn)進(jìn)行斷面數(shù)據(jù)處理和檢查,可以直觀地生成繪制斷面圖所需的里程、高程文件。對(duì)測(cè)量數(shù)據(jù)在南方CASS成圖軟件中展點(diǎn)后,測(cè)量點(diǎn)位可能在設(shè)計(jì)線的兩邊或設(shè)計(jì)線上,獲取斷面數(shù)據(jù)時(shí),程序能判別測(cè)量點(diǎn)位離設(shè)計(jì)斷面線的偏離距是否滿足允許限差要求,如超出限差要求,該斷面點(diǎn)的高程值在Excel中顯示為紅色,如不超出限差要求,則該斷面點(diǎn)的高程值在Excel中顯示為黑色。如圖1所示,a,b為實(shí)測(cè)高程點(diǎn),a′,b′為a,b在設(shè)計(jì)斷面線上的垂足點(diǎn)位,設(shè)計(jì)斷面線為直線A,實(shí)測(cè)點(diǎn)連成的線為折線B,a點(diǎn)的偏離距為S,按照內(nèi)插原理,偏離距S在允許限差范圍內(nèi),可以用垂足點(diǎn)a′代替實(shí)測(cè)點(diǎn)a,其高程不變,即進(jìn)行斷面整理時(shí),a,b兩斷面點(diǎn)的間距取La′b′,高程取實(shí)測(cè)點(diǎn)位高程Ha,Hb。

        1.2 程序編寫(xiě)步驟

        ①在AUTOCAD中打開(kāi)VBA管理器,創(chuàng)建一個(gè)新的工程。進(jìn)入VBA開(kāi)發(fā)環(huán)境,在“工程資源管理器”中創(chuàng)建對(duì)Excel對(duì)象庫(kù)的引用,調(diào)用Excel中的對(duì)象,源代碼如下:

        Public excel_App As Excel.Application

        Public excel_Book As Excel.Workbook

        Public excel_sheet As Excel.Worksheet

        Public Sub linkexcel() '引用EXCEL

        On Error Resume Next

        Set excel_App = GetObject(, "excel.application")

        If Err Then

        Err.Clear

        Set excel_App = CreateObject("excel.application")

        If Err Then

        Err.Clear

        MsgBox "檢查EXCEL"

        Exit Sub

        End If

        End If

        Set excel_Book = excel_App.Workbooks.Add

        Set excel_sheet = excel_Book.Worksheets("sheet1")

        excel_App.WindowState = xlMinimized

        End Sub

        ②聲明變量。在編輯器中定義各種本地變量Dim,定義斷面數(shù)據(jù)在Excel中輸出時(shí)各列的值,定義不同成圖比例尺下的斷面點(diǎn)相對(duì)斷面線的允許偏離值,源代碼如下:endprint

        Public Sub hdm()

        Dim qd As Variant '定義起始點(diǎn)坐標(biāo)變量

        Dim zd As Variant '定義終點(diǎn)坐標(biāo)變量

        Dim pp As Variant '定義獲取點(diǎn)坐標(biāo)變量

        Dim h As Variant '定義獲取點(diǎn)高程變量

        Dim s As Single '定義累距變量

        Dim l As Single '定義偏離距變量

        Dim str As String '定義輸入高程變量

        Dim str1 As Variant '定義輸入累距和高程變量

        Dim str3 As String '定義成圖比例尺變量

        Dim maxplj As String '定義允許最大偏離距變量

        Dim i, j As Integer '定義excel單元格的行列號(hào)變量

        Dim Lay As AcadLayer '定義圖層變量

        i = 2: j = 2

        Call linkexcel

        excel_App.DisplayAlerts = True

        excel_sheet.Cells(1, 1) = "樁號(hào)"

        excel_sheet.Cells(1, 2) = "累距"

        excel_sheet.Cells(1, 3) = "高程"

        On Error Resume Next

        Set Lay = ThisDrawing.Layers.Add("斷面標(biāo)記") '新建標(biāo)記圖層

        Lay.LayerOn = True

        Lay.color = 2

        ThisDrawing.ActiveLayer = Lay

        str3 = ThisDrawing.Utility.GetString(False, "斷面成圖比例尺為為1:") '輸入成圖比例尺

        If str3 >= 200 And str3 <= 1000 Then '計(jì)算允許偏離距

        maxplj = (5 * str3) / 1000

        ElseIf str3 >= 2000 And str3 <= 5000 Then

        maxplj = (3 * str3) / 1000

        End If

        ③編寫(xiě)循環(huán)語(yǔ)句提取CASS展點(diǎn)圖中的坐標(biāo)、高程值,在Excel中生成斷面數(shù)據(jù)。主要運(yùn)行步驟為:1)選擇斷面起點(diǎn)、終點(diǎn),定義斷面方向。2)輸入偏距值,在選點(diǎn)時(shí)如偏距值大于設(shè)定值,則在表中顯示為紅色,提示超限。3)選取斷面高程點(diǎn)或加點(diǎn)時(shí)輸入高程點(diǎn),輸入斷面樁號(hào)。在Excel中生成斷面數(shù)據(jù),并循環(huán)進(jìn)行下一點(diǎn)的操作。4)該條斷面完成后,輸入“N”進(jìn)行下一條斷面數(shù)據(jù)的采集或輸入“E”結(jié)束斷面數(shù)據(jù)的采集,結(jié)束斷面數(shù)據(jù)采集時(shí),提示“及時(shí)保存數(shù)據(jù)”。其源代碼省略。

        1.3 程序的操作

        ①程序加載。先將程序文件acad.dvb導(dǎo)入CAD中的support文件夾中,再在CASS中找到system文件夾,打開(kāi)acad.rx,加寫(xiě)“acvba”,這時(shí)打開(kāi)南方CASS成圖軟件即可加載。

        ②獲取斷面數(shù)據(jù)。先打開(kāi)南方CASS7.0成圖軟件,完成斷面測(cè)量數(shù)據(jù)的展點(diǎn)及設(shè)計(jì)斷面線的繪制。再在菜單欄激活“獲取斷面數(shù)據(jù)”菜單,然后根據(jù)狀態(tài)欄的提示,用鼠標(biāo)點(diǎn)擊處理斷面線的斷面起點(diǎn)位置及終點(diǎn)方向。用鼠標(biāo)選擇斷面線上的高程點(diǎn)位(點(diǎn)擊后的高程點(diǎn)位用圓圈加以標(biāo)記),獲得該點(diǎn)在設(shè)計(jì)斷面線上的斷面里程及高程數(shù)據(jù),并保存在Excel里,如圖2。

        在斷面數(shù)據(jù)獲取過(guò)程中,可增加斷面上未測(cè)地形特征點(diǎn)(如增加量取的坎腳點(diǎn)),在第一條斷面處理完成后,可選擇接著處理第二條斷面(輸入命令“N”)或選擇退出程序(輸入命令“E”)。在斷面數(shù)據(jù)處理完成后,輸入命令“E”結(jié)束時(shí),CASS對(duì)話框提示“斷面數(shù)據(jù)已形成,請(qǐng)及時(shí)保存”。如圖3。

        2 結(jié)束語(yǔ)

        利用VBA編寫(xiě)的斷面數(shù)據(jù)處理程序,該程序可以加載在CASS及AutoCAD菜單命令下,利用該程序進(jìn)行縱斷面和橫斷面數(shù)據(jù)處理,能快速獲取繪制斷面圖所需的里程、高程數(shù)據(jù)文件,結(jié)合CASS展點(diǎn)圖及現(xiàn)場(chǎng)草圖能方便的進(jìn)行斷面數(shù)據(jù)的檢查。處理斷面數(shù)據(jù)時(shí),可進(jìn)行人機(jī)交互式數(shù)據(jù)輸入,具有速度快、效率高且不易出錯(cuò)等特點(diǎn),生成的斷面數(shù)據(jù)形成Excel文檔及文本文檔,便于測(cè)量人員、設(shè)計(jì)人員使用及歸檔保存。

        參考文獻(xiàn):

        [1]CASS7.0標(biāo)準(zhǔn)教程[R].廣州:南方測(cè)繪儀器有限公司,2007.

        [2]SL52-2015.水利水電工程施工測(cè)量規(guī)范[S].北京:中國(guó)水利水電出版社,2015.

        [3]羅朝盛.Visual Basic 6.0程序設(shè)計(jì)教程[M]. 北京:人民郵電出版社,2002.

        [4]張強(qiáng),劉飚,等.Excel2007與VBA編程從入門(mén)到精通 [M]. 北京:電子工業(yè)出版社,2008.endprint

        国产乱国产乱老熟300部视频| 精品国产a毛片久久久av| 亚洲sm另类一区二区三区| 亚洲av综合色区| 成人网站免费大全日韩国产| 亚洲国产精品线观看不卡| 国语自产啪在线观看对白| 蜜桃传媒免费在线播放| 日韩毛片无码永久免费看| 在线视频精品免费| 视频精品熟女一区二区三区| 亚洲国产综合人成综合网站| 白丝爆浆18禁一区二区三区| 醉酒后少妇被疯狂内射视频 | 国产香蕉国产精品偷在线| 色av综合av综合无码网站| 麻豆国产VA免费精品高清在线| 国产在线一区二区三区四区乱码 | 亚洲中文中文字幕乱码| 亚洲av永久无码精品漫画| 久久亚洲精品无码va大香大香| 国产中文久久精品| 国产乱子伦一区二区三区国色天香| 欧美日韩精品一区二区视频| 女人做爰高潮呻吟17分钟| 娇妻粗大高潮白浆| 99久久精品一区二区国产| 色噜噜久久综合伊人一本| 久久aⅴ无码一区二区三区| 亚洲精品二区三区在线观看| 国产不卡在线视频观看| 日本公与熄乱理在线播放| 产国语一级特黄aa大片| 日韩亚洲一区二区三区在线| 无码av中文一区二区三区桃花岛| 人人妻人人澡人人爽曰本| 素人激情福利视频| 亚洲写真成人午夜亚洲美女| 人人爽久久涩噜噜噜丁香| 精品少妇大屁股白浆无码 | 国产美腿丝袜一区二区|