您當(dāng)前的位置:主頁(yè)>>AutoCAD>>AutoCAD二次開發(fā)  
           ObjectARX簡(jiǎn)介

            1.1 VBA的概念與作用
   VBA(VisualBasicforApplication)是一種完全面向?qū)ο篌w系結(jié)構(gòu)的編程語言,由于其在開發(fā)方面的易用性和具有強(qiáng)大的功能,因此許多應(yīng)用程序均嵌入該語言作為開發(fā)工具。Autodesk公司也在 AutoCAD R14.01版本開始內(nèi)置了VBA開發(fā)工具,同時(shí)提供了適用于VBA開發(fā)的ActiveXAutomation對(duì)象模型。
在AutoCAD2002版本中內(nèi)置的VBA是基于VisualBasic6.0版本,其版本信息如圖37-3所示。

   VBA具有很強(qiáng)的開發(fā)能力,其主要功能包括:
(1)創(chuàng)建對(duì)話框及其它界面。
(2)創(chuàng)建工具欄。
(3)建立模塊級(jí)宏指令。
(4)提供建立類模塊的功能。
(5)具有完善的數(shù)據(jù)訪問與管理能力,可通過DAO(數(shù)據(jù)訪問對(duì)象)對(duì)Access 數(shù)據(jù)庫(kù) 或其它外部數(shù)據(jù)庫(kù)進(jìn)行訪問和管理。
(6)能夠使用SQL語句檢索數(shù)據(jù),與RDO(遠(yuǎn)程數(shù)據(jù)對(duì)象)結(jié)合起來,可建立C/S(客戶機(jī)/服務(wù)機(jī))級(jí)的數(shù)據(jù)通信。
(7)能夠使用Win32API提供的功能,建立應(yīng)用程序與操作系統(tǒng)間的通信。
   從功能上來說,VBA與VB幾乎完全一樣,或者說VBA是VB的一個(gè)子集。但它們之間更本質(zhì)的區(qū)別在于VBA沒有自己獨(dú)立的工作環(huán)境,而必須依附于主應(yīng)用程序;而VB則不依附于任何其它的應(yīng)用程序,具有完全獨(dú)立的工作環(huán)境和編譯、連接系統(tǒng)。
由于VBA依附于主應(yīng)用程序,因此它與主應(yīng)用程序之間的通信簡(jiǎn)單而富有效率,其代碼完全是在進(jìn)程內(nèi)執(zhí)行的。VBA的代碼在AutoCAD中仍以解釋的方式執(zhí)行,但由于它與AutoCAD共享內(nèi)存空間,因此執(zhí)行速度比ADS程序還要快。
        1.2 VBA的啟動(dòng)和界面
    由于VBA集成在AutoCAD系統(tǒng)內(nèi)部,因此用戶必須先啟動(dòng)AutoCAD,然后才能進(jìn)入VBAIDE環(huán)境。啟動(dòng)VBA的方式為:
菜單:【Tools(工具)】→【Macor(宏)】→【VisualBasicEditor(VB編輯器)】
命令行:vbaide
啟動(dòng)VB編輯器后,其常用界面如圖37-4所示。

   各組成部分的說明如下:
(1)標(biāo)題欄:顯示應(yīng)用程序名稱和窗口控制按鈕。
(2)菜單欄:通過選取各菜單項(xiàng)來完成相應(yīng)的功能。
(3)工具欄:提供了對(duì)常用功能的快速調(diào)用。VBAIDE共提供了四個(gè)工具欄:“Standard(標(biāo)準(zhǔn))”、“Edit(編輯)”、“UserForm(用戶窗體)”和“Debug(調(diào)試)”,如圖37-5所示。
(4)工程窗口:以樹狀結(jié)構(gòu)顯示主應(yīng)用程序與窗體、模塊及類模塊的完整結(jié)構(gòu),用戶可在工程窗口中直接選擇窗體或模塊,對(duì)其進(jìn)行編輯。
(5)窗體窗口:構(gòu)建應(yīng)用程序界面,用戶可以在窗體上添加各種控件。
(6)控件工具箱:用于設(shè)計(jì)視窗界面的各類控件。
(7)代碼窗口:用于編寫模塊的過程代碼。
(8)屬性窗口:用于顯示窗體上的某個(gè)控件的可見屬性及其默認(rèn)值,通過該屬性窗口,還可以對(duì)可見屬性的值進(jìn)行直接編輯。

        1.3 退出VBAIDE
    用戶可選擇菜單【File(文件)】→【CloseandReturntoAutoCAD(關(guān)閉并返回AutoCAD)】或單擊窗口右上角的按鈕來退出VBAIDE并返回AutoCAD系統(tǒng)窗口。
民眾工作室.制作      版權(quán)所有