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

        ?

        利用VBA對AutoCAD二次開發(fā)在礦山測量中的應(yīng)用

        2014-02-18 03:50:02王鵬霖
        城市建設(shè)理論研究 2014年5期
        關(guān)鍵詞:礦山測量二次開發(fā)

        摘要:本文通過對AutoCAD繪圖軟件、二次開發(fā)語言VBA的介紹,以及分析礦山測量在制圖時對AutoCAD的需求,闡述利用VBA對AutoCAD二次開發(fā)在礦山測量中的應(yīng)用。

        關(guān)鍵詞:AutoCAD;VBA;二次開發(fā);礦山測量

        中圖分類號: O434.19 文獻(xiàn)標(biāo)識碼: A

        1關(guān)于AutoCAD、 VBA

        1.1介紹AutoCAD、VBA

        AutoCAD(Auto Computer Aided Design)是美國Autodesk公司首次于1982年研究開發(fā)的計算機輔助設(shè)計軟件,是目前國際上應(yīng)用最流行的繪圖工具,功能全面,操作穩(wěn)定,普適性強,廣泛用于二維繪圖、詳細(xì)繪制,深受各行各業(yè)設(shè)計者和工程技術(shù)人員的喜愛。與此同時,高普適性也對應(yīng)著AutoCAD另一大特點:開放的結(jié)構(gòu)體系。這種開放體系,使得不同行業(yè)、專業(yè)根據(jù)自身的特點能夠?qū)ζ溥M(jìn)行Autodesk二次開發(fā),可以說AutoCAD的普適性為其二次開發(fā)提供了必要條件,從而也彌補了其專業(yè)針對性能不強的弱點。

        從AutoCAD R14.01版開始,Autodesk在AutoCAD中加入了VBA(Visual Basic for Applications),作為AutoCAD的一種二次開發(fā)工具。VBA是一種完全面向?qū)ο篌w系結(jié)構(gòu)的編程語言,是Visual Basic的一種宏語言,與VB有著相似的語言結(jié)構(gòu)和開發(fā)環(huán)境。在VBA中,AutoCAD通過AetiveX提供了一個溝通外部世界的機制,使得AutoCAD通過不同的編程語言和環(huán)境進(jìn)行二次開發(fā)??梢?,VBA是通過ActiveX接口建立與AutoCAD對象之間的聯(lián)系,在AutoCAD和Visual Basic之間搭建起起了一座橋梁,將其完美的融合在一起,創(chuàng)造出符合用戶要求的程序,形成新的功能性強、靈活性高的軟件。

        1.2利用VBA對AutoCAD進(jìn)行二次開發(fā)的優(yōu)點

        VBA與其他AutoCAD二次開發(fā)技術(shù)相比,優(yōu)點有很多:

        VB語言基礎(chǔ)廣泛。作為世界上使用人數(shù)最多的計算機編程語言,VB有非常堅實的語言基礎(chǔ),編程環(huán)境相對于其他二次開發(fā)技術(shù)更容易學(xué)習(xí)和使用。

        嵌入式與獨立性并舉。在二次開發(fā)中,VBA以AutoCAD軟件為依托,但并不是所有的應(yīng)用程序都要與AutoCAD進(jìn)行交互,體現(xiàn)了VBA的靈活性。

        運行速度快而穩(wěn)定。當(dāng)VBA與AutoCAD在同一進(jìn)程空間運行時,運行速度要比其他二次開發(fā)語言應(yīng)用程序快,運行也更加穩(wěn)定。

        2礦山測量對AutoCAD二次開發(fā)的需求

        2.1礦山測量的現(xiàn)狀

        礦山測量人員在井下進(jìn)行外業(yè)工作時,由于受到井下不利環(huán)境、條件與人員配置的限制,數(shù)字化儀器通用性并不高。使用光學(xué)儀器作業(yè)往往需要測量大量的基本數(shù)據(jù),如角度、距離。在傳統(tǒng)測量內(nèi)業(yè)工藝流程中,先要將原始數(shù)據(jù)進(jìn)行處理,然后將處理好的數(shù)據(jù)準(zhǔn)確、合理的體現(xiàn)在圖紙上或計算機上。在繪圖過程中,基本會重復(fù)相同的工作,如繪制巷道、采場平面圖:要將測得的同一方位上的支距點(特征點)在不同的比例尺下進(jìn)行逐一展繪、分別成圖,無論是手工繪圖還是普通的CAD制圖,都是一項重復(fù)率極高、效率極低的工作,而且極容易隨著制圖人員的疏漏和疲勞產(chǎn)生誤差,甚至是錯誤。

        通過以上對礦山測量內(nèi)外業(yè)工作的描述可見,礦山測量的硬件設(shè)施難以有實質(zhì)性的提升,但是內(nèi)業(yè)處理仍有很大的操作空間。如果我們將AutoCAD進(jìn)行二次開發(fā),將傳統(tǒng)數(shù)據(jù)處理與制圖這兩項“脫節(jié)”的工作有機結(jié)合在一起,將會大大提升工作效率和內(nèi)業(yè)精度。

        2.2開發(fā)方法

        二次開發(fā)主要方法是把原始的測量數(shù)據(jù)進(jìn)行專業(yè)分類,將不同種類的數(shù)據(jù)分別傳遞給不同的參數(shù)(相同種類傳遞相同參數(shù)),再根據(jù)測量人員的要求,用相關(guān)的公式、方法將參數(shù)進(jìn)行專業(yè)性整合,當(dāng)參數(shù)改變時(即不同種類的觀測值、觀測量),程序仍然按照預(yù)定的表達(dá)式來執(zhí)行,通過人機交互,完成繪圖,從而實現(xiàn)變量化設(shè)計,自動化制圖。

        2.3程序界面

        如圖1所示,進(jìn)入VBA二次開發(fā)程序界面之后,在編寫代碼之前,要根據(jù)該程序所需的變量、參數(shù),來確定都要在界面當(dāng)中添加哪些控件。

        2.4代碼部分

        此處將部分 “圖2繪制采場、聯(lián)絡(luò)道平面圖程序設(shè)計”的代碼進(jìn)行注釋,對照示意圖來進(jìn)行AutoCAD VBA二次開發(fā)的解析:

        Private Sub CommandButton7_Click()‘計算羅盤導(dǎo)線點坐標(biāo)

        Dim b2, b3, b4, b5, b6, b7 As Double‘定義過程變量的數(shù)據(jù)類型

        Const pm As Double = 3.141592653‘定義常量

        If tt1 = "" Then‘IF條件語句,該text文本框為空傾角為0

        tt1 = 0

        End If

        b1 = tx3 - 7.5‘井下與井上磁方位角差值

        b2 = (b1) / 180 * pm‘將角度進(jìn)行弧度化

        圖1 繪制采場、聯(lián)絡(luò)道平面圖程序設(shè)計

        b3 = tx4 * (Cos(tt1 / 180 * pm))‘計算羅盤導(dǎo)線長度

        b4 = tx1

        b6 = b3 * Sin(b2)

        b7 = b3 * Cos(b2)

        f1 = Val(CInt(Right(Fix((b4 + b6) * 10000), 1) / 10)) / 1000 + Val(Left(Fix((b4 + b6) * 10000), 7)) / 1000‘計算未知點坐標(biāo)

        f2 = Val(CInt(Right(Fix((b5 + b7) * 10000), 1) / 10)) / 1000 + Val(Left(Fix((b5 + b7) * 10000), 7)) / 1000

        tx5 = f1‘將已求出的坐標(biāo)值體現(xiàn)在文本框中

        End Sub

        Private Sub CommandButton8_Click()‘展羅盤導(dǎo)線點

        Dim lpp, lpdx As AcadPoint

        Dim lpposition(0 To 2) As Double

        Dim lpd(0 To 2) As Double

        lpposition(0) = Val(tx1)‘三維坐標(biāo)賦值

        lpposition(1) = Val(tx2)

        lpposition(2) = 0

        Set lpp = ThisDrawing.ModelSpace.AddPoint(lpposition) ‘將點展入到AutoCAD中

        lpd(0) = Val(tx5)

        lpd(1) = Val(tx6)

        lpd(2) = 0

        Set lpdx = ThisDrawing.ModelSpace.AddPoint(lpd)

        End Sub

        Private Sub CommandButton15_Click() ‘計算支距點坐標(biāo)

        Dim lpzhu, lpz, lpy, zdz, zdy, l6, r6, l61, r61, lpzy, lpzx, lpry, lprx, msg As Double

        If tt1 <> 0 Then

        msg = MsgBox("注意,傾角不為0時主尺沒有鋪在地面,請認(rèn)真檢查數(shù)據(jù),謝謝", 0 + vbInformation)

        End If

        Const hlp As Double = 3.141592653

        lpzhu = tx7 ‘將測得的主尺位置、對應(yīng)的左右支距賦值

        lpz = tx8

        If lpzhu = 0 Then

        zdz = tx1

        zdy = tx2

        End If

        If lpzhu <> 0 Then‘計算主尺不為0時,主尺點坐標(biāo)

        zdz = tx1 + lpzhu * Sin(b1 / 180 * hlp)

        End If

        lpzy = lpz * Sin(l61)‘計算坐標(biāo)增量與支距點坐標(biāo)

        lpzx = lpz * Cos(l61)

        If tx8 = "" Or tx8 = 0 Then

        tx10 = ""

        If tx9 = "" Or tx9 = 0 Then

        tx12 = ""

        End If

        End Sub

        Private Sub CommandButton9_Click()‘展左支距點

        Dim lpzz(0 To 2) As Double

        Dim lpointzuozhi As AcadPoint

        lpzz(0) = Val(tx10)

        lpzz(1) = Val(tx11)

        lpzz(2) = 0

        Set lpointzuozhi = ThisDrawing.ModelSpace.AddPoint(lpzz)

        End Sub

        3結(jié)束語

        使用VBA對AutoCAD進(jìn)行二次開發(fā),是今后提高礦山測量人員繪圖效率、精度,減少工作量的重要手段,它很好的補充了AutoCAD的制圖功能。到目前為止,此種方法在礦山測量領(lǐng)域應(yīng)用并不廣泛,仍有很大空間,是值得投入與研究的。希望能有更多的工程技術(shù)人員加入到二次開發(fā)的行列中,讓AutoCAD軟件在使用上更加得心應(yīng)手,為礦山數(shù)字化做出自己的貢獻(xiàn)。

        參考文獻(xiàn):

        [1] 王圍,李波,鄒元平.AutoCAD二次開發(fā)中的若干問題探析[J].電腦知識與技術(shù),2012,08 (1):163-165.

        [2] 張帆,鄭立楷,王華杰.AutoCAD VBA開發(fā)精彩實例教程[M].北京:清華大學(xué)出版社,2004.

        [3] 李琳. 基于VBA的AutoCAD二次開發(fā)[J].硅谷,2011,(18):191.

        [4] 孫運平,高玉春. AutoCAD二次開發(fā)及應(yīng)用研究[J].商場現(xiàn)代化,2012,(679):102.

        作者簡介:王鵬霖,1988年生,大學(xué)本科,籍貫:山東省五蓮縣,測量助理工程師,主要從事礦山測量工作

        猜你喜歡
        礦山測量二次開發(fā)
        淺談基于Revit平臺的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        西門子Easy Screen對倒棱機床界面二次開發(fā)
        GPS—RTK技術(shù)在礦山測量中的應(yīng)用探討
        金礦測繪技術(shù)總結(jié)研究
        礦山測量對煤礦生產(chǎn)的作用
        礦山測量中高程導(dǎo)入及井下控制測量
        基于Pro/E二次開發(fā)的推土鏟參數(shù)化模塊開發(fā)
        国产三级视频一区二区| 日本大尺度吃奶呻吟视频| 国产精品11p| 色综合久久五月天久久久| 日韩免费精品在线观看| 在线精品无码字幕无码av| 国产精品爽爽va在线观看无码| 精品日韩欧美一区二区三区在线播放| 亚洲国产av一区二区不卡| 欧美牲交a欧美牲交aⅴ| 在线亚洲人成电影网站色www | 欧洲美熟女乱又伦av影片| 熟妇的荡欲色综合亚洲| 99热国产在线| 日本视频一区二区三区| 国产精品天干天干| 国产精品亚洲综合色区韩国| 西西人体大胆视频无码| 国产精品亚洲一区二区三区在线| 中文无码伦av中文字幕| 免费现黄频在线观看国产| 亚洲人妻中文字幕在线视频| 喷水白浆视频在线观看| 大肉大捧一进一出视频| 色综合久久无码中文字幕app| 国产一区二区在线观看av| 日韩 无码 偷拍 中文字幕| 熟妇人妻av无码一区二区三区| 欧美zozo另类人禽交| 国产91成人精品高潮综合久久 | 一区二区视频在线观看地址| 国产av永久无码天堂影院| 国产精品白浆一区二区免费看| 白色白色视频在线观看| 精品无人码麻豆乱码1区2区| 国内少妇偷人精品视频免费| 九九日本黄色精品视频| 国产成人精品一区二区20p| 亚洲精品无码av中文字幕| 精品人妻少妇一区二区中文字幕 | 中文字幕av一区二区三区人妻少妇 |