概要 - 配列をバリアントに変換する(VBA/ActiveX)

AutoCAD ActiveX オートメーションは、データの配列をバリアントに変換する便利なメソッドを提供します。

このメソッドは、整数、浮動小数点数、倍精度浮動小数点数などの配列を含むバリアント作成する CreateTypedArray メソッドです。作成されたバリアントは AutoCAD のメソッドまたはプロパティに渡され、そこで数値配列がバリアントとして受け取られます。

CreateTypedArray メソッドは、配列内の値のタイプと、変換するデータの配列を入力として受け取ります。データの配列をバリアントとして返します。

CreateTypedArray メソッドを使用したスプラインを作成する

次のコードは、CreateTypedArray を使用して、3 つの配列(スプラインのフィット点の座標、スプラインの始点および終点での接線の座標)を変換します。次に、バリアントを AddSpline メソッドに渡して、スプラインを作成します。

Sub Ch2_CreateSplineUsingTypedArray()
    ' This example creates a spline object in model space
    ' using the CreateTypedArray method.
    Dim splineObj As AcadSpline
    Dim startTan As Variant
    Dim endTan As Variant
    Dim fitPoints As Variant

    Dim utilObj As Object   ' late bind the Utility object
    Set utilObj = ThisDrawing.Utility

    ' Define the Spline Object
    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)

    ' Zoom in on the newly created spline
    ZoomAll

End Sub