玩软件 > AutoCAD
+

AutoCAD VBA编程初级教程(6)

2016-09-26    作者:未知    来源:网络文摘

第六课 数据类型的转换

    上一节课我们用一个简单的公式把角度转化为弧度,这样做便于大家理解。不过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) '写字

    这是写单行文本,需要三个参数,分别是:写的内容、位置、字高

阅读:15722    评论:0
  • 相关文章
  • 热门文章
  • 相关评论
网站地图

免责申明:我要玩起网旨在提供一个相互学习交流的平台,是一个完全免费的网站,部分原创作品,欢迎转载,部分内容来自互联网,如果侵犯了您的权利请尽快通知我们!邮箱:279459762@qq.com Copyright 2018-2021我要玩起网

  湘ICP备17006802号-2
【电脑版】  【回到顶部】