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

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

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

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

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

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

下面的代碼可以寫(xiě)出一串?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 '開(kāi)始循環(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) '寫(xiě)字
  Next i
 
End Sub


重點(diǎn)解釋條件判斷語(yǔ)句:
If 條件表達(dá)式 Then
……
Else
……
End if

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

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

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