GetConnectionSet

Introduced

v1.0

Description

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?.

Scripting Syntax

oReturn = GetConnectionSet( PresetObj, [ConnectionSet], [CnxGroupType], [ConnectType], [Interactive], [CreateOutputObjs], [OutputObjs] );

Return Value

Returns an XSICollection that contains a list of the connection sets created.

Parameters

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.

Warning: An error occurs if the connection set is invalid. Please verify the connection set required for this operator to avoid breaking your scripts.

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.

Examples

VBScript Example

'

' 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"

See Also

ApplyOperator ApplyOp