礦業(yè)信息技術(shù)基礎(chǔ) 第五章采礦編程初步_第1頁(yè)
礦業(yè)信息技術(shù)基礎(chǔ) 第五章采礦編程初步_第2頁(yè)
礦業(yè)信息技術(shù)基礎(chǔ) 第五章采礦編程初步_第3頁(yè)
礦業(yè)信息技術(shù)基礎(chǔ) 第五章采礦編程初步_第4頁(yè)
礦業(yè)信息技術(shù)基礎(chǔ) 第五章采礦編程初步_第5頁(yè)
已閱讀5頁(yè),還剩77頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

電子表格系統(tǒng)MicrosoftExcel97第五章第五章采礦編程初步中國(guó)礦業(yè)大學(xué)采礦工程專業(yè)礦業(yè)信息技術(shù)基礎(chǔ)多媒體教學(xué)課件整理pptVBAIDE激活VBAIDE。VBAIDE可以用來(lái)以交互方式編輯、運(yùn)行和調(diào)試程序。雖然VBAIDE只能在AutoCAD運(yùn)行時(shí)被調(diào)用,但是可以獨(dú)立于AutoCAD應(yīng)用程序窗口對(duì)它進(jìn)行最小化、打開和關(guān)閉操作。VBAMAN顯示VBA管理器,供用戶查看、創(chuàng)建、加載、關(guān)閉、內(nèi)嵌和提取工程。5.1AutoCADVBA命令整理pptMicrosoftVBA是一個(gè)面向?qū)ο蟮木幊汰h(huán)境,可提供類似VisualBasic(VB)的豐富開發(fā)功能。VBA和VB的主要差別是VBA和AutoCAD在同一進(jìn)程空間中運(yùn)行,提供的是具有AutoCAD智能的、非??焖俚木幊汰h(huán)境。VBA也向其他支持VBA的應(yīng)用程序提供應(yīng)用程序集成。這就意味著AutoCAD(使用其他應(yīng)用程序?qū)ο髱?kù))可以是如MicrosoftWord或Excel之類的其他應(yīng)用程序的Automation控制程序。整理ppt在AutoCAD中實(shí)現(xiàn)VBA有四大優(yōu)點(diǎn):VisualBasic編程環(huán)境易于學(xué)習(xí)和使用。VBA可與AutoCAD在同一進(jìn)程空間中運(yùn)行。這使程序執(zhí)行得非???。對(duì)話框的構(gòu)造快速而有效。這使開發(fā)人員可以構(gòu)造原型應(yīng)用程序并迅速收到設(shè)計(jì)的反饋。工程可以是獨(dú)立的,也可以嵌入到圖形中。這樣就為開發(fā)人員提供了非常靈活的方式來(lái)發(fā)布他們的應(yīng)用程序。整理pptVBA通過(guò)AutoCADActiveXAutomation接口將消息發(fā)送到AutoCAD。AutoCADVBA允許VBA環(huán)境與AutoCAD同時(shí)運(yùn)行,并通過(guò)ActiveXAutomation接口對(duì)AutoCAD進(jìn)行編程控制。AutoCAD、ActiveXAutomation和VBA的這種結(jié)合方式不僅為操作AutoCAD對(duì)象,而且為向其他應(yīng)用程序發(fā)送或檢索數(shù)據(jù)提供了功能極為強(qiáng)大的接口。以下是AutoCAD中定義ActiveX和VBA編程的三個(gè)基本元素。5.2VBA在AutoCAD中的實(shí)現(xiàn)整理ppt第一個(gè)是AutoCAD本身,它擁有豐富的封裝了AutoCAD圖元、數(shù)據(jù)和命令的對(duì)象集。因?yàn)锳utoCAD是一個(gè)設(shè)計(jì)為具有多層接口的開放架構(gòu)應(yīng)用程序,因此熟悉AutoCAD編程功能對(duì)于有效使用VBA來(lái)說(shuō)是非常必要的。如果使用過(guò)AutoLISP?編程來(lái)控制AutoCAD,就應(yīng)該已經(jīng)對(duì)AutoCAD的機(jī)制有了一定的了解。然而,VBA的基于對(duì)象的處理方式和AutoLISP的方式卻很不一樣。整理ppt第二個(gè)元素是AutoCADActiveXAutomation接口,它建立與AutoCAD對(duì)象的消息傳遞(通信)。用VBA編程需要對(duì)ActiveXAutomation有基本的了解。關(guān)于AutoCADActiveXAutomation接口的說(shuō)明,請(qǐng)參見ActiveXandVBAReferenceGuide。即使是有經(jīng)驗(yàn)的VB編程人員也會(huì)發(fā)現(xiàn)要理解和開發(fā)AutoCADVBA應(yīng)用程序,AutoCADActiveXAutomation接口是非常重要的。整理ppt第三個(gè)元素是VBA編程環(huán)境(IDE),它具有自己的對(duì)象組、關(guān)鍵詞和常量等,能提供程序流、控制、調(diào)試和執(zhí)行等功能。AutoCADVBA包含MicrosoftVBA擴(kuò)展聯(lián)機(jī)幫助,可以在VBAIDE中通過(guò)以下方法訪問(wèn):按鍵盤上的F1鍵從VBAIDE菜單欄中選擇“幫助”單擊VBAIDE工具欄上的“?”圖標(biāo)整理ppt使用VBA管理器可以查看當(dāng)前AutoCAD任務(wù)中加載的所有VBA工程。它是一種AutoCAD工具,可讓用戶加載、卸載、保存、創(chuàng)建、內(nèi)嵌和提取VBA工程。打開VBA管理器的步驟從“工具”菜單中選擇“宏”“VBA管理器”。在AutoCAD中調(diào)用VBAMAN命令。5.3使用VBA管理器組織工程整理ppt加載現(xiàn)有的工程

