AutoCAD VBA二次開發(fā)

2016-11-06  by:CAE仿真在線  來源:互聯(lián)網(wǎng)

AutoCAD VBA工程是由許多程序模塊、類模塊和窗體組成的集合,他們同時運(yùn)行即可完成指定的功能。VBA工程可以保存于AutoCAD圖形文件內(nèi)部,稱為內(nèi)嵌VBA工程;亦可保存為獨(dú)立的工程,稱為全局VBA工程,以*.dvb文件格式保存。

對于內(nèi)嵌VBA工程,當(dāng)打開包含該工程的AutoCAD圖形文件時,它將被自動加載。因此,在運(yùn)行內(nèi)嵌VBA工程程序之前,其用戶不須在文件夾中去尋找工程文件并加載該工程,使得工程管理更加方便。

全局VBA工程的功能較多。全局工程可在任何AutoCAD圖形中運(yùn)行,亦可在工程中打開或關(guān)閉AutoCAD圖形。全局工程容易與其他用戶共享,且可制作成共享的宏[2]資源庫,因此應(yīng)用VBA開發(fā)通用應(yīng)用程序時,應(yīng)將其保存為全局工程。但全局工程也有一些缺點(diǎn),它不會隨AutoCAD圖形文件的打開而自動加載。所以,用戶在運(yùn)行全局工程程序之前須要知道哪個工程文件中包含了所需的宏,然后加載該工程文件,最后才能執(zhí)行相應(yīng)的宏。

 2.2 VBA管理器

在當(dāng)前AutoCAD進(jìn)程中加載的所有VBA工程均可用VBA管理器來管理,亦可用它來新建、保存、加載、卸載、嵌入或提取工程?!癡BA管理器”對話框如圖1所示。

啟動“VBA管理器”對話框的命令調(diào)用方法為:

命令行:VBARUN

菜單欄:【工具】→【宏】→【VBA管理器】

與VBA應(yīng)用程序開發(fā)、管理相關(guān)的下拉菜單如圖2所示。

AutoCAD VBA二次開發(fā)AutoCAD培訓(xùn)教程圖片1

圖1  “VBA管理器”對話框

 

AutoCAD VBA二次開發(fā)AutoCAD學(xué)習(xí)資料圖片2

圖2  與VBA應(yīng)用程序開發(fā)、管理相關(guān)的下拉菜單

 1. 創(chuàng)建新VBA工程

創(chuàng)建新VBA工程的步驟如下:

(1) 打開“VBA管理器”對話框。

(2) 選擇“新建”。

新工程將以默認(rèn)的名稱“ACADProject”創(chuàng)建。如要更改工程名稱,必須進(jìn)入“Visual Basic編輯器”中,在“工程屬性”窗口中更名。其操作方法步驟如下:

(1) 單擊“VBA管理器”中的“Visual Basic編輯器”按鈕(如圖1所示)或用菜單選擇“Visual Basic編輯器”(如圖2所示),打開“Microsoft Visual Basic”,如圖3所示。

(2) 在VB的“工程資源管理器”選中“ACADProject(Global1)”,單擊右鍵,在彈出菜單中選擇“ACADProject屬性…”選項,打開“工程屬性”對話框,在“工程名稱”中輸入用戶欲更改的名稱,如圖4所示。

 

AutoCAD VBA二次開發(fā)AutoCAD分析圖片3

圖3  Visual Basic編輯器

 

AutoCAD VBA二次開發(fā)AutoCAD分析圖片4

圖4  “工程屬性”對話框


2. 保存新VBA工程

每次保存圖形文件時,都將保存其內(nèi)嵌工程。而全局工程必須使用VBA管理器或VB編輯器來保存。使用VBA管理器保存工程的步驟:

(1) 打開VBA管理器,并選擇要保存的工程。

(2) 選擇“另存為”,將會打開“另存為”對話框。

(3) 選擇用于保存該工程的文件的名稱。

(4) 單擊“保存”按鈕。

 3. 加載VBA工程

將工程加載到AutoCAD圖形中時,所有的公用子程序(也稱為宏)均為可用程序。每次打開圖形時,內(nèi)嵌在圖形中的工程就會被自動加載,而以*.dvb文件格式保存的全局工程必須明確加載方能運(yùn)行。

