Shape. DrawNURBS メソッド (Visio)Shape.DrawNURBS method (Visio)

1 つの NURBS (Nonuniform Rational B-spline) セグメントで構成されるパスによって、新しい図形を作成します。Creates a new shape whose path consists of a single NURBS (nonuniform rational B-spline) segment.


expression.expression. DrawNURBS( _degree_ , _Flags_ , _xyArray()_ , _knots()_ , _weights_ )

Shape オブジェクトを表す変数を取得します。expression A variable that represents a Shape object.


名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
度合degree 必須Required 整数型 (Integer)Integer スプラインの角度です。1 ~ 25 の整数を指定します。The spline's degree; an integer between 1 and 25.
FlagsFlags 必須Required 整数型 (Integer)Integer 図形の描画方法を制御するフラグです。Flags that influence how the shape is drawn.
xyArray ()xyArray() 必須Required DoubleDouble コントロールポイント座標を定義する_x_と_y_の値が交互に表された配列です。内部図面単位 (インチ) を使用します。An array of alternating x and y values that define the control points coordinates; use internal drawing units (inches).
ノット ()knots() 必須Required DoubleDouble ノットの配列です。An array of knots.
重み付けweights 省略可能Optional VariantVariant 太さの配列です。An array of weights.

戻り値Return value



Drawnurbsメソッドは、引数で指定された1つの NURBS セグメントで構成されるパスを持つ新しい図形を作成します。The DrawNURBS method creates a new shape whose path consists of a single NURBS segment as specified by the arguments.

コントロール ポイントは内部図面単位 (インチ) で表し、新しい図形を作成するページ、マスター シェイプ、またはグループの座標空間を基準とします。The control points should be in internal drawing units (inches) with respect to the coordinate space of the page, master, or group in which the new shape is being created. XyArrayノット、および_重み_の配列は、参照によって渡される8バイトの浮動小数点値の型 SAFEARRAY である必要があります (VT_R8 |VT_ARRAY |VT_BYREF).The xyArray, knots, and weights arrays should be of type SAFEARRAY of 8-byte floating point values passed by reference (VT_R8|VT_ARRAY|VT_BYREF). Microsoft Visual Basic では、この方法で Automation オブジェクトに配列を渡します。This is how Microsoft Visual Basic passes arrays to Automation objects.

_ノット_引数は、単位を指定しません。The knots argument is unit-less. knots の配列では、値が減少していくような配列は使用できません。The sequence of knots should be non-decreasing. 言い換えると、ノット( i + 1) <ノット( i ) は受け入れられません。In other words, knots( i + 1) < knots( i ) is not acceptable. ノット( i + 1) =ノット( i ) を許可し、値を繰り返しますが、次の制限が適用されます。knots( i + 1) = knots( i ) is permitted, and then the value is repeated, but the following restrictions apply:

  • 最初のノットは、角度+ 1 回より多く繰り返すことはできません。The first knot may not be repeated more than degree + 1 times.

  • 最後のノットは繰り返せません。The last knot may not be repeated.

  • 最初と最後の間のすべてのノットは、指定し__ た回数よりも多く繰り返すことはできません。Any knot between the first and last may not be repeated more than degree times.

  • 最初のノットが_度_+ 1 回より短い場合は、そのスプラインが_周期_的になります。If the first knot is repeated less than degree + 1 times, the spline is periodic.

  • 太さの配列はオプションです。The list of weights is optional. その休暇は、スプラインが_非有理数_であることを通知します。Its absence signals that the spline is non-rational. 太さには単位を付けません。Weights are unit-less.

各配列のサイズには次のルールが適用されます。The following rules apply to the sizes of the lists. スプラインが n 個のコントロール ポイントを持つ場合は、次のようになります。For a spline with n control points:

  • 連続スプラインの場合は、_n > 2 です。If the spline is periodic, n > 2. それ以外の場合は_n > Otherwise, n > degree.

  • _XyArray_のサイズは 2 _n_です。The size of xyArray is 2 n.

  • 重み_の配列のサイズは_n (存在する場合) です。The size of the weights array is n (if present).

  • ノット_配列のサイズは_n + 1 です。The size of the knots array is n + 1.

通常の非定期的なスプラインでは_n_ + + 1_ノット_が必要ですが、アプリケーションは最後に反復_ノット_を示します。The conventional non-periodic spline requires n + degree + 1 knots, but the application implies the repeated knots at the end. たとえば、degree 2 のノット配列 (0,0,0,2,5,8) は、Visio アプリケーションでは、従来のノット配列 (0,0,0,2,5,8,8,8) として解釈されます。For example, the degree 2 knot list (0,0,0,2,5,8) is interpreted in the application as the conventional knot sequence (0,0,0,2,5,8,8,8).

_Flags_パラメーターは、新しい図形を描画するためのオプションを指定するビットマスクです。The Flags parameter is a bitmask that specifies options for drawing the new shape. この値は、ゼロ (0) またはvisSpline1D (8) のいずれかである必要があります。Its value should be either zero (0) or visSpline1D (8). _Flags_がVisSpline1Dで、 _xyArray_の最初のポイントと最後のポイントが一致しない場合、 Drawnurbsメソッドは1次元 (1d) 動作の図形を生成します。それ以外の場合は、2次元 (2D) の動作を持つ図形を作成します。If Flags is visSpline1D and if the first and last points in xyArray don't coincide, the DrawNURBS method produces a shape with one-dimensional (1D) behavior; otherwise, it produces a shape with two-dimensional (2D) behavior.

_XyArray_の最初のポイントと最後のポイントが一致する場合、 drawnurbsメソッドによって塗りつぶされた図形が生成されます。If the first and last points in xyArray do coincide, the DrawNURBS method produces a filled shape.

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.