AutoCAD ActiveX Automation 提供了将数组数据转换为变量的实用程序方法。这个方法是 CreateTypedArray 方法,它可以创建包含整数数组、浮点数数组、双精度数组等的变量。用户可以将产生的变量传递给任何 AutoCAD 方法或特性,只要这些方法或特性接受数值数组作为变量。
CreateTypedArray 方法需要输入数组中值的类型,并将数组数据进行转换。以变量返回值的数组。
以下代码使用 CreateTypedArray 转换三个数组:样条曲线的拟合点坐标及样条曲线的起点切向和端点切向。然后将变量传递给 AddSpline 方法,创建样条曲线。
Sub Ch2_CreateSplineUsingTypedArray()
' 本例使用 CreateTypedArray 方法
' 在模型空间中创建样条曲线对象。
Dim splineObj As AcadSpline
Dim startTan As Variant
Dim endTan As Variant
Dim fitPoints As Variant
Dim utilObj As Object ' 后期绑定 Utility 对象
Set utilObj = ThisDrawing.Utility
' 定义 Spline 对象
utilObj.CreateTypedArray _
startTan, vbDouble, 0.5, 0.5, 0
utilObj.CreateTypedArray _
endTan, vbDouble, 0.5, 0.5, 0
utilObj.CreateTypedArray _
fitPoints, vbDouble, 0, 0, 0, 5, 5, 0, 10, 0, 0
Set splineObj = ThisDrawing.ModelSpace.AddSpline _
(fitPoints, startTan, endTan)
' 放大新创建的样条曲线
ZoomAll
End Sub