每次加載工程時,都將自動加載此工程引用的任何其他工程。此外,AutoCAD在啟動時會自動加載任何名為acad.dvb的工程文件。

加載已有VBA工程文件的步驟如下:

(1) 在“VBA管理器”對話框中單擊“加載”按鈕,彈出“打開VBA工程”對話框,如圖5所示。

AutoCAD VBA二次開發(fā)AutoCAD應(yīng)用技術(shù)圖片5

圖5  “打開VBA工程”對話框

 (2) 在“打開VBA工程”對話框中選擇欲加載的工程文件。

(3) 單擊“打開”按鈕,再單擊“啟用宏”按鈕。打開VB編輯器即可查看、編輯或運(yùn)行該程序。

注意:用戶在加載工程時,均會顯示“禁用宏”或“啟用宏”的選項提示,作為防范病毒的提示,如圖6所示。若啟用了帶病毒的宏,程序中的病毒會一并運(yùn)行;若禁用該宏,工程仍可被調(diào)用,但不能運(yùn)行該工程中的任何程序。

AutoCAD VBA二次開發(fā)AutoCAD仿真分析圖片6

圖6  工程加載防范病毒提示提示

 4. 卸載VBA工程

卸載工程可釋放內(nèi)存,并使已加載工程的列表保持在易于管理的長度。但不能卸載內(nèi)嵌工程或被其他已加載工程所引用的工程。

卸載VBA的步驟如下:

(1) 在“VBA管理器”對話框中選擇欲卸載的工程。

(2) 單擊“卸載”按鈕。

2.3 VBA IDE[3]

在AutoCAD中加載VBA工程后,即可使用VBA交互式開發(fā)環(huán)境IDE來運(yùn)行、調(diào)試程序或刪除錯誤,亦可在IDE中繼續(xù)編輯該工程的程序代碼、窗體和部件引用等元素。

 1. 打開VBA IDE

可用以下兩種方法打開VBA IDE:

命令行:VBAIDE

菜單欄:【工具】→【宏】→【Visual Basic編輯器】

VBA IDE界面如圖7所示,在其中可對所有已加載的工程進(jìn)行編輯。

AutoCAD VBA二次開發(fā)AutoCAD仿真分析圖片7

圖7  VBA IDE界面

 2. 工程信息

在VBA IDE中,“工程”窗口顯示的內(nèi)容包括:所有已加載的VBA工程,這些工程所包含的程序代碼、類別、窗體、與工程相關(guān)的文件,本工程所引用的其他VBA工程,這些工程所在的位置(路徑)等,如圖8所示。

“工程”窗口的頂部為包含3個按鈕的工具條,通過切換按鈕可顯示不同的工程元素。選中工程模塊中的“窗體”后,單擊“查看代碼”按鈕可顯示該工程模塊的程序代碼;單擊“查看對象”按鈕可顯示該工程元素對象的外觀,如窗體界面。

“工程”窗口在默認(rèn)狀態(tài)下是打開的。若不可見,可在IDE中用菜單操作“【視圖】→【工程資源管理器】”來打開。

AutoCAD VBA二次開發(fā)AutoCAD學(xué)習(xí)資料圖片8
AutoCAD VBA二次開發(fā)AutoCAD學(xué)習(xí)資料圖片9
AutoCAD VBA二次開發(fā)AutoCAD學(xué)習(xí)資料圖片10
AutoCAD VBA二次開發(fā)AutoCAD學(xué)習(xí)資料圖片11
AutoCAD VBA二次開發(fā)AutoCAD分析案例圖片12
AutoCAD VBA二次開發(fā)AutoCAD分析案例圖片13
AutoCAD VBA二次開發(fā)AutoCAD培訓(xùn)教程圖片14

圖8  “工程”窗口

 3. 工程元素

每個工程均由若干不同的元素構(gòu)成,包含對象、窗體、標(biāo)準(zhǔn)模塊、類模塊和引用等。

