SICreateLayerFromSelection2
 
 
 

SICreateLayerFromSelection2

Introduced

v8.0 (2010)

Description

Creates a new layer and adds the selection to it but does not make the layer current.

This command is similar to the SICreateLayerFromSelection command except that it does not use output arguments so it is safe to use with languages that don't support passing arguments by reference, such as JScript and Python.

Scripting Syntax

oReturn = SICreateLayerFromSelection2( [PresetObj], [Name], [InputObjs], [LayerGroupName] );

Return Value

Returns the Layer.

Parameters

Parameter Type Description
PresetObj String or a preset object (for example, an object obtained from SIGetPreset) Layer preset to use

Default Value: "Default_New_Layer"

Possible Values:

Description:

Default_New_Layer Default new layer
Name String Name of the new layer
InputObjs String List of objects to move to the layer

Default Value: Selected objects

LayerGroupName String Name of the layer group that will contain the new layer

Default Value: If not specified, the group containing the current layer will be used.

Examples

1. Python Example

#
# This example shows how to use the current selection
# to create a new layer and set that layer to current
#
app = Application
app.NewScene(None, False)
app.CreatePrim("Cylinder", "MeshSurface")
app.CreatePrim("Sphere", "MeshSurface")
app.ToggleSelection("cylinder", None, True)
# Now create the layer from the selection, put it into a new layer group and make it current
oNewLayer = app.SICreateLayerFromSelection2(None, "LayerA", None, "GroupA")
app.SetCurrentLayer(oNewLayer)

2. JScript Example

/*
        This example demonstrates how to create a new layer
        and set it to be the current layer
*/
// Setup
NewScene( null, false );
CreatePrim("Cylinder", "MeshSurface", null, null);
CreatePrim("Sphere", "MeshSurface", null, null);
ToggleSelection("cylinder", null, true);
// Get initial settings
checkCurrLayer();
// Make a new layer into a new layer group (it is *not* automatically set as current)
var oNewLayer = SICreateLayerFromSelection2( null, "LayerA", null, "GroupA" );
checkCurrLayer();
// Now explicitly set the new layer as current and check again
SetCurrentLayer( oNewLayer );
checkCurrLayer();
function checkCurrLayer()
{
        // What is the current layer?
        var oCurrLayer = GetCurrentLayer()(0);
        Application.LogMessage( "Current layer is....." + oCurrLayer.FullName );
        Application.LogMessage( "Current layer is in layer group....." + oCurrLayer.LayerGroupName.Value );
}
// Expected result:
//INFO : Current layer is.....Layers.Layer_Default
//INFO : Current layer is in layer group.....Group_Default
//INFO : Current layer is.....Layers.Layer_Default
//INFO : Current layer is in layer group.....Group_Default
//INFO : Current layer is.....Layers.LayerA
//INFO : Current layer is in layer group.....GroupA

3. Python Example

#
# This example demonstrates how to 
# create a layer from a group
#
app = Application
app.NewScene( "", 0 )
# Create two nulls 
app.GetPrim( "Null" )
app.GetPrim( "Null" )
# Add them to a new group
oGroup = app.CreateGroup( "NullsGroup", "null*" )
# Move the group to a new layer into a new layer group
oNewLayer = app.SICreateLayerFromSelection2( "", "LayerNulls", "", "Group_Nulls" )
app.SetCurrentLayer( oNewLayer )

See Also

SICreateLayer SICreateLayer2 SICreateLayerFromSelection CreateLayer