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

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

Autocad VBA初級教程 (第六課 數據類型的轉換)

時間:2010-11-18 19:48:12 來源:未知

上一節課我們用一個簡單的公式把角度轉化為弧度,這樣做便于大家理解。不過VBA中有現成的方法可以轉換數據類型。

我們舉例說明:
jd = ThisDrawing.Utility.AngleToReal(30, 0)
這個表達式把角度30度轉化為弧度,結果是.523598775598299。
AngleToReal需要兩個參數,前面是表示要轉換角度的數字,而后面一個參數可以取值為0-4之間的整數,有如下意義:
0:十進制角度;1:度分秒格式;2:梯度;3:弧度;4:測地單位
例:id= ThisDrawing.Utility.AngleToReal("62d30' 10""", 1)
這個表達式計算62度30分10秒的弧度

再看將字符串轉換為實數的方法:DistanceToReal
需要兩個參數,前一個參數是表示數值的字符串,后面可以取值1-5,表示數據格式,有如下意義:
1:科學計數;2:十進制;3:工程計數——英尺加英寸;4:建筑計數——英尺加分數英寸;5:分數格式。
例:以下表達式得到一個12.5的實數
temp1 = ThisDrawing.Utility.DistanceToReal("1.25E+01", 1)
temp2 = ThisDrawing.Utility.DistanceToReal("12.5", 2)
temp3 = ThisDrawing.Utility.DistanceToReal("12 1/2", 5)
而realtostring方法正好相反,它把一個實數轉換為字符串。它需要3個參數
第一個參數是一個實數,第二個參數表示數據格式,含義同上,最后一個參數表示精確到幾位小數。
temp1= ThisDrawing.Utility.RealToString(12.5, 1, 3)
得到這個字符串:“1.250E+01”,

下面介紹一些數型轉換函數:
Cint,獲得一個整數,例:Cint(3.14159) ,得到3
Cvar,獲得一個Variant類型的數值,例:Cvar("123" & "00"),得到”12300”
Cdate,轉換為date數據類型,例:MyShortTime = CDate("11:13:14 AM")

下面的代碼可以寫出一串數字,從000-099。

Sub test()

Dim add0 As String
Dim text As String
Dim p(0 To 2) As Double
p(1) = 0 'Y坐標為0
p(2) = 0 'Z坐標為0
For i = 0 To 99 '開始循環
  If i < 10 Then '如果小于10
    add0 = "00" '需要加00
  Else '否則
    add0 = "0" '需要加0
  End If
  text = add0 & CStr(i) '加零,并轉換數據
  p(0) = i * 100 'X坐標
  Call ThisDrawing.ModelSpace.AddText(text, p, 4) '寫字
  Next i
 
End Sub


重點解釋條件判斷語句:
If 條件表達式 Then
……
Else
……
End if

如果滿足條件那么程序往下執行,到else時不再往下執行,直接跳到End if后面
如果不滿足條件,程序跳到else后往下運行。

  Call ThisDrawing.ModelSpace.AddText(text, p, 4) '寫字
這是寫單行文本,需要三個參數,分別是:寫的內容、位置、字高