卸載工程

將工程嵌入到圖形中

從圖形中提取工程

創(chuàng)建新工程

保存工程

整理ppt加載現(xiàn)有的工程在“VBA管理器”中,使用“加載”選項(xiàng)打開“打開VBA工程”對(duì)話框。在“打開VBA工程”對(duì)話框中,選擇要打開的工程文件?!癡BA工程”對(duì)話框只能打開有效的DVB文件。如果用戶試圖打開其他類型的文件,則會(huì)收到一條錯(cuò)誤信息。選擇“打開”。用戶還可以使用以下任意方法來(lái)加載工程文件:輸入VBALOAD命令,打開“打開VBA工程”對(duì)話框。將DVB文件從Windows資源管理器拖到AutoCAD窗口中打開的圖形中。整理ppt卸載VBA工程的步驟在VBA管理器中選擇要卸載的工程。選擇“卸載”?;蛘撸褂肰BAUNLOAD命令,該命令會(huì)提示輸入要卸載的工程。將工程嵌入到AutoCAD圖形中的步驟打開VBA管理器,并選擇要嵌入的工程。選擇“嵌入”。整理ppt創(chuàng)建新工程新工程會(huì)被創(chuàng)建為未保存的全局工程。創(chuàng)建完成后,可將它嵌入到圖形中或保存到工程文件中。創(chuàng)建新VBA工程的步驟打開VBA管理器。選擇“新建”。新工程將用默認(rèn)的名稱ACADProject創(chuàng)建。要更改工程名,必須進(jìn)入VBAIDE中。關(guān)于在VBAIDE中命名工程的詳細(xì)信息,請(qǐng)參見命名工程。整理ppt更改工程名稱的步驟在VBAIDE的“工程”窗口中,選擇要更改的工程。在“特性”窗口中編輯工程的Name特性。整理ppt更改工程的文件名的步驟在VBAIDE中,從“文件”菜單中選擇“保存”選項(xiàng)。在“另存為”對(duì)話框中輸入工程文件的新名稱和位置。使用VBAIDE編輯工程將工程加載到AutoCAD中后,用戶就可以使用VBA交互式開發(fā)環(huán)境來(lái)編輯該工程的代碼、窗體和引用,而且還可以在VBAIDE中調(diào)試和運(yùn)行工程。打開之后,使用VBAIDE可以訪問(wèn)所有已加載的工程。整理ppt查看工程信息

定義工程中的組件

輸入現(xiàn)有組件

編輯組件

命名工程

保存工程

引用其他VBA工程

設(shè)置VBAIDE選項(xiàng)

5.4使用VBAIDE編輯工程整理ppt查看工程信息VBAIDE包含了“工程”窗口,其中顯示了所有已加載的VBA工程列表。這個(gè)窗口還顯示工程中包含的代碼、類和窗體模塊,與工程關(guān)聯(lián)的文檔,從工程引用的所有其他VBA工程,以及工程的實(shí)際位置(路徑)?!肮こ獭贝翱谟凶约旱墓ぞ邫?,可用來(lái)打開工程的各個(gè)組件進(jìn)行編輯。使用“查看代碼”按鈕可打開選定模塊的代碼。使用“查看對(duì)象”按鈕可顯示選定的對(duì)象,例如窗體。整理ppt定義工程中的組件對(duì)象

