你當前的位置>>主頁>>AutoCAD知識>>專題教程
 

Autocad VBA初級教程 (第二課 編程基礎(chǔ))

    第二課  編程基礎(chǔ)

本課主要任務是對上一課的例程進行詳細分析

下面是源碼:
Sub c100()
Dim cc(0 To 2) As Double '聲明坐標變量
cc(0) = 1000 '定義圓心座標
cc(1) = 1000
cc(2) = 0
For i = 1 To 1000 Step 10 '開始循環(huán)
  Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '畫圓
Next i
End Sub

先看第一行和最后一行:
Sub C100()
……
End Sub
C100是宏的名稱,也叫過程名稱,當用戶執(zhí)行C100時程序?qū)⑦\行sub 和end sub之間的所有指令。

第二行:
Dim cc(0 To 2) As Double '聲明坐標變量
后半段“'聲明坐標變量”自動變?yōu)榫G色字體,它是代碼語句的注釋,它不會影響程序運行,它的作用是告訴閱讀者程序員的想法。對于簡單的程序,一般不需要寫注釋,如果要編寫非常復雜的程序,最好要多加注釋,越詳細越好,對于程序員來說,這是一個好習慣。
電腦真正編譯執(zhí)行的是這條語句:Dim cc(0 To 2) As Double
它的作用就是聲明變量。
Dim是一條語句,可以理解為計算機指令。
它的語法:Dim變量名 As 數(shù)據(jù)類型
本例中變量名為CC,而括號中的0 to 2聲明這個CC是一個數(shù)組,這個數(shù)組有三個元素:CC(0)、CC(1)、CC(2),如果改為CC(1 to 3),則三個元素是CC(1)、CC(2)、CC(3),有了這個數(shù)組,就可以把坐標數(shù)值放到這個變量之中。
Double是數(shù)據(jù)類型中的一種。ACAD中一般需要定義坐標時就用這個數(shù)據(jù)類型。在ACAD中數(shù)據(jù)類型的有很多,下面兩個是比較常用的數(shù)據(jù)類型,初學者要有所理解。
Long(長整型),其范圍從 -2,147,483,648 到 2,147,483,647。
Variant  它是那些沒被顯式聲明為其他類型變量的數(shù)據(jù)類型,可以理解為一種通用的數(shù)據(jù)類型,這是最常用的。

下面三條語句
cc(0) = 1000 '定義圓心座標
cc(1) = 1000
cc(2) = 0
它們的作用是給CC變量的每一個元素賦,值其順序是X、Y、Z坐標。


For i = 1 To 1000 Step 10 '開始循環(huán)
……
Next i  '結(jié)束循環(huán)
這兩條語句的作用是循環(huán)運行指令,每循環(huán)一次,i值要增加10,當i加到 1000時,結(jié)束循環(huán)。
i也是一個變量,雖然沒有聲明i變量,程序還是認可的,VB不是C語言,每用一個變量都要聲明,不聲明就會報錯。簡單是簡單了,這樣做也有壞處,如果不小心打錯了一個字母,程序不會報錯,如果程序很長,那就會出現(xiàn)一些意想不到的錯誤。
step后面的數(shù)值就是每次循環(huán)時增加的數(shù)值,step后也可以用負值。
例如:For i =1000 To 1 Step -10
很多情況下,后面可以不加step 10
如:For i=1 to 100,它的作用是每循環(huán)一次i值就增加1
Next i語句必須出現(xiàn)在需要結(jié)束循環(huán)的位置,不然程序沒法運行。

下面看畫圓命令:
Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10)
Call語句的作用是調(diào)用其他過程或者方法。
ThisDrawing.ModelSpace是指當前CAD文檔的模型空間
AddCircle是畫圓方法
Addcicle方法需要兩個參數(shù):圓心和半徑
CC就是圓心坐標,i*10就是圓的半徑,本例中,這些圓的半徑分別是10、110、210、310……

本課到此結(jié)束,下面請完成一道思考題:
1.以(4,2)為圓心,畫5個同心圓,其半徑為1-5

本教程共13頁    第  [1]   2  [3] [4] [5] [6] [7] [8] [9] [10] [11]  [12]  [13] [12]  [13] 頁
民眾工作室.制作      版權(quán)所有