(1) 對象  對象是工程中的基本運(yùn)行實體。VBA中的對象可分為兩類,一類是由系統(tǒng)設(shè)計好,可直接使用或?qū)ζ溥M(jìn)行操作的對象;另一類是用戶定義,可用程序建立用戶自己的對象。對象是具有特殊屬性(數(shù)據(jù))和行為方式(方法)的實體,它由屬性、事件和方法這3個重要方面構(gòu)成。

(2) 窗體模塊  窗體模塊分為兩部分,一部分是作為用戶界面的窗體,另一部分是執(zhí)行具體操作的代碼。窗體是放置其他對象的容器,常用于創(chuàng)建工程的自定義交互式對話框。

(3) 標(biāo)準(zhǔn)模塊  又叫程序代碼模塊,簡稱模塊。該模塊完全由代碼組成,這些代碼不與具體的窗體或控件相關(guān)聯(lián)。

(4) 類模塊  類模塊既包含代碼又包含數(shù)據(jù),每個類模塊定義一個類??稍诖绑w模塊中定義類的對象,調(diào)用類模塊中的過程。

 

4. 添加新元素

用戶可在工程中添加新元素,比如插入新的窗體、模塊或類模塊等。添加新元素后,用戶可修改元素的性質(zhì)(例如元素名稱)和編寫程序代碼。

用戶命名新元素時,應(yīng)遵循規(guī)范的命名慣例,即“見名知義”,提高程序的可讀性。

在工程中添加新元素的步驟如下:

(1) 在VBA IDE的“工程”窗口中選擇要添加元素的工程。

(2) 從“插入”菜單中選擇“添加用戶窗體”、“添加模塊”或“添加類模塊”選項,將新元素添加到該工程中。

新的元素加入到工程后,會以默認(rèn)的屬性出現(xiàn)在“工程”窗口中。

 5. 編輯元素

元素的編輯包括對屬性、代碼和對象的編輯等。

(1) 元素屬性編輯  在“工程”窗口中選取被編輯的元素,“屬性”窗口中將顯示其屬性,如圖9所示。將光標(biāo)定位于“屬性”窗口右邊的屬性值欄,即可修改為需要的屬性值。

(2) 代碼編輯  在“工程”窗口中選取被編輯的元素(窗體、模塊或類模塊),再單擊窗口頂部的“查看代碼”按鈕,即可打開程序代碼窗口并編輯程序代碼,如圖10所示。

 

AutoCAD VBA二次開發(fā)AutoCAD培訓(xùn)教程圖片15

圖9  “屬性”窗口

 

AutoCAD VBA二次開發(fā)AutoCAD仿真分析圖片16

圖10  “程序代碼”窗口

 (3) 窗體編輯  在“工程”窗口中選取被編輯的窗體模塊,再單擊窗口頂部的“查看對象”按鈕,即可打開窗體窗口和控件工具箱,如圖11所示。用戶可在該窗口中增刪對象、編輯對象的屬性或編輯與窗體關(guān)聯(lián)的程序代碼。雙擊窗體窗口中的控件,可在程序代碼窗口中顯示與該控件相關(guān)的程序代碼。

AutoCAD VBA二次開發(fā)AutoCAD技術(shù)圖片17

圖11  “窗體”窗口

 VBA二次開發(fā)實例

在學(xué)習(xí)了AutoCAD VBA基礎(chǔ)知識后,接下來介紹一個簡單實例。通過該實例的學(xué)習(xí),我們可以初步掌握開發(fā)VBA應(yīng)用程序的一般過程。

 訓(xùn)練1  應(yīng)用VBA編寫輸入起點(diǎn)和終點(diǎn)坐標(biāo)繪制直線的參數(shù)化程序。

應(yīng)用VBA程序繪制直線的方法為:AddLine(StartPoint, EndPoint),其中StartPoint, EndPoint為起點(diǎn)、終點(diǎn)坐標(biāo),必須為3元素列表(即數(shù)組)。

 操作步驟如下:

(1) 打開VBA管理器,單擊“新建”按鈕,添加名稱為“ACADProject”、位置為“Global2”的新工程,如圖12所示。選中該工程后,再單擊“另存為”將之保存于D盤,名稱為“DrawLine.dvb”。

AutoCAD VBA二次開發(fā)AutoCAD技術(shù)圖片18

