DeleteObj

導入

v1.0

カテゴリ

edit

詳細

オブジェクトを名前(SIObject.Name)で指定して削除します。 親ノードやモデルなど、階層のオブジェクトを削除する場合は特別なルールに従う必要があります。 階層全体を削除するには、ブランチ削除を行う必要があります。InputObj 引数で「B:」プリフィックスを使用するか、まずターゲットをブランチ選択してから、InputObj 引数を空のままにします。 これらの方法の詳しい説明については、Python の例を参照してください。

スクリプト構文

DeleteObj( [InputObj] );

パラメータ

パラメータ タイプ 詳細
InputObj 文字列 削除するオブジェクトのリスト

1. VBScript の例

'
'       Simple example of how to delete a scene object.
'
GetPrim "Null"
DeleteObj "Null"

2. JScript の例

/*
        This example demonstrates how to delete a custom property from the scene.
*/
// Quick setup: custom property set on a torus
NewScene( null, false );
CreatePrim( "Torus", "MeshSurface", "InnerTube" );
AddProp( "Custom_parameter_list", "", "", "Buoyancy" );
SIAddCustomParameter( "InnerTube.Buoyancy", "Sideways", siDouble, 0, 0, 1, null, 5, 0, 1 );
SIAddCustomParameter( "InnerTube.Buoyancy", "Active", siBool, 0, 0, 1, null, 5, 0, 1 );
// Inspect the property set modally, then delete it if the user presses Cancel
var canceled = false;
while ( !canceled ) {
        canceled = InspectObj( "InnerTube.Buoyancy", "", "Buoyancy Settings", siModal, false );
}
// Deleting the property set completely removes it from the scene
DeleteObj( "InnerTube.Buoyancy" );

3. Python の例

#
#  This example shows how to delete a model.
#
app = Application
from win32com.client import constants as cns
app.NewScene("", 0);
# First create 2 simple models containing a sphere and a disc (respectively)
sph = app.CreatePrim("Sphere", "MeshSurface")
mdl1 = app.CreateModel(sph, "MySphModel")(0)
sph = app.CreatePrim("Disc", "MeshSurface")
mdl2 = app.CreateModel(sph, "MyDscModel")(0)
app.LogMessage(app.ActiveSceneRoot.Models.GetAsText())
# INFO : MySphModel,MyDscModel
# Try deleting it without any special selection mode
app.SelectObj(mdl1.Name)
app.DeleteObj()
app.LogMessage(app.ActiveSceneRoot.Models.GetAsText())
# INFO : MySphModel,MyDscModel
# The command failed because it wasn't selected in branch
# Now delete it in branch. Models must be branch-selected when deleting
app.SelectObj(mdl1.Name, "BRANCH")
app.DeleteObj()
app.LogMessage(app.ActiveSceneRoot.Models.GetAsText())
# INFO : MyDscModel
# Try the "B:" prefix without any selection mode for the second model
app.DeselectAll()
app.DeleteObj("B:"+mdl2.Name)
app.LogMessage(app.ActiveSceneRoot.Models.GetAsText())
# INFO :

関連項目

階層 SelectObj の取り扱い