## X3DObject.AddModel

### Description

Creates a new model given a list of children objects and a name. The new model is parented under this X3DObject.

### C# Syntax

    Model X3DObject.AddModel( Object in_inputObjects, Object in_strName );

### Scripting Syntax

    oReturn = X3DObject.AddModel( [Items], [Name] );

### Return Value

Model

### Parameters

Parameter | Type | Description
--- | --- | ---
Items | XSICollection or X3DObject | An X3DObjectCollection or a single X3DObject
Name | String | Name of new Model

### Examples

#### 1. JScript Example

    NewScene( null, false );
    var oRoot = Application.ActiveSceneRoot;
    var oNull = oRoot.AddNull( "MyNull" );
    // Put the Null in a model
    oRoot.AddModel( oNull, "ModelForNull" );
    // Create 3 objects and put them in an XSICollection
    var oCollection = XSIFactory.CreateActiveXObject( "XSI.Collection" );
    oCollection.Add( oRoot.AddNull("AnotherNull") );
    oCollection.Add( oRoot.AddPrimitive("Camera") );
    oCollection.Add( oRoot.AddGeometry("Sphere", "MeshSurface") );
    // Put all of these objects into another Model
    oRoot.AddModel( oCollection, "ModelForOtherStuff" );
    // Create a model with nothing in it
    oCollection.RemoveAll();
    oRoot.AddModel( oCollection, "EmptyModel" );

#### 2. VBScript Example

    Option Explicit
    NewScene , false
    main()
    sub main()
            dim oRoot
            set oRoot = Application.ActiveProject.ActiveScene.Root
            oRoot.AddModel oRoot.Children, "Sally"
            WriteModels oRoot
    end sub
    function WriteModels( in_obj )
            dim list, n, i, mdls
            set mdls = in_obj.Models(0)
            n = mdls.Count
            if n = 0 then
                    exit function
            end if
            for i=0 to n-1
                    Application.LogMessage mdls(i).Name
                    WriteModels mdls(i)
            next
    end function
    ' Expected results:
    'INFO : Sally