InsertCurveKnot

導入

v5.0

詳細

指定の多重度を持つノットをカーブの指定の場所に挿入します。 多重度が 1 の場合はノットの CV(コントロール バーテックス)が 1 つだけ作成されますが、不連続性コントロールは作成されません(カーブがリニアである場合を除く)。 3 次カーブに対して多重度が 3 である場合は、ノットに 3 つの CV が作成されます。このため、不連続性を完全に制御できます(コーナーの作成など)。

スクリプト構文

oReturn = InsertCurveKnot( [ConnectionSet], [Multiplicity], [ImmediateMode] );

戻り値

オペレータXSICollection

注: ImmediateMode パラメータが siImmediateOperation に設定されている場合、オペレータは戻されません。

パラメータ

パラメータ タイプ 説明
ConnectionSet ConnectionSet 新しいノットを挿入するカーブ位置を指定します。

デフォルト値: 現在選択されているコンポーネント

警告: 接続セットが無効だと、エラーが発生します。 スクリプトの中断を防ぐため、このオペレータに必要な接続セットを確認してください。

Multiplicity Integer ノットの多重度

デフォルト値: 1

指定可能な値:

説明:

1 シングルノット(NURBS リニアカーブのベジェ風ノット)
2 ダブルノット(NURBS クワドラティックカーブのベジェ風ノット)
3 トリプルノット(NURBS キュービックカーブのベジェ風ノット)
ImmediateMode siOperationMode オペレータを即座にフリーズするかどうかを指定します。

デフォルト値: siPersistentOperation

1. VBScript の例

' 

'	This example creates a simple curve, selects an isopoint, and creates a bezier-knot

'	at this location.

' 

SICreateCurve "crvlist", 3, 0

SIAddPointOnCurveAtEnd "crvlist", -4, 2, 0, False, 0

SIAddPointOnCurveAtEnd "crvlist", -5, -2, 0, False, 0

SIAddPointOnCurveAtEnd "crvlist", -2, -2, 0, False, 0

SIAddPointOnCurveAtEnd "crvlist", -1, 2, 0, False, 0

SIAddPointOnCurveAtEnd "crvlist", 2, 2, 0, False, 0

SIAddPointOnCurveAtEnd "crvlist", 2, -2, 0, False, 0

SetSelFilter "Isopoint"

SelectObj "crvlist.isopnt[(0,0.489)]"

InsertCurveKnot "crvlist.isopnt[(0,0.489)]", 3, siPersistentOperation

2. JScript の例

/*

	This example creates a simple curve, selects an isopoint, and creates a bezier-knot

	at this location.

*/

SICreateCurve("crvlist", 3, 0);

SIAddPointOnCurveAtEnd("crvlist", -4, 2, 0, false, 0);

SIAddPointOnCurveAtEnd("crvlist", -5, -2, 0, false, 0);

SIAddPointOnCurveAtEnd("crvlist", -2, -2, 0, false, 0);

SIAddPointOnCurveAtEnd("crvlist", -1, 2, 0, false, 0);

SIAddPointOnCurveAtEnd("crvlist", 2, 2, 0, false, 0);

SIAddPointOnCurveAtEnd("crvlist", 2, -2, 0, false, 0);

SetSelFilter("Isopoint");

SelectObj("crvlist.isopnt[(0,0.489)]", null, null);

InsertCurveKnot("crvlist.isopnt[(0,0.489)]", 3, siPersistentOperation);