SICreateLayerFromSelection2

導入

v8.0 (2010)

カテゴリ

layer

詳細

新規レイヤを作成して選択オブジェクトをそのレイヤに追加しますが、現在のレイヤにはしません。

このコマンドは SICreateLayerFromSelection と似ていますが、出力引数は使用されないので、JScript や Python などのリファレンスによって渡される引数をサポートしていない言語で安全に使用することができます。

スクリプト構文

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

戻り値

レイヤを戻します。

パラメータ

パラメータ タイプ 詳細
PresetObj 文字列またはプリセット オブジェクト(SIGetPreset から取得されたオブジェクトなど) 使用するレイヤのプリセット

デフォルト値: "Default_New_Layer"

指定可能な値:

説明:

Default_New_Layer デフォルトの新しいレイヤ
Name 文字列 新しいレイヤの名前
InputObjs 文字列 レイヤに移動するオブジェクトのリスト

デフォルト値: 選択されたオブジェクト

LayerGroupName 文字列 新しいレイヤが追加されるレイヤ グループの名前

デフォルト値:指定されていない場合は、現在のレイヤが含まれるグループが使用されます。

1. Python の例

#
# 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 の例

/*
        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 の例

#
# 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 )

関連項目

SICreateLayer SICreateLayer2 SICreateLayerFromSelection CreateLayer