窗體

標(biāo)準(zhǔn)模塊

類模塊

引用

添加新組件

整理ppt對(duì)象組件代表VBA代碼將訪問(wèn)的對(duì)象或文檔的類型。對(duì)于AutoCADVBA工程,此對(duì)象代表當(dāng)前的AutoCAD圖形。窗體組件包含由用戶構(gòu)造的、用于工程的自定義對(duì)話框。代碼模塊組件包含用戶的常用過(guò)程和函數(shù)。標(biāo)準(zhǔn)模塊也稱為代碼模塊,或簡(jiǎn)稱為模塊。類模塊組件包含用戶自己定義的所有對(duì)象(定義為類)。引用組件包含對(duì)其他工程或庫(kù)的所有引用。整理ppt添加新組件添加新組件將在工程中創(chuàng)建空白組件。用戶可以將新的模塊、窗體和類模塊添加到自己的工程中。用戶需要自己更新所有的組件特性(例如組件名稱),并填入適當(dāng)?shù)拇a。在命名新組件時(shí),請(qǐng)注意其他開發(fā)人員在未來(lái)的應(yīng)用程序中可能會(huì)使用您的組件。請(qǐng)遵循開發(fā)團(tuán)隊(duì)的命名慣例。整理ppt向工程中添加新組件的步驟:在VBAIDE的“工程”窗口中選擇要向其中添加組件的工程。從“插入”菜單中選擇“用戶窗體”、“模塊”或“類模塊”來(lái)向工程中添加新組件。新組件將會(huì)被添加到工程中并顯示在“工程”窗口中。

整理ppt編輯組件在VBAIDE中,可以編輯標(biāo)準(zhǔn)模塊、類模塊和窗體。標(biāo)準(zhǔn)模塊和類模塊均在“代碼”窗口中編輯;窗體則在“用戶窗體”窗口中使用特殊的的工具箱進(jìn)行編輯。由于可以打開的“代碼”窗口與擁有的模塊數(shù)目一致,因此可以很容易地查看不同窗體或模塊中的代碼,并在它們之間互相復(fù)制和粘貼。整理ppt編輯工程組件的步驟在VBAIDE的“工程”窗口中,選擇要編輯的組件。在“工程”窗口中,選擇“查看代碼”按鈕打開“代碼”窗口。在“工程”窗口中,選擇“查看對(duì)象”按鈕打開“用戶窗體”窗口和關(guān)聯(lián)的工具箱。整理ppt使用“代碼”窗口“代碼”窗口包含兩個(gè)下拉列表、一個(gè)拆分欄、一個(gè)邊界指示欄、一個(gè)完全視圖圖標(biāo)和一個(gè)過(guò)程視圖圖標(biāo)。整理ppt使用“用戶窗體”窗口通過(guò)“用戶窗體”窗口,可以在工程中創(chuàng)建自定義對(duì)話框自動(dòng)擁有“最大化”、“最小化”和“關(guān)閉”按鈕添加控件添加控件代碼訪問(wèn)窗體關(guān)聯(lián)代碼的步驟請(qǐng)雙擊“窗體”窗口中的任意控件。“代碼”窗口中將打開與該控件關(guān)聯(lián)的代碼。

整理ppt進(jìn)行初步練習(xí)上面已經(jīng)學(xué)習(xí)了AutoCADVBA編程的基本知識(shí),接下來(lái)讓我們練習(xí)創(chuàng)建簡(jiǎn)單的“HelloWorld”。在此練習(xí)中,將會(huì)創(chuàng)建新的AutoCAD圖形,并向該圖形中添加一行文字,然后保存圖形,全部操作均通過(guò)VBA來(lái)完成。整理ppt“HelloWorld”例程

從AutoCAD命令行輸入以下命令來(lái)打開VBAIDE:命令:VBAIDE從VBAIDE的“查看”菜單中選擇“代碼”選項(xiàng)打開“代碼”窗口。從VBAIDE的“插入”菜單中選擇“過(guò)程”選項(xiàng),在工程中創(chuàng)建新過(guò)程。當(dāng)提示輸入過(guò)程信息時(shí),輸入名稱,例如HelloWorld。請(qǐng)確保選定的“類型”是Sub,選定的“作用域”是Public。選擇“確定”。整理ppt在行PublicSubHelloWorld()和行EndSub之間輸入以下代碼。ThisDrawing.Application.Documents.Add

(用于打開新圖形)緊接代碼之后輸入以下代碼(用于創(chuàng)建字符串和定義其插入位置)。