圖12  VBA管理器

 (2) 打開VBA IDE,在“插入”菜單中選擇“用戶窗體”插入新窗體。

(3) 打開“工具箱”(如圖13所示),點(diǎn)擊“框架”按鈕,在窗體中建立兩個框架,分別用于起點(diǎn)和終點(diǎn)坐標(biāo)的輸入;再點(diǎn)擊“標(biāo)簽”和“文字框”按鈕,在兩個框架中分別建立用于輸入起點(diǎn)和終點(diǎn)坐標(biāo)的標(biāo)簽和對話框;再點(diǎn)擊“命令按鈕”按鈕,在用戶窗體中建立“確定”和“結(jié)束”按鈕。

AutoCAD VBA二次開發(fā)AutoCAD應(yīng)用技術(shù)圖片19

圖13  “用戶窗體”編輯窗口

 (4) 打開“屬性窗口”(如圖14所示),在“用戶窗體”中依次點(diǎn)擊控件,在其“屬性窗口”中設(shè)置相應(yīng)屬性。按表1所示設(shè)置窗體及控件的相應(yīng)屬性。

AutoCAD VBA二次開發(fā)AutoCAD學(xué)習(xí)資料圖片20

圖14  “屬性”設(shè)置窗口

 

表1  繪制直線的窗體及控件屬性設(shè)置

窗體及控件名稱

屬性

設(shè)置值

作用

窗體

Name

frmLine


Caption

參數(shù)化繪直線練習(xí)


框架

Name

fraSP,fraEP


Caption

起點(diǎn)坐標(biāo),終點(diǎn)坐標(biāo)


標(biāo)簽

Name

lblXS,lblYS,lblZS,

lblXE,lblYE,lblZE


Caption

x_start,y_start,z_start,

x_end,y_end,z_end

提示輸入直線起點(diǎn)、終點(diǎn)坐標(biāo)值

文本框

Name

txtXS,txtYS,txtZS,

txtXE,txtYE,txtZE


Text

10,10,0,40,40,40

輸入直線起點(diǎn)、終點(diǎn)坐標(biāo)值

命令按鈕

Name

cmdOK_Click,cmdEnd_Click


Caption

確定,結(jié)束

點(diǎn)擊按鈕

 (5) 雙擊“確定”按鈕打開“代碼窗口”,在行Private Sub cmdOK_Click( )和行End Sub之間輸入以下代碼:

ThisDrawing.Application.Documents.Add  ’ 打開新圖形

Dim StartPoint(0 To 2) As Double  ’ 定義起點(diǎn)坐標(biāo)

Dim EndPoint(0 To 2) As Double  ’ 定義終點(diǎn)坐標(biāo)

StartPoint(0) = txtXS   ’ 提取起點(diǎn)x坐標(biāo)

StartPoint(1) = txtYS   ’ 提取起點(diǎn)y坐標(biāo)

StartPoint(2) = txtZS   ’ 提取起點(diǎn)z坐標(biāo)

EndPoint(0) = txtXE   ’ 提取終點(diǎn)x坐標(biāo)

EndPoint(1) = txtYE   ’ 提取終點(diǎn)y坐標(biāo)

EndPoint(2) = txtZE   ’ 提取終點(diǎn)z坐標(biāo)

Dim LineObj As AcadLine ’ 定義Line對象

’ 設(shè)置Line對象

Set LineObj = ThisDrawing.ModelSpace.AddLine (StartPoint, EndPoint)

ThisDrawing.SaveAs("D:\Line_Ex.dwg")  ’ 保存圖形

(6) 雙擊“結(jié)束”按鈕打開“代碼窗口”,在行Private Sub cmdEnd_Click( )和行End Sub之間輸入代碼“End”,用于結(jié)束程序。

步驟(5)、(6)輸入的代碼如圖15所示。

(7) 從VBA IDE的“運(yùn)行”菜單中選擇“運(yùn)行子程序/用戶窗體”選項或按F5鍵來運(yùn)行程序。

(8) 當(dāng)程序運(yùn)行完時,AutoCAD應(yīng)用程序?qū)⒅糜谧钋?。此時可在圖形中看到直線,且圖形的文件名稱為Line_Ex.dwg。

