我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > CAD教程 > CAD教程文章

Autocad VBA初級教程 (第五課 畫函數曲線)

時間:2010-11-18 19:47:38 來源:未知

先畫一組下圖拋物線。


下面是源碼:
Sub myl()
Dim p(0 To 49) As Double '定義點坐標
Dim myl As Object '定義引用曲線對象變量
co = 15 '定義顏色
For a = 0.01 To 1 Step 0.02 '開始循環畫拋物線
  For i = -24 To 24 Step 2 '開始畫多段線
    j = i + 24  '確定數組元素
    p(j) = i '橫坐標
    p(j + 1) = a * p(j) * p(j) / 10 '縱坐標
  Next i '至此p(0)-p(40)所有元素已定義,結束循環
  Set myl = ThisDrawing.ModelSpace.AddLightWeightPolyline(p) '畫多段線
  myl.Color = co '設置顏色屬性
  co = co + 1 '改變顏色,供下次定義曲線顏色
Next a
End sub

為了鼓勵大家積極思考,從本課開始,我不再解釋每一條語句的作用,只對以前沒有提過的語句進行一些解釋,也許你一時很難明白,建議用上一課提到的跟蹤變量、添加斷點的辦法領悟每一條語句的作用,如果有問題不懂請跟貼提問。
在跟蹤變量p時請在跟蹤窗口中單擊變量p前的+號,這樣可以看清數組p中每一個元素的變化。

ACAD沒有現成的畫拋物線命令,我們只能用程序編寫多段線畫近似拋物線。理論上,拋物線的X值可以是無限小、無限大,這里取值范圍在正負24之間。

程序第二行:Dim myl As Object '定義引用曲線對象變量
Object也是一種變量類型,它可以把變量定義為對象,本例中myl變量將引用多段線,所以要定義為Objet類型。

看畫多段線命令:
Set myl = ThisDrawing.ModelSpace.AddLightWeightPolyline(p) '畫多段線
其中括號中的p是一個數組,這個數組的元素數必須是偶數,每兩個元數作為一個點坐標。
等號前面部分“Set myl”的作用就將myl變量去引用畫好的多段線。
myl.Color = co '設置顏色屬性。在ACAD中,顏色可以用數字表示,本例中co會增值,這樣就會有五彩繽紛的效果。

本課第二張圖:正弦曲線,下面是源碼:
Sub sinl()
Dim p(0 To 719) As Double '定義點坐標
For i = 0 To 718 Step 2 '開始畫多段線
    p(i) = i * 2 * 3.1415926535897 / 360 '橫坐標
    p(i + 1) = 2 * Sin(p(i)) '縱坐標
Next i
ThisDrawing.ModelSpace.AddLightWeightPolyline (p) '畫多段線
ZoomExtents '顯示整個圖形
End Sub


p(i) = i * 2 * 3.1415926535897 / 360 '橫坐標
橫坐標表示角度,后面表達式的作用是把角度轉化弧度
ZoomExtents語句是縮放命令,它的作用是顯示整個圖形,消除圖形以外的區域

本課思考題:畫一條拋物線:y=0.5*x*x+3,其中X取值范圍在正負50之間