DiminsPoint(0To2)AsDouble'聲明插入點(diǎn)DimtextHeightAsDouble'聲明文字高度DimtextStrAsString'聲明字符串DimtextObjAsAcadText'聲明文字對(duì)象insPoint(0)=2'設(shè)置插入點(diǎn)的x坐標(biāo)insPoint(1)=4'設(shè)置插入點(diǎn)的y坐標(biāo)insPoint(2)=0'設(shè)置插入點(diǎn)的z坐標(biāo)textHeight=1'強(qiáng)文字高度設(shè)置為1.0textStr="HelloWorld!"'設(shè)置字符串'創(chuàng)建Text對(duì)象SettextObj=ThisDrawing.ModelSpace.AddText_(textStr,insPoint,textHeight)整理ppt緊接在步驟7中的輸入代碼之后輸入以下代碼(用于保存圖形)。ThisDrawing.SaveAs("Hello.dwg")從VBAIDE的“運(yùn)行”菜單中選擇“運(yùn)行子程序或用戶窗體”選項(xiàng)來(lái)運(yùn)行程序。當(dāng)程序運(yùn)行完時(shí),AutoCAD應(yīng)用程序?qū)⒅糜谧钋?。此時(shí)應(yīng)該可以在圖形中看到文字“HelloWorld!”。圖形的名稱應(yīng)為Hello.dwg。整理pptAutoCADVBA進(jìn)階整理pptAddRetVal=object.Add(Name)Object:Thecollectiontoaddthenewobjectto.Dictionaries,DimStyles,Documents,Groups;Layers,Layouts,Linetypes,PopupMenus,RegisteredApplications,SelectionSets,TextStyles,Toolbars,Views,ViewportsName:Thenameoftheobjecttoaddtothecollection.String;input-only;optionalfortheDocumentscollection.RetVal:Thenewlyaddedobject.Dictionary,DimStyle,Document,Group,Layer,Layout,Linetype,PopupMenu,RegisteredApp,SelectionSet,TextStyle,Toolbar,View,Viewport整理pptADDLAYER'Thisexamplecreatesanewlayercalled"New_Layer"DimlayerObjAsAcadLayer'AddthelayertothelayerscollectionSetlayerObj=ThisDrawing.Layers.Add("New_Layer")'MakethenewlayertheactivelayerforthedrawingThisDrawing.ActiveLayer=layerObj

'DisplaythestatusofthenewlayerMsgBox

layerO&"hasbeenadded."&vbCrLf&_"LayerOnStatus:"&layerObj.LayerOn&vbCrLf&_"FreezeStatus:"&layerObj.Freeze&vbCrLf&_"LockStatus:"&layerObj.Lock&vbCrLf&_"Color:"&layerObj.Color,,"AddExample"整理pptADDTEXTSTYLE'Createatextstylenamed"New_Textstyle"incurrentdrawingDimtxtStyleObjAsAcadTextStyle'AddthetextstyletothetextstylescollectionSettxtStyleObj=ThisDrawing.TextStyles.Add("New_Textstyle")MsgBoxtxtStyleO&"hasbeenadded."&vbCrLf&_"Height:"&txtStyleObj.height&vbCrLf&_"Width:"&txtStyleObj.width,,"AddExample"Return整理ppt創(chuàng)建和修改文字樣式

新的文字會(huì)從當(dāng)前的文字樣式繼承高度、寬度比例、傾斜角度和文字生成等特性。要?jiǎng)?chuàng)建文字樣式,請(qǐng)使用Add方法創(chuàng)建新的TextStyle

對(duì)象并將其添加到TextStyles

集合中。Add方法需要輸入TextStyle

名稱。文字樣式創(chuàng)建之后,用戶不能通過(guò)AutoCADActiveXAutomation修改其名稱。整理ppt樣式名可以包含字母、數(shù)字和特殊字符,例如美元符($)、下劃線(_)和連字符(-)。AutoCAD將字符轉(zhuǎn)換為大寫字符。如果用戶不輸入樣式名,AutoCAD自動(dòng)將其命名為Stylen,其中n是從1開始的數(shù)字。每個(gè)新樣式會(huì)加1來(lái)顯示。用戶可以通過(guò)修改TextStyle對(duì)象的特性來(lái)修改現(xiàn)有的樣式,也可以更新該樣式的現(xiàn)有文字以反映更改。整理ppt請(qǐng)使用以下特性來(lái)修改TextStyle

對(duì)象:FontFile

指定與字體(字符樣式)關(guān)聯(lián)的文件。BigFontFile

