v1.0
Returns the connection set group specifying an operator's input objects. When used with ApplyOp
and ApplyOperator, it allows picking objects to apply an operator to if no input objects are
supplied by the caller, or if secondary objects are required.
Note: This command uses output arguments. C# and some
scripting languages (such as JScript, PerlScript and Python) don't support arguments passed by reference. Normally
you can get the output arguments via either XSIApplication.ExecuteCommand method (C#) or the
ISIVTCollection (scripting languages), but this command
already returns a value.
The only available workaround in this case is to create a VBScript custom command which returns both the output
arguments and the return value in one array. For details, see
What Happens when the Function Already Returns a Value?.
oReturn = GetConnectionSet( PresetObj, [ConnectionSet], [CnxGroupType], [ConnectType], [Interactive], [CreateOutputObjs], [OutputObjs] ); |
Returns an XSICollection that contains a list of the connection sets created.
Parameter | Type | Description |
---|---|---|
PresetObj | String or a preset object (for example, an object obtained from SIGetPreset) | An Operator Preset. |
ConnectionSet | ConnectionSet |
Specifies the objects connected to an operator. See Operator Presets for details on the connection set required for this operator. Note: Because this is an in/out parameter, any string (variable or value) you pass into this parameter is automatically converted to a ConnectionSet object. Default Value:
Current selection. |
CnxGroupType | siCnxSetType |
Type of output connection set required. Default Value: siGroupLevel |
ConnectType | siBranchFlag |
Specifies the type of connection (node or branch). Default Value: siUnspecified |
Interactive | Boolean |
True to prompt user to pick objects, if ConnectionSet wasn't specified, or if there is nothing selected. Default Value: False |
CreateOutputObjs | Boolean |
True to create output primitive objects required by the operator. Default Value: False |
OutputObjs | XSICollection | Returns the primitives created by the operator. For example, Loft creates a primitive surface. |
' ' 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" |