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

利用VBA對AutoCAD二次開發在礦山測量中的應用

2014-02-18 03:50:02王鵬霖
城市建設理論研究 2014年5期
關鍵詞:二次開發

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

關鍵詞:AutoCAD;VBA;二次開發;礦山測量

中圖分類號: O434.19 文獻標識碼: A

1關于AutoCAD、 VBA

1.1介紹AutoCAD、VBA

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

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

1.2利用VBA對AutoCAD進行二次開發的優點

VBA與其他AutoCAD二次開發技術相比,優點有很多:

VB語言基礎廣泛。作為世界上使用人數最多的計算機編程語言,VB有非常堅實的語言基礎,編程環境相對于其他二次開發技術更容易學習和使用。

嵌入式與獨立性并舉。在二次開發中,VBA以AutoCAD軟件為依托,但并不是所有的應用程序都要與AutoCAD進行交互,體現了VBA的靈活性。

運行速度快而穩定。當VBA與AutoCAD在同一進程空間運行時,運行速度要比其他二次開發語言應用程序快,運行也更加穩定。

2礦山測量對AutoCAD二次開發的需求

2.1礦山測量的現狀

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

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

2.2開發方法

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

2.3程序界面

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

2.4代碼部分

此處將部分 “圖2繪制采場、聯絡道平面圖程序設計”的代碼進行注釋,對照示意圖來進行AutoCAD VBA二次開發的解析:

Private Sub CommandButton7_Click()‘計算羅盤導線點坐標

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

Const pm As Double = 3.141592653‘定義常量

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

tt1 = 0

End If

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

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

圖1 繪制采場、聯絡道平面圖程序設計

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

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‘計算未知點坐標

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

tx5 = f1‘將已求出的坐標值體現在文本框中

End Sub

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

Dim lpp, lpdx As AcadPoint

Dim lpposition(0 To 2) As Double

Dim lpd(0 To 2) As Double

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

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() ‘計算支距點坐標

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

If tt1 <> 0 Then

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

End If

Const hlp As Double = 3.141592653

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

lpz = tx8

If lpzhu = 0 Then

zdz = tx1

zdy = tx2

End If

If lpzhu <> 0 Then‘計算主尺不為0時,主尺點坐標

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

End If

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

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結束語

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

參考文獻:

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

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

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

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

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

猜你喜歡
二次開發
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
西門子Operate高級編程的旋轉坐標系二次開發
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
基于C#的AutoCAD建筑構件庫二次開發
江西建材(2018年2期)2018-04-14 08:01:14
西門子Easy Screen對倒棱機床界面二次開發
基于全站儀二次開發的覆冰厚度測量與實現
電測與儀表(2016年9期)2016-04-12 00:29:52
Micaps3.2 版本二次開發入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
基于VB的ANSYS二次開發在變壓器抗短路性能分析中的應用
基于CATIA的橡皮囊成形毛料展開的二次開發
機械工程師(2015年9期)2015-02-26 08:38:10
ANSYS Workbench二次開發在汽車穩定桿CAE分析中的應用
汽車零部件(2014年5期)2014-11-11 12:24:32
主站蜘蛛池模板: 免费又黄又爽又猛大片午夜| 97成人在线视频| 欧洲日本亚洲中文字幕| 亚洲精品成人片在线播放| 欧美午夜在线观看| 九九这里只有精品视频| 在线观看国产精美视频| 亚洲成人播放| 日韩小视频在线观看| 青青国产成人免费精品视频| 宅男噜噜噜66国产在线观看| 伊人天堂网| 大陆精大陆国产国语精品1024| 98精品全国免费观看视频| 国产熟睡乱子伦视频网站 | 精品三级在线| 五月婷婷综合网| 久久精品国产一区二区小说| 日韩人妻精品一区| 国产永久在线观看| 精品国产成人a在线观看| 人妻无码中文字幕第一区| 狼友av永久网站免费观看| 亚洲中文字幕国产av| 在线看片免费人成视久网下载| 色哟哟国产精品| 日本a∨在线观看| 亚洲色图欧美一区| 精品欧美一区二区三区久久久| 日韩精品一区二区三区中文无码| 喷潮白浆直流在线播放| 精品五夜婷香蕉国产线看观看| 美女免费黄网站| 永久在线播放| 国产流白浆视频| 欧亚日韩Av| 国产精品久线在线观看| 日本91视频| 久久熟女AV| 二级特黄绝大片免费视频大片| 国产亚洲精| 国产精品第一区| vvvv98国产成人综合青青| 国产亚洲精品资源在线26u| 国产亚洲精品91| 色综合天天综合中文网| 日本成人在线不卡视频| a级毛片毛片免费观看久潮| 免费观看男人免费桶女人视频| 国模私拍一区二区三区| 久久一色本道亚洲| 夜夜爽免费视频| 谁有在线观看日韩亚洲最新视频| 亚洲欧洲日韩综合| 四虎国产精品永久一区| 伊人久久精品无码麻豆精品| 一区二区午夜| 午夜啪啪网| 亚洲品质国产精品无码| 婷婷亚洲视频| 四虎永久在线精品影院| 久久9966精品国产免费| 久久精品国产免费观看频道| 在线亚洲小视频| 尤物在线观看乱码| 亚洲欧美精品一中文字幕| 国产香蕉国产精品偷在线观看| 国产精品香蕉| 亚洲VA中文字幕| 97成人在线观看| 在线日韩一区二区| 欧美日韩国产系列在线观看| 91蝌蚪视频在线观看| 99爱视频精品免视看| 毛片三级在线观看| 亚洲国产AV无码综合原创| 97se亚洲综合在线天天| 亚洲精品高清视频| 精品91自产拍在线| 久久久久国产精品嫩草影院| 亚洲丝袜第一页| 久久久久国产精品免费免费不卡|