指定適用于非ASCII字符集的特殊形定義文件。Height指定字符高度。Width指定字符的擴(kuò)展或壓縮整理pptObliqueAngle

指定字符的傾斜度。TextGenerationFlag

指定反向文字、倒置文字或兩者。如果用戶修改現(xiàn)有樣式的字體或方向,所有使用該樣式的文字均被修改為使用新的字體或方向。更改文字的高度、寬度比例和傾斜角不會(huì)改變現(xiàn)有的文字,但會(huì)應(yīng)用到以后創(chuàng)建的文字對(duì)象上。注意

必須調(diào)用Regen

或Update方法,才能看到對(duì)上述特性所做更改的效果。整理pptLoadMethodobject.Load

LineTypeName,FileName

ObjectLinetypes

Theobjectorobjectsthismethodappliesto.LineTypeNameString;input-only

Thenameofthelinetypetoload.FileNameString;input-only

Thenameofthefilethelinetypeisin.整理pptLinetypeExampleSubExample_Linetype()'Thisexamplesearchesforthelinetype

DashDot.Ifitis'notfound,itisaddedfromtheacad.linfile.Thena'lineiscreatedandchangedtotheDashDot

linetype.'SearchthelinetypescollectionfortheDashDot

linetype.DimentryAsAcadLineType

DimfoundAsBooleanfound=FalseForEachentryInThisDrawing.Linetypes

IfStrComp(,"DASHDOT",1)=0Thenfound=TrueExitForEndIfNextIfNot(found)ThenThisDrawing.Linetypes.Load"DASHDOT","acad.lin"整理ppt'CreatethelineDimlineObjAsAcadLineDimstartPoint(0To2)AsDoubleDimendPoint(0To2)AsDoublestartPoint(0)=1#:startPoint(1)=1#:startPoint(2)=0#endPoint(0)=4#:endPoint(1)=4#:endPoint(2)=0#SetlineObj=ThisDrawing.ModelSpace.AddLine(startPoint,endPoint)'ChangethelinetypeofthelinelineObj.Linetype="DASHDOT"ZoomAllEndSub整理pptLineWeightPropertySpecifiesthelineweightofanindividualobjectorthedefaultlineweightforthedrawing.Signatureobject.Lineweight