AutoCAD VBA二次開發(fā)AutoCAD分析案例圖片21

圖15  實例的代碼窗口

 注:VBA中的出錯處理方法

在VB和VBA中,使用On Error語句來捕獲運(yùn)行時錯誤。此語句為系統(tǒng)設(shè)置精確的捕獲。當(dāng)錯誤發(fā)生時,此語句會自動轉(zhuǎn)到專門編寫的錯誤處理程序,系統(tǒng)的默認(rèn)錯誤處理則被略過。

On Error 語句有三種形式:

(1) On Error Resume Next

(2) On Error GoTo Label

(3) On Error GoTo 0

當(dāng)希望忽略錯誤時,可以使用On Error Resume Next語句。此語句捕獲錯誤但是不會顯示錯誤信息或者終止程序,而是移到下一行代碼繼續(xù)執(zhí)行。例如,如果希望創(chuàng)建子例程來遍歷模型空間并修改每個圖元的顏色,則在試圖對鎖定圖層上的圖元著色時AutoCAD將會拋出錯誤。這時不需要終止過程,而只需要跳過鎖定圖層上的圖元并繼續(xù)處理其余的圖元。On Error Resume Next語句就可以完成這個過程。

當(dāng)希望編寫明確的處理程序時,可以使用On Error GoTo Flag語句(Flag為標(biāo)記)。此語句捕獲錯誤但不會顯示錯誤信息或者終止程序,而是跳到代碼中的特定位置。然后代碼可以使用適當(dāng)?shù)姆绞絹眄憫?yīng)錯誤。例如,可以擴(kuò)充上一個樣例,以顯示包含鎖定圖層上每個圖元句柄的消息。

 訓(xùn)練2  應(yīng)用VBA編寫輸入圓心、半徑、起始角和終止角繪制圓弧的參數(shù)化程序。

應(yīng)用VBA程序繪制樣條曲線的方法為:AddArc(Center, Radius, StartAngle, EndAngle),其中,Center為圓心坐標(biāo)3元素列表,Radius為圓弧半徑,StartAngle, EndAngle為圓弧起始、終止角(弧度)。

按訓(xùn)練1的方法和步驟設(shè)計參數(shù)化繪制圓弧的VBA程序,其步驟依次為:打開VBA IDE、插入用戶窗體并設(shè)置屬性、插入控件并設(shè)置屬性、編寫代碼、調(diào)試運(yùn)行程序、保存工程。參數(shù)化繪制圓弧的窗體如圖16所示,并按表2所示設(shè)置窗體及控件的相應(yīng)屬性。

AutoCAD VBA二次開發(fā)AutoCAD分析案例圖片22

圖16  繪制圓弧的窗體

 表2  繪制圓弧的窗體及控件屬性設(shè)置

窗體及控件名稱

屬性

設(shè)置值

作用

窗體

Name

frmArc


Caption

參數(shù)化繪圓弧練習(xí)


標(biāo)簽

Name

lblXCen,lblYCen,lblZCen,

lblArcR,lblStaAng,lblEndAng,

lblSAUnit,lblEAUnit


Caption

x_CenPoint,y_CenPoint,z_CenPoint,

ArcR,StaAng,EndAng,

°(角度單位),°

提示輸入圓心坐標(biāo)、半徑、角度值及角度單位

文本框

Name

txtXCen,txtYCen,txtZCen,

txtRadius,txtStaAng,txtEndAng


Text

50,70,0,30,20,160

輸入圓心坐標(biāo)、圓弧半徑及圓弧起始、終止角度值

命令按鈕

Name

cmdOK_Click,cmdEnd_Click


Caption

確定,結(jié)束

點(diǎn)擊按鈕

 參數(shù)化繪制圓弧的主要代碼如下:

