オブジェクトのプロパティとメソッドを使用して、既存のスプライン オブジェクト編集することができます。
次に示す編集可能プロパティを使用して、スプラインを変更します。
- ControlPoints
- スプラインの制御点を指定します。
- EndTangent
- 方向ベクトルとしてスプラインの終了接線を指定します。
- FitPoints
- スプラインのフィット点を指定します。
- FitTolerance
- スプラインを新しい許容差で既存の点に再フィットします。
- Knots
- スプラインのノット ベクトルを指定します。
- StartTangent
- スプラインの開始接線を指定します。
また次のメソッドを使用して、スプラインを編集できます。
- AddFitPoint
- 指定したインデックスで、単一フィット点をスプラインに追加します。
- DeleteFitPoint
- 指定したインデックスで、スプラインのフィット点を削除します。
- ElevateOrder
- スプラインの次数を、指定値まで上げます。
- GetFitPoint
- 指定したインデックスで、スプラインのフィット点を取得します(1 つのフィット点だけを取得します。スプラインのすべてのフィット点を取得するには、FitPoints プロパティを使用します)。
- Reverse
- スプラインの方向を逆にします。
- SetControlPoint
- スプラインの制御点を、指定したインデックスに設定します。
- SetFitPoint
- スプラインのフィット点を、指定したインデックスに設定します(1 つのフィット点だけを設定します。スプラインのすべてのフィット点を変更するには、FitPoints プロパティを使用します)。
- SetWeight
- 制御点の重みを、指定したインデックスに設定します。
次の読み込み専用プロパティを使用すると、スプラインについての情報を取得することができます。
- Area
- スプラインの閉じた領域の面積を取得します。
- Closed
- スプラインが閉じているか開いているかを示します。
- Degree
- スプラインの多項表現の次数を取得します。
- IsPeriodic
- 指定したスプラインが周期的かどうかを指定します。
- IsPlanar
- 指定したスプラインが平面上にあるかどうかを指定します。
- IsRational
- 指定したスプラインが有理かどうかを指定します。
- NumberOfControlPoints
- スプラインの制御点の数を取得します。
- NumberOfFitPoints
- スプラインのフィット点の数を取得します。
スプラインの制御点を変更する
次の例は、スプラインを作成し、次に最初の制御点を変更します。
Sub Ch4_ChangeSplineControlPoint()
' Create the spline
Dim splineObj As AcadSpline
Dim startTan(0 To 2) As Double
Dim endTan(0 To 2) As Double
Dim fitPoints(0 To 8) As Double
startTan(0) = 0.5: startTan(1) = 0.5: startTan(2) = 0
endTan(0) = 0.5: endTan(1) = 0.5: endTan(2) = 0
fitPoints(0) = 1: fitPoints(1) = 1: fitPoints(2) = 0
fitPoints(3) = 5: fitPoints(4) = 5: fitPoints(5) = 0
fitPoints(6) = 10: fitPoints(7) = 0: fitPoints(8) = 0
Set splineObj = ThisDrawing.ModelSpace.AddSpline(fitPoints, startTan, endTan)
splineObj.Update
' Change the coordinate of the first fit point
Dim controlPoint(0 To 2) As Double
controlPoint(0) = 0
controlPoint(1) = 3
controlPoint(2) = 0
splineObj.SetControlPoint 0, controlPoint
splineObj.Update
End Sub