ObjectAllDrawingobjects;DatabasePreferences,Layer整理pptacLnWtByLayeracLnWtByBlockacLnWtByLwDefaultacLnWt000acLnWt005acLnWt009acLnWt013acLnWt015acLnWt018acLnWt020acLnWt025acLnWt030acLnWt035acLnWt040acLnWt050acLnWt053acLnWt060acLnWt070acLnWt080acLnWt090acLnWt100acLnWt106acLnWt120acLnWt140acLnWt158acLnWt200acLnWt211整理pptAddTextCreatesasinglelineoftext.RetVal=object.AddText(TextString,InsertionPoint,Height)Object:Theobjectorobjectsthismethodappliesto.ModelSpaceCollection,PaperSpaceCollection,BlockTextString:Theactualtexttobedisplayed.String;input-onlyInsertionPoint:The3DWCScoordinatesonthedrawingwherethetextisplaced.Variant(three-elementarrayofdoubles);input-onlyHeight:Theheightofthetext.Mustbeapositivenumber.Double;input-onlyRetVal:ThenewlycreatedTextobject.Textobject整理pptSubExample_AddText()'Thisexamplecreatesatextobjectinmodelspace.DimtextObjAsAcadTextDimtextStringAsStringDiminsertionPoint(0To2)AsDoubleDimheightAsDouble'DefinethetextobjecttextString="Hello,World."insertionPoint(0)=2:insertionPoint(1)=2:insertionPoint(2)=0height=0.5'CreatethetextobjectinmodelspaceSettextObj=ThisDrawing.ModelSpace.AddText(textString,insertionPoint,height)ZoomAllEndSub整理pptGetBoundingBoxGetstwopointsofaboxenclosingthespecifiedobject.object.GetBoundingBoxMinPoint,MaxPointObject:Theobjectorobjectsthismethodappliesto.AllDrawingObjects,AttributeReferenceMinPoint:The3DWCScoordinatesspecifyingtheminimumpointoftheobject'sboundingbox.Variant(three-elementarrayofdoubles);output-onlyMaxPoint:The3DWCScoordinatesspecifyingthemaximumpointoftheobject'sboundingboxVariant(three-elementarrayofdoubles);output-only整理pptSubExample_GetBoundingBox()'Thisexamplecreatesalineinmodelspace.Itthenfindsthe'boundingboxforthelineanddisplaysthecornersofthebox.DimstartPoint(0To2)AsDoubleDimendPoint(0To2)AsDoubleDimlineObjAsAcadLine'CreatetheLineobjectinmodelspacestartPoint(0)=2#:startPoint(1)=2#:startPoint(2)=0#endPoint(0)=4#:endPoint(1)=4#:endPoint(2)=0#SetlineObj=ThisDrawing.ModelSpace.AddLine(startPoint,endPoint)ZoomAll整理pptDimminExtAsVariantDimmaxExtAsVariant'Returntheboundingboxforthelineandreturntheminimum'andmaximumextentsoftheboxintheminExtandmaxExtvariables.lineObj.GetBoundingBoxminExt,maxExt'PrinttheminandmaxextentsMsgBox"Theextentsoftheboundingboxforthelineare:"&vbCrLf_&"MinExtent:"&minExt(0)&","&minExt(1)&","&minExt(2)_&vbCrLf&"MaxExtent:"&maxExt(0)&","&maxExt(1)&","&maxExt(2),vbInformation,"GetBoundingBoxExample"EndSub整理pptGetPointGetsthepointselectedinAutoCAD.RetVal=GetPoint([Point][,Prompt])Object:Theobjectorobjectsthismethodappliesto.UtilityPoint:The3DWCScoordinatesspecifyingtherelativebasepoint.Variant(three-elementarrayofdoubles);input-only;optionalPrompt:Thetextusedtoprompttheuserforinput.Variant(string);input-only;optionalRetVal:The3DWCScoordinatesofthepointtheAutoCADuserhasselected.Variant(three-elementarrayofdoubles)整理pptSubExample_GetPoint()'Thisexamplereturnsapointenteredbytheuser.DimreturnPntAsVariant'ReturnapointusingapromptreturnPnt=ThisDrawing.Utility.GetPoint(,"Enterapoint:")MsgBox"TheWCSofthepointis:"&returnPnt(0)&","&returnPnt(1)&","&returnPnt(2)&vbCrLf&_"(Enterthenextvaluewithoutprompting.)",,"GetPointExample"'Returnapoint,nopromptreturnPnt=ThisDrawing.Utility.GetPointMsgBox"TheWCSofthepointis:"&returnPnt(0)&","&returnPnt(1)&","&returnPnt(2),,"GetPointExample"整理ppt'ReturnapointusingabasepointandapromptDimbasePnt(0To2)AsDoublebasePnt(0)=2#:basePnt(1)=2#:basePnt(2)=0#returnPnt=ThisDrawing.Utility.GetPoint(basePnt,"Enterapoint:")MsgBox"TheWCSofthepointis:"&returnPnt(0)&","&returnPnt(1)&","&returnPnt(2)'CreatealinefromthebasepointandthelastpointenteredDimlineObjAsAcadLineSetlineObj=ThisDrawing.ModelSpace.AddLine(basePnt,returnPnt)ZoomAllEndSub整理ppt用VBA實(shí)現(xiàn)如下標(biāo)注形式(采礦工程畢業(yè)設(shè)計(jì)繪圖標(biāo)準(zhǔn))整理ppt思路:先繪制文字AddText利用GetBoundingBox獲得文字的minExt,maxExt根據(jù)minExt,maxExt確定線段的startPoint根據(jù)minExt,maxExt確定線段的endPoint在文字下方劃線整理pptDimtextObjAsAcadTextDimtextStringAsStringDimstartPoint(0To2)AsDoubleDimendPoint(0To2)AsDoubleDimtextHeightAsDoubleDimreturnPnt1AsVariant'申明端點(diǎn)坐標(biāo)Me.HideWithThisDrawing.UtilityreturnPnt1=.GetPoint(,"請(qǐng)輸入標(biāo)注漢字的位置:")'獲取文本標(biāo)注起點(diǎn)坐標(biāo)EndWith整理ppt'DefinethetextobjecttextString=TextBox1.TextDimwidthAsDouble'CreatethetextobjectinmodelspacetextHeight=3SettextObj=ThisDrawing.ModelSpace.AddText(textString,returnPnt1,textHeight)textObj.UpdateDimminExtAsVariantDimmaxExtAsVariant'獲得文字的右下角坐標(biāo)(minExt)和左上角坐標(biāo)(maxExt)textObj.GetBoundingBoxminExt,maxExt整理ppt‘在文字下面劃線startPoint(0)=minExt(0)–1startPoint(1)=minExt(1)–1startPoint(2)=0endPoint(0)=maxExt(0)+1endPoint(1)=minExt(1)–1endPoint(2)=0SetlineObj=ThisDrawing.ModelSpace.AddLine(startPoint,endPoint)SetlineObj=ThisDrawing.ModelSpace.AddLine(minExt,maxExt)整理ppt用VBA實(shí)現(xiàn)如下圖框繪制(采礦工程畢業(yè)設(shè)計(jì)繪圖標(biāo)準(zhǔn):A0圖紙)整理pptAlignmentObject:Theobjectorobjectsthispropertyappliesto.Attribute,AttributeRef,TextAlignment:acAlignmentenum;read-writeacAlignmentLeftacAlignmentCenteracAlignmentRightacAlignmentAlignedacAlignmentMiddleacAlignmentFitacAlignmentTopLeftacAlignmentTopCenteracAlignmentTopRightacAlignmentMiddleLeftacAlignmentMiddleCenteracAlignmentMiddleRightacAlignmentBottomLeftacAlignmentBottomCenteracAlignmentBottomRight整理pptRemarksTextalignedtoacAlignmentLeftusestheInsertionPointpropertytopositionthetext.TextalignedtoacAlignmentAligned,oracAlignmentFitusesboththeInsertionPointandTextAlignmentPointpropertiestopositionthetext.TextalignedtoanyotherpositionusestheTextAlignmentPointpropertytopositionthetext.整理pptAutoCADVBA高階整理pptSaveASMethodSavesthedocumentormenugrouptoaspecifiedfile.object.SaveAsFileName,FileType[,SecurityParams]Object:Document,MenuGroupFileName:String;input-only