Private Sub cmdOK_Click( )

  Dim pi As Double

  pi = 4 * Atn(1)  ’ 定義常數(shù)π

  ThisDrawing.Application.Documents.Add   ’ 打開新圖形

  Dim ArcCenter(0 To 2) As Double   ’ 定義圓弧中心

  Dim ArcRadius As Double   ’ 定義圓弧半徑

  Dim StartAngle As Double   ’ 定義圓弧起始角

  Dim EndAngle As Double    ’ 定義圓弧終止角

  ArcCenter(0) = txtXCen.Text    ’ 提取圓弧中心X坐標(biāo)

  ArcCenter(1) = txtYCen.Text    ’ 提取圓弧中心Y坐標(biāo)

  ArcCenter(2) = txtZCen.Text    ’ 提取圓弧中心Z坐標(biāo)

  ArcRadius = txtRadius.Text  ’ 提取圓弧半徑

  StartAngle = txtStaAng.Text * pi / 180   ’ 提取圓弧起始角并轉(zhuǎn)換為弧度

  EndAngle = txtEndAng.Text * pi / 180   ’ 提取圓弧終止角并轉(zhuǎn)換為弧度

   Dim ArcObj As AcadArc    ’ 定義Arc對象

  ’ 設(shè)置Arc對象

  Set ArcObj = ThisDrawing.ModelSpace.AddArc(ArcCenter, ArcRadius, StartAngle, EndAngle)

  ThisDrawing.SaveAs (“D:\Arc_Ex.dwg”)  ’ 保存圖形

End Sub

 訓(xùn)練3  應(yīng)用VBA編寫輸入基圓半徑和展角上限繪制漸開線的參數(shù)化程序。

漸開線為常用工程曲線,在機(jī)械設(shè)計基礎(chǔ)或機(jī)械原理教材中有詳細(xì)介紹。在VBA中,可采用樣條曲線擬合的方法繪制漸開線。

在如圖17所示的直角坐標(biāo)系Oxy中,漸開線上點(diǎn)K的坐標(biāo)為[7]187

AutoCAD VBA二次開發(fā)AutoCAD技術(shù)圖片23
(1)

式中,

AutoCAD VBA二次開發(fā)AutoCAD技術(shù)圖片24
—形成漸開線的基圓半徑;

AutoCAD VBA二次開發(fā)AutoCAD培訓(xùn)教程圖片25
—用弧度表示的漸開線上K點(diǎn)對應(yīng)的展角,且
AutoCAD VBA二次開發(fā)AutoCAD培訓(xùn)教程圖片26
。

漸開線的切線方向可用其斜率(導(dǎo)數(shù))表示,即

AutoCAD VBA二次開發(fā)AutoCAD分析圖片27
 (
AutoCAD VBA二次開發(fā)AutoCAD分析案例圖片28
)   (2)

AutoCAD VBA二次開發(fā)AutoCAD分析案例圖片29

圖17  直角坐標(biāo)系下的漸開線

 應(yīng)用VBA程序繪制樣條曲線的方法為:AddSpline(PointsArray, StartTangent, EndTangent),其中,PointsArray為樣條曲線(漸開線)擬合點(diǎn)的3維坐標(biāo)組成的列表(即數(shù)組,必須為3的倍數(shù)),StartTangent,EndTangent為樣條曲線的起點(diǎn)和終點(diǎn)切向向量(必需為3元素列表,切向必需與曲線的走向一致)[8]。起點(diǎn)的切向豎直向上[7]181-183,可取(0, 1, 0);根據(jù)式(2)可知終點(diǎn)的切向為

AutoCAD VBA二次開發(fā)AutoCAD應(yīng)用技術(shù)圖片30
。

可根據(jù)精度要求將所繪漸開線的展角上限

AutoCAD VBA二次開發(fā)AutoCAD應(yīng)用技術(shù)圖片31
等分為J個區(qū)間(程序中取J=10),應(yīng)用For…Next循環(huán)計算擬合點(diǎn)的坐標(biāo)。首先按下式計算展角:

AutoCAD VBA二次開發(fā)AutoCAD學(xué)習(xí)資料圖片32
,
AutoCAD VBA二次開發(fā)AutoCAD學(xué)習(xí)資料圖片33
 (j=0, 1, 2, …, J)   (3)

再用式(1)計算點(diǎn)K的坐標(biāo)(xKj, yKj)。

AutoCAD VBA二次開發(fā)AutoCAD分析圖片34

圖18  繪制漸開線的窗體

繪制漸開線及基圓的窗體如圖18所示,程序如下:

