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

您的位置:網(wǎng)站首頁 > CAD教程 > CAD教程文章

Autocad VBA初級教程 (第六課 數(shù)據(jù)類型的轉(zhuǎn)換)

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

上一節(jié)課我們用一個簡單的公式把角度轉(zhuǎn)化為弧度,這樣做便于大家理解。不過VBA中有現(xiàn)成的方法可以轉(zhuǎn)換數(shù)據(jù)類型。

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

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

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

下面的代碼可以寫出一串?dāng)?shù)字,從000-099。

Sub test()

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


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

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

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