Thefullpathandfilename,orvalidURLaddress,forthefile.Theactivedocumentormenugrouptakesonthenewname.整理pptAcSaveAsTypeenum;input-only;optionalforDocumentobjectsac2000_dwgAutoCAD2000DWG(*.dwg)ac2000_dxfAutoCAD2000DXF(*.dxf)ac2000_TemplateAutoCAD2000DrawingTemplateFile(*.dwt)ac2004_dwgAutoCAD2004DWG(*.dwg)ac2004_dxfAutoCAD2004DXF(*.dxf)ac2004_TemplateAutoCAD2004DrawingTemplateFile(*.dwt)acNativeAsynonymforthelatestdrawingrelease.Inthisrelease,thisvalueequalsac2004_dwg.整理pptRemarksThedefaultfiletypefordocumentsisac2004_dwg.Thefollowingvaluesareobsolete:acR14_DWGandacR14_DXF.Documentscanbesavedonlyasfileswiththeextensionsindicatedabove.Tosaveadocumentinadifferentfiletype,usetheExportmethod.整理pptSendCommandMethodSendsacommandstringfromaVBorVBAapplicationtothedocumentforprocessing.Signatureobject.SendCommand(Command)ObjectDocument

Theobjectorobjectsthismethodappliesto.CommandString;input-only

Thecommandtosendtothedocument.UseaspaceortheASCIIcarriagereturncharacter(vbCr)attheendofthecommandstringtoendthecommand;thisisequivalenttopressingENTERonthekeyboard.整理pptThismethodprocessesanyAutoCADcommand-linefunctionThismethodisgenerallysynchronous.However,ifthecommandsentwiththismethodrequiresanyuserinteraction(suchaspickingapointonthescreen)thenthismethodwillreturnassoonastheuserinputbegins.Thecommandwillthencontinuetobeprocessedasynchronously.Whenthismethodiscalledfromaneventhandleritisprocessedasynchronously.YoushouldneverusethismethodtoissueacommandforwhichthereisanActiveXmethodavailable.Forexample,donotuseSendCommand"VBALOAD".Instead,usetheLoadDVBmethod.整理ppt將命令發(fā)送到AutoCAD命令行下面的樣例創(chuàng)建一個(gè)圓心為(2,2,0)、半徑為4的圓,然后將圖形縮放至圖形中的所有幾何圖形都可見。注意,字符串末尾有一個(gè)空格,表示最后按ENTER鍵開始執(zhí)行命令。

SubCh3_SendACommandToAutoCAD()ThisDrawing.SendCommand"_Circle2,2,04 "ThisDrawing.SendCommand"_zooma“EndSub整理ppt將VBA代碼轉(zhuǎn)換為VB要更新代碼樣例以在VB中使用,必須先引用AutoCAD類型庫(kù)。要在VB中完成此操作,請(qǐng)從“工程”菜單中選擇“引用”選項(xiàng),啟動(dòng)“引用”對(duì)話框。在“引用”對(duì)話框中,選擇AutoCAD類型庫(kù),然后單擊“確定”。下一步,將代碼樣例中所有的ThisDrawing