Private Sub cmdOK_Click()

  ThisDrawing.Application.Documents.Add

  pi = 4 * Atn(1)    ’ 定義常數(shù)π

  Dim rb As Double ’ 定義基圓半徑

  Dim theta0 As Double ’ 定義漸開線展角

  Dim InvPoint(0 To 32) As Double ’ 定義擬合點(diǎn)坐標(biāo)

  Dim SPtan(0 To 2) As Double ’ 定義起點(diǎn)切線方向

  Dim EPtan(0 To 2) As Double ’ 定義終點(diǎn)切線方向

  Dim InvObj As AcadSpline   ’ 定義Spline對象

  rb = txtRb.Text

  theta0 = txtTheta0.Text * pi / 180  ’ 將角度轉(zhuǎn)換為弧度

  delta_theta = theta0 / 10

  For j = 0 To 10

  theta = j * delta_theta

  InvPoint(j * 3) = rb * (Sin(theta) - theta * Cos(theta))

  InvPoint(j * 3 + 1) = rb * (Cos(theta) + theta * Sin(theta))

  InvPoint(j * 3 + 2) = 0

  Next j

  SPtan(0) = 0: SPtan(1) = 1: SPtan(2) = 0

  EPtan(0) = 1: EPtan(1) = 1 / Tan(theta0): EPtan(2) = 0

  ’ 設(shè)置Spline對象

  Set InvObj = ThisDrawing.ModelSpace.AddSpline(InvPoint, SPtan, EPtan)

 

  ’ 繪制基圓

  Dim CirObj As AcadCircle ’ 定義Circle對象

  Dim CenPoint(0 To 2) As Double  ’ 定義圓心坐標(biāo)

  CenPoint(0) = 0: CenPoint(1) = 0: CenPoint(2) = 0

  ’ 設(shè)置Circle對象

  Set CirObj = ThisDrawing.ModelSpace.AddCircle(CenPoint, rb)

  ThisDrawing.SaveAs (“D:\Draw_Inv.dwg”)

End Sub

 參考文獻(xiàn)

 [1] 宋憲一. 計算機(jī)輔助工程繪圖[M]. 北京: 機(jī)械工業(yè)出版社, 2002.

[2] 姜勇. AutoCAD中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程[M]. 北京: 人民郵電出版社, 2005.

[3] 謝澤學(xué), 吳京霞, 謝婧. AutoCAD2004簡明教程[M]. 北京: 科學(xué)出版社, 2006.

[4] 劉力, 王冰. 機(jī)械制圖[M]. 北京: 高等教育出版社, 2000.

[5] 劉小年, 劉振魁. 機(jī)械制圖[M]. 北京: 高等教育出版社, 2000.

[6] 李鳳華. AutoCAD 2002/2000 VBA開發(fā)指南[M]. 北京: 清華大學(xué)出版社, 2001.

[7] 孫桓, 傅則紹. 機(jī)械原理[M]. 第4版. 北京: 高等教育出版社, 1993.

[8] 車林仙, 何兵. 基于AutoCAD的擺線型轉(zhuǎn)子泵實體參數(shù)化造型[J]. 現(xiàn)代制造工程, 2005(8): 94-96.
 

[1] VBA為Visual Basic for Application的縮寫。AutoCAD中的VBA是指必須依賴于已有的AutoCAD應(yīng)用程序才能運(yùn)行的Visual Basic程序。

[2] 宏是一個可執(zhí)行的應(yīng)用子程序,每個VBA工程至少包含一個宏。

[3] IDE為Integrated development environment的縮寫,即集成開發(fā)環(huán)境。


開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標(biāo)簽搜索:AutoCAD VBA二次開發(fā) AutoCAD培訓(xùn) AutoCAD培訓(xùn)課程 AutoCAD圖紙設(shè)計 AutoCAD在線視頻 AutoCAD技術(shù)學(xué)習(xí)教程 AutoCAD軟件教程 AutoCAD資料下載 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn) 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進(jìn)行在線報名,我們會及時給您回復(fù)電話,謝謝!
驗證碼

全國服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點(diǎn)擊咨詢 點(diǎn)擊咨詢
項目QQ咨詢:點(diǎn)擊咨詢
email:kf@1cae.com