v1.0
operator
オペレータの入力オブジェクトを指定する接続セットのグループを戻します。 ApplyOpおよびApplyOperatorとともに使用すると、呼び出し側で入力オブジェクトが供給されない場合や、別のオブジェクトが要求される場合に、オペレータを適用するオブジェクトを選択できるようになります。
注: このコマンドは、出力引数を使用します。 C#
および一部のスクリプト言語(JScript、PerlScript、Python
など)は、リファレンスによって渡される引数をサポートしていません。 通常、出力引数は XSIApplication.ExecuteCommand
メソッド(C#)または ISIVTCollection
(スクリプト言語)を介して取得できますが、このコマンドはすでに値を返しています。
この場合の唯一の回避策は、出力引数と戻り値の両方を 1 つの配列で戻す VBScript のカスタム コマンドを作成することです。
詳細については、「関数がすでに値を戻している場合の処理について」を参照してください。
oReturn = GetConnectionSet( PresetObj, [ConnectionSet], [CnxGroupType], [ConnectType], [Interactive], [CreateOutputObjs], [OutputObjs] ); |
作成された接続セットのリストを含むXSICollectionを戻します。
| パラメータ | タイプ | 詳細 |
|---|---|---|
| PresetObj | 文字列またはプリセット オブジェクト(SIGetPreset から取得されたオブジェクトなど) | オペレータ プリセット。 |
| ConnectionSet | ConnectionSet | オペレータに接続されるオブジェクトを指定します。 このオペレータに必要な接続セットの詳細については、「オペレータ プリセット」を参照してください。 注: これは入/出力パラメータのため、このパラメータに渡した任意の文字列(変数または値)は、自動的に ConnectionSet オブジェクトに変換されます。 デフォルト値:
現在選択されている値 |
| CnxGroupType | siCnxSetType | 必要な出力接続セットの種類
デフォルト値: siGroupLevel |
| ConnectType | siBranchFlag | 接続タイプ(ノードまたはブランチ)を指定します。
デフォルト値: siUnspecified |
| Interactive | ブール | ConnectionSet が指定されていない場合や、何も選択されていない場合に、ユーザにオブジェクト選択を要求するには
True。
デフォルト値: False |
| CreateOutputObjs | ブール | True を設定すると、オペレータが必要とするプリミティブ オブジェクトが作成されます。
デフォルト値: False |
| OutputObjs | XSICollection | オペレータによって作成されたプリミティブを戻します。 たとえば、Loft はプリミティブ サーフェイスを作成します。 |
'
' Apply a simple Twist operator on a sphere:
set oSphere = CreatePrim( "Sphere", "MeshSurface" )
set cnxsetlist = GetConnectionSet( "Twist", oSphere, siGroupLevel )
set TwistOp = ApplyOperator( "Twist", cnxsetlist(0) )
Application.LogMessage "New Twist operator: " & TwistOp
' Prepare to create apply a Loft operator
oCircle = CreatePrim( "Circle", "NurbsCurve" )
Rotate oCircle, 0, 90, 0
Duplicate oCircle , 2, 2, 1, 1, 0, 0, 1, 0, 1, , , , , , , 1.0
AddToSelection oCircle
' Now, apply a Loft on the current selection (3 circles).
' We've requested that GetConnectionSet generates the output surface.
set cnxsetlist = GetConnectionSet( "Loft", , siGroupLevel, , , True, SrfMshObjCreated )
if cnxsetlist.Count <> 0 then
LoftOp = ApplyOperator( "Loft", cnxsetlist(0) & ";" & SrfMshObjCreated )
LogMessage "New Loft operator: " & LoftOp
end if
' By deselecting all curves before calling GetConnectionSet,
' we could have set the "Interactive" argument to True so that
' the user is then requested to pick the curves as input to the Loft operator.
' Running this script should log the following:
' ---------------------------------------------
'INFO : "New Twist operator: sphere.polymsh.twistop"
'INFO : "New Loft operator: surfmsh.surfmsh.loft"
|