你當(dāng)前的位置>>主頁(yè)>>AutoCAD知識(shí)>>專題教程
 

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

    第二課  編程基礎(chǔ)

本課主要任務(wù)是對(duì)上一課的例程進(jìn)行詳細(xì)分析

下面是源碼:
Sub c100()
Dim cc(0 To 2) As Double '聲明坐標(biāo)變量
cc(0) = 1000 '定義圓心座標(biāo)
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是宏的名稱,也叫過(guò)程名稱,當(dāng)用戶執(zhí)行C100時(shí)程序?qū)⑦\(yùn)行sub 和end sub之間的所有指令。

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

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


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

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

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

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