## DeleteObj

### Introduced

v1.0

### Description

Deletes the object(s) specified by name (SIObject.Name). There are special rules for deleting objects in hierarchy, such as parent nodes or models. To delete the entire hierarchy, you must use branch-deletion: either use the "B:" prefix in the InputObj argument or first branch-select the target and leave the InputObj argument empty. See the Python example for a demonstration of both of these methods.

### Scripting Syntax

    DeleteObj( [InputObj] );

### Parameters

Parameter | Type | Description
--- | --- | ---
InputObj | String | List of objects to delete.

### Examples

#### 1. VBScript Example

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

#### 2. JScript Example

    /*
            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 Example

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

### See Also

Dealing with Hierarchy SelectObj