次の方法で共有


Page.DrawNURBS メソッド (Visio)

1 つの NURBS (Nonuniform Rational B-spline) セグメントで構成されるパスによって、新しい図形を作成します。

構文

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

Page オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
必須 Integer スプラインの角度です。1 ~ 25 の整数を指定します。
Flags 必須 Integer 図形の描画方法を制御するフラグです。
xyArray() 必須 Double コントロール ポイントを定義する x 値と y 値が交互に表された配列です。内部図面単位 (インチ) を使用します。
knots() 必須 Double ノットの配列です。
重み 省略可能 バリアント型 太さの配列です。

戻り値

Shape

注釈

DrawNURBS メソッドでは、引数で指定された 1 つの NURBS セグメントで構成されるパスによって、新しい図形が作成されます。

コントロール ポイントは内部図面単位 (インチ) で表し、新しい図形を作成するページ、マスター シェイプ、またはグループの座標空間を基準とします。 xyArrayknots、および weights の配列は、参照渡しで SAFEARRAY 型の 8 バイト浮動小数点値にする必要があります (VT_R8|VT_ARRAY|VT_BYREF)。 Microsoft Visual Basic では、この方法で Automation オブジェクトに配列を渡します。

引数 knots には単位を付けません。 knots の配列では、値が減少していくような配列は使用できません。 言い換えると、 結び目( i + 1) <結び目( i )は許容されません。 knots( i + 1) = knots( i ) が許可され、値が繰り返されますが、次の制限が適用されます。

  • 最初のノットは、degree + 1 より多く繰り返すことはできません。
  • 最後のノットは繰り返せません。
  • 最初と最後の間にあるすべてのノットは、degree 回より多く繰り返すことはできません。
  • 最初のノットの繰り返し回数が degree + 1 より少ない場合、そのスプラインは periodic になります。
  • 太さの配列はオプションです。 太さを指定しない場合、そのスプラインが non-rational であることを示します。 太さには単位を付けません。

各配列のサイズには次のルールが適用されます。 スプラインが n 個のコントロール ポイントを持つ場合は、次のようになります。

  • スプラインが定期的な場合、 n> 2。 それ以外の場合は 、n>です。
  • xyArray のサイズは 2 n です
  • 重み配列のサイズは n (存在する場合) です。
  • knots 配列のサイズは n + 1 です。

従来の非周期スプラインは n + + 1 ノットを必要としますが、アプリケーションは最後に繰り返し 結び目 を意味します。 たとえば、degree 2 のノット配列 (0,0,0,2,5,8) は、Visio アプリケーションでは、従来のノット配列 (0,0,0,2,5,8,8,8) として解釈されます。

パラメーター Flags は、新しい図形を描画するときのオプションを指定するビットマスクです。 その値は、0 (0) または visSpline1D (8) のいずれかである必要があります。 FlagsvisSpline1D で、xyArray の最初と最後のポイントが一致しない場合、DrawNURBS メソッドは 1 次元 (1D) 動作を持つ図形を生成します。それ以外の場合は、2 次元 (2D) の動作を持つ図形が生成されます。

xyArray の最初のポイントと最後のポイントが一致する場合は、DrawNURBS メソッドによって、塗りつぶされた図形が生成されます。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。