初级会员
注册日期: 07-01
帖子: 8
精华: 0
现金: 37 标准币
资产: 37 标准币
|
变体型变量(Variant)和数组
8、变体型变量(Variant)和数组
变体型变量是一种特殊的数据类型,可以包含任何类型的数据,固定长度的字符串数据和用户定义的类型除外。变量还可以包含特殊值 Empty、Error、Nothing 和 NULL。可以使用 VarType 或 TypeName 函数来确定如何处理变量中的数据。
变体型变量用于和 AutoCAD 传递数组数据。这表示使用对象的属性和方法时,如果输入数组作为参数,那么 VBA 自动将数组转换为变体型变量。此外,从函数或者对象的属性返回的数组数据也将自动转换为变体型变量进行处理。
对第七个问题进行分析:points数组作为参数时,将自动转换成变体型变量,然后才进行生成多段线的操作。同时,如果返回点坐标的数组时,必须先定义一个变体型变量。
示例:
Dim moSpace As AcadModelSpace
Set moSpace = acadDoc.ModelSpace
Sub AddLightWeightPolyline()
Dim plineObj As AcadLWPolyline
Dim points(0 To 5) As Double
' 定义二维多段线的点
points(0) = 2: points(1) = 4
points(2) = 4: points(3) = 2
points(4) = 6: points(5) = 4
' 在模型空间中创建一个优化多段线对象
Set plineObj = moSpace.AddLightWeightPolyline(points)
‘ 等效于
‘Dim vpoints As Variant
‘Vpoints=points
‘Set plineObj = moSpace.AddLightWeightPolyline(vpoints)
‘ 返回多段线的从标数组
‘Dim vpoints As Variant
‘vpoints = plineObj.Coordinates
‘ 比较 vpoints 和 points,它们的维数相同,元素个数相同,值也相同。
End Sub
|