引用替換為引用活動(dòng)文檔的用戶指定的變量。要完成這項(xiàng)操作,請(qǐng)為AutoCAD應(yīng)用程序(acadApp)和當(dāng)前的文檔(acadDoc)定義變量。然后,將應(yīng)用程序變量設(shè)置為當(dāng)前的AutoCAD應(yīng)用程序。整理ppt要顯示AutoCAD圖形窗口,需要將AutoCAD應(yīng)用程序的Visible特性設(shè)置為TRUE。如果GetObject

創(chuàng)建了一個(gè)新的AutoCAD實(shí)例(即調(diào)用GetObject

時(shí)AutoCAD沒(méi)有運(yùn)行),沒(méi)有將Visible設(shè)置為TRUE會(huì)導(dǎo)致AutoCAD應(yīng)用程序不可見,甚至AutoCAD不顯示在Windows任務(wù)欄上。整理ppt使用VB創(chuàng)建直線SubCh2_AddLineVB() OnErrorResumeNext '連接至AutoCAD應(yīng)用程序 DimacadAppAsAcadApplication SetacadApp=GetObject_(,"AutoCAD.Application.16") IfErrThenErr.Clear SetacadApp=CreateObject_("AutoCAD.Application.16") IfErrThen MsgBoxErr.Description ExitSub EndIf EndIf'連接至AutoCAD圖形

整理pptDimacadDocAsAcadDocument SetacadDoc=acadApp.ActiveDocument '創(chuàng)建直線的端點(diǎn) DimlineObjAsAcadLine DimstartPoint(0To2)AsDouble DimendPoint(0To2)AsDouble startPoint(0)=1startPoint(1)=1startPoint(2)=0 endPoint(0)=5endPoint(1)=5endPoint(2)=0 '在模型空間中創(chuàng)建Line對(duì)象 SetlineObj=acadDoc.ModelSpace.AddLine_(startPoint,endPoint) ZoomAll acadApp.visible=TrueEndSub整理ppt創(chuàng)建自己的菜單項(xiàng)Addsapopupmenuitemtoapopupmenu.SeeAlso|ExampleSignatureRetVal=object.AddMenuItem(Index,Label,Macro)ObjectPopupMenu

Theobjectorobjectsthismethodappliesto.整理pptIndex:Theindexlocationinthepopupmenuwheretheitemistobeadded.Theindexmustbeeitheranintegerorastring.Variant;input-onlyIfanintegerissuppliedtospecifyagivenlocationinthemenu,theindexmustbebetween0andN-1,whereNisthenumberofobjectsinthepopupmenu.Thenewitemwillbeaddedimmediatelybeforethespecifiedindexlocation.Toaddthenewmenuitemtotheendofamenu,settheindextobegreaterthanN.Ifastringisspecifiedandtheindexeditemdoesnotexist,thenthenewmenuitemisaddedattheendofthemenu.整理pptLabel:Thelabelforthemenuitem.String;input-onlyMacro:Thenameofthemacroassociatedwiththismenuitem.String;input-onlyRetVal:Thenewlycreatedpopupmenuitem.PopupMenuItemobject整理pptSubExample_AddMenuItem()DimcurrMenuGroupAsacadMenuGroupSetcurrMenuGroup=ThisDrawing.Application.MenuGroups.Item(0)'CreatethenewmenuDimnewMenuAsAcadPopupMenuSetnewMenu=currMenuGroup.Menus.Add("TestMenu")'AddamenuitemtothenewmenuDimnewMenuItemAsAcadPopupMenuItemDimopenMacroAsString'AssignthemacrostringtheVBequivalentof"ESCESC_open"openMacro=Chr(3)&Chr(3)&Chr(95)&"open"&Chr(32)SetnewMenuItem=newMenu.AddMenuItem(newMenu.count+1,"Open",openMacro)'DisplaythemenuonthemenubarnewMenu.InsertInMenuBar(ThisDrawing.Application.MenuBar.count+1)EndSub整理ppt創(chuàng)建自己的工具條Addsatoolbaritemtoatoolbarataspecifiedposition.SeeAlso|ExampleSignatureRetVal=object.AddToolbarButton(Index,Name,HelpString,Macro[,FlyoutButton])ObjectToolbar

Theobjectorobjectsthismethodappliesto.整理pptIndexVariant;input-only

Theindexlocationinthep

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論