當(dāng)用VBA開(kāi)發(fā)基于AutoCAD的應(yīng)用程序時(shí),幾乎總是在重復(fù)下面的幾種工作:
(1) 創(chuàng)建和編輯實(shí)體。作為計(jì)算機(jī)設(shè)計(jì)軟件,AutoCAD最主要的工作時(shí)完成設(shè)計(jì)目標(biāo)并為下一階段的實(shí)際制造提供參考。圖紙仍然時(shí)其主要的工作產(chǎn)品,因而大部分的二次開(kāi)發(fā)應(yīng)用程序最終都要將結(jié)果用圖形實(shí)體表現(xiàn)出來(lái),這時(shí)AutoCAD二次開(kāi)發(fā)的一個(gè)基礎(chǔ)。
(2) 和用戶交互。應(yīng)用程序本身可以通過(guò)窗體或者命令行完成和用戶交互。比較特殊的時(shí)與圖形相關(guān)的用戶交互,列如提示用戶選擇一條多段線、輸入一個(gè)整數(shù)、輸入一個(gè)角度值等。
(3) 利用隊(duì)形特性來(lái)組織實(shí)體。AutoCAD作為一種CAD軟件,其內(nèi)在的特點(diǎn)決定了所有的圖形實(shí)體不具有屬性特征。也就是說(shuō),如果繪制一條直線來(lái)作為一條道路,在AutoCAD中是無(wú)法標(biāo)識(shí)出他是一條道路的,通常的解決方法是創(chuàng)建一個(gè)名為“道路”的圖層,然后將所有的代表道路的線都放在這個(gè)圖層中統(tǒng)一管理。
(4) 處理圖形文件,在文件之間交換數(shù)據(jù)。在進(jìn)行設(shè)計(jì)是,把所有的圖形元素放在一個(gè)圖形文件中并不總是個(gè)好主意,最常見(jiàn)的后果就是圖形文件太大導(dǎo)致操作起來(lái)太慢。解決這個(gè)問(wèn)題的辦法就是按某種法則將圖形元素分布到幾個(gè)圖形文件中,在需要的時(shí)候交換圖形文件之間的數(shù)據(jù)。
(5) 視圖管理。在AutoCAD中繪圖時(shí),為了便于計(jì)算和觀察圖形,人們總時(shí)會(huì)很頻繁地改變視圖,列如縮放、平移或改變視點(diǎn)。而在開(kāi)發(fā)VBA應(yīng)用程序時(shí),這方面的要求相對(duì)來(lái)說(shuō)會(huì)低一點(diǎn),一般只需在創(chuàng)建實(shí)體之后給出一個(gè)合適的觀察角度即可。
(6) 文字。在AutoCAD的基本圖形元素中,文字是比較簡(jiǎn)單的一個(gè),但是在實(shí)際使用中它的可變性最大。列如,不同類型的說(shuō)話需要不同的文字樣式,還有一些特殊的符號(hào)以及行為公差都是通過(guò)文字來(lái)表現(xiàn)的。
(7) 管理塊的屬性。塊是將若干個(gè)圖形對(duì)象定義成一個(gè)組,在需要的地方可以多次引用它。這帶來(lái)兩個(gè)好處,一是減小圖形的尺寸,二是修改起來(lái)方便,只需要修改塊的定義便可以更新所有引用。塊和屬性結(jié)合起來(lái)使用,能夠大大簡(jiǎn)化一些特定類型設(shè)計(jì)工作。
(8) 在三維空間工作。某些工作必須在三維空間中完成,列如機(jī)械零件的建模以及裝配,或者處理三維建筑模型。三維空間中工作所要處理的一個(gè)主要問(wèn)題是三維坐標(biāo)系,電腦屏幕本身是一個(gè)二維的平面,要反映并操作三維的對(duì)象,必須借助于用戶坐標(biāo)系和視角的變化。
(9) 響應(yīng)AutoCAD中的事件。很多操作都會(huì)引發(fā)AutoCAD的事件,如用戶創(chuàng)建、移動(dòng)、雙擊、刪除了某個(gè)實(shí)體,或者執(zhí)行了一個(gè)命令、打開(kāi)了一個(gè)圖形等,使用這個(gè)特性能視線一些有趣的特性。填充圖案和填充邊界的關(guān)聯(lián)就是通過(guò)事件響應(yīng)來(lái)實(shí)現(xiàn)的。
(10) 布局和打印操作。完全可以把布局看作是一張?zhí)囟愋偷膱D紙,AutoCAD的這種模型和布局分開(kāi)的思想非常好,就如同現(xiàn)實(shí)生活中的一輛車(chē)可以從多個(gè)角度拍多張照片來(lái)表現(xiàn)它一樣。
(11) 擴(kuò)展數(shù)據(jù)和擴(kuò)展記錄來(lái)標(biāo)識(shí)實(shí)體。AutoCAD識(shí)一個(gè)非常純粹的CAD軟件,其中任何的實(shí)體都么現(xiàn)實(shí)意義,但是它提供了擴(kuò)展數(shù)據(jù)和擴(kuò)展記錄作為實(shí)體屬性的附加機(jī)制。通過(guò)這兩種手段,可以給某條直線追加一個(gè)“屬性”,比如為直線增加一個(gè)“輸電線”的“名稱”,或者為閉合多段線設(shè)置一個(gè)“公園”的“名稱”等。
(12) 訪問(wèn)文件和數(shù)據(jù)庫(kù)。CAD程序同文件和數(shù)據(jù)庫(kù)打交道非常平常,因?yàn)镃AD程序中經(jīng)常有一些數(shù)據(jù)不方便保存在圖形文件中。如果要?jiǎng)?chuàng)建一個(gè)標(biāo)準(zhǔn)零件庫(kù),就可以在數(shù)據(jù)庫(kù)中保存零件庫(kù)的數(shù)據(jù),在創(chuàng)建零件的時(shí)候訪問(wèn)數(shù)據(jù)庫(kù)讀取其特征數(shù)據(jù),然后在AutoCAD中創(chuàng)建該零件對(duì)應(yīng)的圖形元素即可。
(13) 和Office程序交換數(shù)據(jù)。某些情況下;僅靠圖紙還不能很好的說(shuō)明問(wèn)題,或者還需要使用Excel對(duì)圖形中的某些對(duì)象作一個(gè)統(tǒng)計(jì),那么就必須同Office程序交換數(shù)據(jù)。
(14) 使用Windows API ( Windows應(yīng)用程序編程接口 )增強(qiáng)程序功能。VBA的語(yǔ)法是基于Visual Basic 6.0的,并且在可以使用的對(duì)象上僅包含了Visual Basic 6.0的一部分,所幸VBA仍然可以訪問(wèn)Windows API,能通過(guò)Windows API來(lái)實(shí)現(xiàn)一些VBA基本對(duì)象無(wú)法實(shí)現(xiàn)的功能。
(15) VBA應(yīng)用程序的發(fā)布。編程者大多情況下恐怕不是程序的最終使用者,那么程序編寫(xiě)完成后總要以一種合適的方式發(fā)布到使用者的計(jì)算機(jī)上才行,因此就避免不了學(xué)習(xí)VBA應(yīng)用程序的發(fā)布。
(16) 其它方面的操作。如將VBA程序移植到Visual Basic上、使用DLL來(lái)保護(hù)源代碼的安全、使用ObjectDBX等,當(dāng)學(xué)習(xí)深入到一定程序之后,就會(huì)感覺(jué)這些知識(shí)非常有用。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書(shū)Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國(guó)專業(yè)技術(shù)人員計(jì)算機(jī)應(yīng)用能力考試用書(shū) AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實(shí)例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風(fēng)暴2:Maya影像實(shí)拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計(jì)案例教程中文版AutoCAD 建筑設(shè)計(jì)案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項(xiàng)目教程 第3版 [繆希偉 主編] 2012年P(guān)DF