




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
對vb軟件系統(tǒng)進行CAD二次開發(fā) 關(guān)鍵詞:標準零件、AutoCADVBA語言、AutoCAD的二次開發(fā)計算機輔助制圖是現(xiàn)代企業(yè)生產(chǎn)和設(shè)計的重要工具,AutoCAD是計算機輔助設(shè)計工具的一種,VB是AutoCAD軟件的重要組成部分。它是AutoCAD軟件二次開發(fā)的重要工具。它可使一些常用的機械零件能很快的調(diào)用,簡捷方便,很大的提高了工作效率縮短了新產(chǎn)品的開發(fā)周期,提高制圖的質(zhì)量。利用VB語言對AutoCAD進行二次開發(fā)是現(xiàn)代計算機技術(shù)不可缺少的內(nèi)容,而且直接影響到制圖的速度和質(zhì)量。本次設(shè)計是AutoCAD軟件二次開發(fā)的其中一部分,它在AutoCAD軟件開發(fā)中占有一定的地位和作用。AutoCAD為用戶提供了多種二次開發(fā)工具,其中較常用的有AutoLISP、VBA、ObjectARX三種方式。
AutoLISP是一種解釋性的表結(jié)構(gòu)處理語言,具有語言結(jié)構(gòu)簡單、開發(fā)周期短、不依賴于操作平臺的特點,但是作為解釋語言,其運行速度和保密性方面有一定的缺陷,并且不適合開發(fā)有復(fù)雜運算的軟件。
VisualBasic(VB)是美國微軟公司推出的程序開發(fā)工具,它簡單易學(xué),適用面廣,在Windows平臺上被廣泛使用。為此,可以作為測繪工作者進行程序設(shè)計的首選工具。
VBA是VisualBasicforApplications的縮寫,由VisualBasic派生而來,現(xiàn)在已經(jīng)成為Mictosoft產(chǎn)品的標準語言。與VB一樣,VBA是面向?qū)ο蟮脑O(shè)計語言,它繼承了VB語法簡單、功能強大的特點,同時,由于VBA可與主程序在同一內(nèi)存空間內(nèi)運行,大大提高了運行的速度,并具有某些“智能”功能VBA的概念與作用
VBA(VisualBasicforApplication)是一種完全面向?qū)ο篌w系結(jié)構(gòu)的編程語言,由于其在開發(fā)方面的易用性和具有強大的功能,因此許多應(yīng)用程序均嵌入該語言作為開發(fā)工具。利用VB進行AutoCAD二次開發(fā)的關(guān)鍵步驟
首先,要在VB中引用AutoCAD的類型庫Acad.tlb,該庫位于AutoCADR14的安裝目錄下。
其次,要建立用VB開發(fā)的應(yīng)用程序與AutoCAD間的聯(lián)系,這一過程,稱為初始化。相應(yīng)的程序代碼如下:
PrivateSubInitGraph()
OnErrorResumeNext
SetAcadApp=GetObject(,"AutoCAD.Application")
IfErrThen
MsgBoxErr.Description
UnloadMe
EndIf
AcadApp.Visible=True
SetAcadDoc=AcadApp.ActiveDocument
SetMoSpace=AcadDoc.ModelSpace
EndSub
之后,即可以用AutoCAD類型庫提供的屬性、方法對AutoCAD進行操作,如畫線,可用AddLightWeightPolyline語句來完成,寫文字,可用AddText語句來實現(xiàn)。
螺栓編程流程圖PrivateSubcanshu_Click()EndSubPrivateSubCmdExit_Click()UnloadMeEndSubPrivateSubCmdOk_Click()'檢查參數(shù)賦值情況IfTextX.Text=""OrTextY.Text=""OrTextZ.Text=""ThenMsgBox"請在屏幕選起點!",vbExclamation,"警告"ExitSubEndIf'定義直線對象DimobjLine01,ObjLine02,ObjLine03,ObjLine04,ObjLine05,ObjLine06,ObjLine07,ObjLine08,ObjLine09,ObjLine10,ObjLine11,ObjLine12,ObjLine13,ObjLine14,ObjLine15AsAcadLine'定義數(shù)組變量,作為各頂點的坐標DimPt01(2)AsDouble:DimPt02(2)AsDouble:DimPt03(2)AsDoubleDimPt04(2)AsDouble:DimPt05(2)AsDouble:DimPt06(2)AsDoubleDimPt07(2)AsDouble:DimPt08(2)AsDouble:DimPt09(2)AsDoubleDimPt10(2)AsDouble:DimPt11(2)AsDouble:DimPt12(2)AsDoubleDimPt13(2)AsDouble:DimPt14(2)AsDouble:DimPt15(2)AsDoubleDimPt16(2)AsDouble:DimPt17(2)AsDouble:DimPt18(2)AsDoubleDimPt19(2)AsDouble:DimPt20(2)AsDouble:DimPt21(2)AsDoubleDimPt22(2)AsDouble:DimPt23(2)AsDouble:Dimd,l,bAsDoubleDimx,y,zAsVariantx=TextX:y=TextY:z=TextZ'檢查參數(shù)賦值情況IfTextZhiJ.Text=""OrTextChangD.Text=""ThenMsgBox"參數(shù)不能為空,請檢查參數(shù)的輸入.",vbExclamation,"警告"ExitSubEndIfd=TextZhiJ:l=TextChangDIfd=5ThenMsgBox"螺栓長度應(yīng)為:GB578025~50;GB578110~40",vbExclamation,"警告"b=16Ifl<16Orl>50ThenExitSubEndIfEndIfIfd=6ThenMsgBox"螺栓長度應(yīng)為:GB578030~60;GB578112~50",vbExclamation,"警告"b=18Ifl<18Orl>60ThenExitSubEndIfEndIfIfd=8ThenMsgBox"螺栓長度應(yīng)為:GB578035~80;GB578116~65",vbExclamation,"警告"b=22Ifl<22Orl>80ThenExitSubEndIfEndIfIfd=10ThenMsgBox"螺栓長度應(yīng)為:GB578040~100;GB578120~80",vbExclamation,"警告"b=26Ifl<26Orl>100ThenExitSubEndIfEndIfIfd=12ThenMsgBox"螺栓長度應(yīng)為:GB578045~120;GB578125~100",vbExclamation,"警告"b=30Ifl<30Orl>120ThenExitSubEndIfEndIfIfd=16ThenMsgBox"螺栓長度應(yīng)為:GB578055~160;GB578135~100",vbExclamation,"警告"b=38Ifl<38Orl>160ThenExitSubEndIfEndIfIfd=20ThenMsgBox"螺栓長度應(yīng)為:GB578065~200;GB578140~100",vbExclamation,"警告"b=40Ifl<40Orl>200ThenExitSubEndIfEndIfIfd=24ThenMsgBox"螺栓長度應(yīng)為:GB578080~240;GB578150~100",vbExclamation,"警告"b=54Ifl<54Orl>240ThenExitSubEndIfEndIfIfd=30ThenMsgBox"螺栓長度應(yīng)為:GB578090~300;GB578160~100",vbExclamation,"警告"b=66Ifl<66Orl>300ThenExitSubEndIfEndIfIfd=36ThenMsgBox"螺栓長度應(yīng)為:GB5780110~300;GB578170~100",vbExclamation,"警告"b=78Ifl<78Orl>300ThenExitSubEndIfEndIfIfd=42ThenMsgBox"螺栓長度應(yīng)為:GB5780160~420;GB578180~420",vbExclamation,"警告"b=96Ifl<96Orl>420ThenExitSubEndIfEndIfIfd=48ThenMsgBox"螺栓長度應(yīng)為:GB5780180~480;GB578190~480",vbExclamation,"警告"b=108Ifl<108Orl>480ThenExitSubEndIfEndIf'判斷語句Ifd<>5#Andd<>6Andd<>8Andd<>10Andd<>12Andd<>16Andd<>20Andd<>24Andd<>30Andd<>36Andd<>42Andd<>48ThenMsgBox"螺栓直徑可能為5,6,8,10,12,16,20,24,30,36,42,48?",vbExclamation,"警告"ExitSubEndIfNextEndSub在本次設(shè)計中,主要是VBA的編程工作。其中涉及了VBA的對話框、判斷語句、選擇語句、條件語句、位置的確定、圖層的設(shè)置、線形的選擇、對話框的連接、技術(shù)標準的選取等等諸多方面的問題。與此同時,也比較熟練的掌握了AutoCAD的運用。由于本人的水平有限,在設(shè)計中有許多不足之處懇請各位老師予以指正。參考文獻[1]《明經(jīng)通道》
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 今天陜西省高考語文作文題
- 生態(tài)保護與生態(tài)農(nóng)業(yè)推廣考核試卷
- 十八項護理核心制度
- 湖北省武漢市2023~2024學(xué)年高一數(shù)學(xué)下學(xué)期5月聯(lián)考試題含答案
- 陜西省咸陽市高新一中2024?2025學(xué)年高一下學(xué)期第五次質(zhì)量檢測(3月) 數(shù)學(xué)試卷(含解析)
- 2025年濟南歷下區(qū)八年級第二學(xué)期數(shù)學(xué)期中考試試題(含答案)
- 江蘇省無錫市港下中學(xué)2025年初三下期中數(shù)學(xué)試題含解析
- 西安交通大學(xué)城市學(xué)院《語言學(xué)概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 江西省上饒市民校考試聯(lián)盟婺源紫陽中學(xué)2025年高三第四次聯(lián)考生物試題含解析
- 上海市格致初級中學(xué)2025年高三考前模擬英語試題含解析
- B江水利樞紐工程畢業(yè)設(shè)計計算書
- HG+20231-2014化學(xué)工業(yè)建設(shè)項目試車規(guī)范
- 2024海南中考化學(xué)二輪重點專題突破 專題三 流程圖題(課件)
- 急性冠脈綜合征患者健康教育
- 道德與法治賽課一等獎:《勿忘國恥》教學(xué)課件(五下)
- 2024年全國初中數(shù)學(xué)競賽試題含答案
- 任務(wù)花式噴泉PLC控制任務(wù)課件
- 手術(shù)室轉(zhuǎn)運工人培訓(xùn)
- MOOC 電子線路分析基礎(chǔ)-西安電子科技大學(xué) 中國大學(xué)慕課答案
- 15j403-1樓梯欄桿標準
- CATIA CAA二次開發(fā)開發(fā)教材
評論
0/150
提交評論