ジャンプ先: 概要. 戻り値. 関連. フラグ. MEL 例.

概要

curve [-append] [-bezier] [-degree float] [-editPoint linear linear linear] [-knot float] [-objectSpace] [-periodic boolean] [-point linear linear linear] [-pointWeight linear linear linear float] [-replace] [-worldSpace] string

curve は、取り消し可能、照会不可能、および編集不可能です。

curve コマンドを使うと、コントロール頂点(CV)のリストから新規カーブを作成できます。新規作成されたカーブへのパス名を含む文字列が返されます。ワールド座標空間またはオブジェクト(ローカル)空間において、ウェイトを使ってまたは使わずに、ポイントからカーブを作成できます。「-r/replace」フラグを使用すると、既存のカーブを置き換えることができます。「-a/append」フラグを使用すると、ポイントを既存のカーブにアペンドできます。

カーブ オンサーフェスを作成するには、curveOnSurface コマンドを使用します。

カーブの次数を変更するには、rebuildCurve コマンドを使用します。

カーブのパラメータ範囲を変更するには、rebuildCurve コマンドを使用します。

戻り値

string新しいカーブまたは置き換えたカーブへのパス

関連

curveOnSurface

フラグ

append, bezier, degree, editPoint, knot, objectSpace, periodic, point, pointWeight, replace, worldSpace
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
-append(-a) create
既存のカーブの端にポイントをアペンドします。このフラグを使用する場合、アペンドするカーブの名前をコマンドの最後に指定する必要があります (以下の例を参照)。
-bezier(-bez) create
ベジェ カーブが作成されます。
-degree(-d) float create
新規カーブの次数。既定は 3 です。目に見えるカーブ スパンを作成するには、次数に 1 を足した数のカーブ ポイントが必要です。たとえば、3 次カーブには、4 個のポイントを配置する必要があります。
-editPoint(-ep) linear linear linear createmultiuse
エディット ポイントの x、y、z の位置。「linear」は、このフラグで単位を伴う値を取ることができることを意味します。このフラグは、-point フラグまたは -pointWeight フラグとは使用できません。
-knot(-k) float createmultiuse
ノット ベクトルにあるノットの値。ノット値ごとに 1 フラグ。(numberOfPoints + degree - 1)個のノットが必要で、ノット ベクトルは非減少型である必要があります。
-objectSpace(-os) create
ポイントはオブジェクト内または「ローカル」空間にあります。これは既定です。コマンド内で「-os」と「-ws」を同時に指定することはできません。
-periodic(-per) boolean create
オンの場合、周期的なカーブを作成します。既定はオフです。
-point(-p) linear linear linear createmultiuse
ポイントの x、y、z の位置。「linear」は、このフラグで単位を伴う値を取ることができることを意味します。
-pointWeight(-pw) linear linear linear float createmultiuse
ポイントの x、y、z、w の値。w はウェイト値です。このフラグを使うと、有理カーブが作成されます。「linear」は、このフラグで単位を伴う値を取ることができることを意味します。
-replace(-r) create
既存のカーブ全体を置き換えます。このフラグを使用する場合、置き換えるカーブの名前をコマンドの最後に指定する必要があります(以下の例を参照)。
-worldSpace(-ws) create
ポイントはワールド空間にあります。既定は「-os」です。コマンド内で「-os」と「-ws」を同時に指定することはできません。

フラグはコマンドの作成モードで表示できます フラグはコマンドの編集モードで表示できます
フラグはコマンドの照会モードで表示できます コマンド内でフラグを複数回使用できます。

MEL 例

curve -p 0 0 0 -p 3 5 6 -p 5 6 7 -p 9 9 9;
curve -pw 0 0 0 1 -pw 3 5 6 1 -pw 5 6 7 1 -pw 9 9 9 1;
curve -p 0cm 0cm 0cm -p 3in 5in 6in -p 5ft 6ft 7ft -p 9 9 9;
// These commands create curves with four control vertices.
// The first one is created without weights.  The third command
// shows how you can use units to specify position.

curve -r -p 0 0 0 -p 3 5 6 -p 10 12 14 -p 9 9 9 curve1;
// This command replaces an existing curve, curve1, with the given points.
// Do not use this flag on a curve that is a result of a construction
// history operation.

curve -a -p 13 13 13 -p 13 15 16 curve1;
// This command adds two CVs to an existing curve, curve1.
// The "-ws" flag can be used if the specified CVs are in world space.
// Do not use this flag on a curve that is a result of a construction
// history operation.

curve -p 0 0 0 -p 3 5 6 -p 5 6 7 -p 9 9 9 -p 12 10 2 -k 0 -k 0 -k 0 -k 1 -k 2 -k 2 -k 2;
// This command creates a curve with five control vertices,
// with a knot vector. Notice that there must be
// (number of CVs + degree - 1) knots and that the knot
// vector must be non-decreasing.

curve -per on -p 0 0 0 -p 3 5 6 -p 5 6 7 -p 9 9 9 -p 0 0 0 -p 3 5 6 -p 5 6 7 -k -2 -k -1 -k 0 -k 1 -k 2 -k 3 -k 4 -k 5 -k 6;
// This command creates a closed (or "periodic") curve with
// four distinct CVs. You must specify a knot vector when the
// "-per" flag is used. Notice that the first "degree" points
// are the same as the last "degree" points (ie. the first three
// points are the same as the last three points). Notice also
// that the knot spacing between the first "degree" knots must
// be the same as the spacing between the last "degree" knots
// (ie. the space between the 1st and 2nd knots is the same as
// the space between the 7th and 8th knots, and the space between
// the 2nd and 3rd knots is the same as the space between the
// 8th and 9th knots). There must be space between the first
// "degree" knots, unlike the previous example, where the first
// "degree" knots are the same.

// How to query curve properties:

getAttr "curve1.degree";
// This returns the degree of the curve.  Note that the
// number of CVs = degree + spans.
getAttr "curve1.spans";
// This returns the number of spans in the curve.  Note that the
// number of CVs = degree + spans.
getAttr "curve1.form";
// This returns the curve form.
getAttr "curve1.minValue";
// This returns the minimum parameter value on the curve.
getAttr "curve1.maxValue";
// This returns the maximum parameter value on the curve.
getAttr "curve1.cv[0]";
// This returns the local x,y,z of the 1st CV.  Use a curve info node if
// the curve is a result of a construction history operation.
getAttr "curve1.cv[0:2]";
// This returns the local x,y,z of the 1st three CVs.  Use a curve info
// node if the curve is a result of a construction history operation.
getAttr "curve1.cv[*]";
// This returns the local x,y,z of all CVs.  Use a curve info node if
// the curve is a result of a construction history operation.
arclen curve1;
// This returns the arc length of the curve.  Use "-ch" flag with
// the arclen command to get a curve info node that constantly updates
// to the current arc length.
createNode curveInfo;
connectAttr curveShape1.worldSpace curveInfo1.inputCurve;
getAttr "curveInfo1.knots[*]";
// This sequence creates a curve info node, connects the info node to the
// curve and queries the knot vector of the curve using the curve info node.
// You can use the curve info node to query other attributes such as
// world space CV values and arc length.