正文

Autocad VBA初级教程 (第六课 数据类型的转换)2006-01-03 07:04:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/stef/9249.html

分享到:

  上一节课我们用一个简单的公式把角度转化为弧度,这样做便于大家理解。不过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) ,得到3Cvar,获得一个Variant类型的数值,例:Cvar("123" & "00"),得到”12300”Cdate,转换为date数据类型,例:MyShortTime = CDate("11:13:14 AM") 下面的代码可以写出一串数字,从000-099。 Sub test() Dim add0 As StringDim text As StringDim p(0 To 2) As Doublep(1) = 0 'Y坐标为0p(2) = 0 'Z坐标为0For 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) '写字这是写单行文本,需要三个参数,分别是:写的内容、位置、字高

阅读(3954) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册