SICreateLayerFromSelection2

SICreateLayerFromSelection2

導入

v8.0 (2010)

詳細

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

このコマンドは 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