Find (ICEDataModifierNo deCollection)

Description

Returns the first member of this collection that matches the find criteria. If no item is found, it returns "Nothing", which you can use to trap errors.

Scripting Syntax

    ICEDataModifierNodeCollection.Find( [Type] )

Parameters

Parameter | Type | Description
Type | String | Object type (see siType for a list of possible values)

Return Value

Object (type varies according to find criteria).

Examples

1. VBScript Example

    '
    '  This example demonstrates how to find X3DObject objects
    '

    ' Set up the example using a mesh grid, cube, cone, and a nurbs cube:
    set oRoot = activesceneroot
    oRoot.addgeometry "grid", "meshsurface"
    oRoot.addgeometry "cube", "meshsurface"
    oRoot.addgeometry "cone", "meshsurface"
    oRoot.addgeometry "cube", "nurbssurface"

    set oGeoms = oRoot.findchildren( ,,siGeometryFamily)
    logmessage "The collection of geometry from the root is a " & typename( oGeoms )
    logmessage "There are " & oGeoms.count & " geometry objects under the root."
    logmessage ""

    for each item in oGeoms
       logmessage item.name & " is a " & item.type & " " & typename( item )
    next

    set oCone = oGeoms.find( "cone" )
    set oCube = oGeoms.find( "cube" )
    set oGrid = oGeoms.find( "grid" )

    logmessage ""
    logmessage "=========================================================================="
    logmessage " Stats for the collection:"
    logmessage " ------------------------"
    logmessage " Total number of objects in collection: " & oGeoms.count
    logmessage " Name of the first cone in the collection: " & oCone.name
    logmessage " Name of the first cube in the collection: " & oCube.name

    ' Try some error trapping ( if you are trying to use a find criteria that returns Nothing,
    ' you will see this error message: 'ERROR : "Object required: 'oCube1'" )
    set oCube1 = oGeoms.find( "cube1" )
    if typename( oCube1 ) = "Nothing" then
       logmessage " Can't get the name of the other cube in the collection."
    else
       logmessage " Name of the other cube in the collection: " & oCube1.name
    end if

    logmessage " Name of the first grid in the collection: " & oGrid.name

    ' Output of above script is:
    'INFO : "The collection of geometry from the root is a X3DObjectCollection"
    'INFO : "There are 4 geometry objects under the root."
    'INFO : ""
    'INFO : "grid is a polymsh X3DObject"
    'INFO : "cube is a polymsh X3DObject"
    'INFO : "cone is a polymsh X3DObject"
    'INFO : "cube1 is a surfmsh X3DObject"
    'INFO : ""
    'INFO : "=========================================================================="
    'INFO : " Stats for the collection:"
    'INFO : " ------------------------"
    'INFO : " Total number of objects in collection: 4"
    'INFO : " Name of the first cone in the collection: cone"
    'INFO : " Name of the first cube in the collection: cube"
    'INFO : " Can't get the name of the other cube in the collection."
    'INFO : " Name of the first grid in the collection: grid"

2. JScript Example

    /*
       This example demonstrates how to find Cluster objects
    */

    NewScene( null, false );

    var obj = CreatePrim( "Cube", "MeshSurface" );

    CreateCluster("cube.pnt[2,3,6,LAST]");
    CreateCluster("cube.poly[1]");
    CreateCluster("cube.edge[0,1,3,5-8,LAST]");
    CreateCluster("cube.sample[0,3-9,12,15,20,21]");

    // find the cluster using the siType constant.
    var cls = obj.activeprimitive.geometry.clusters.find( siPolygonCluster );

    if ( cls != null )
       logmessage( "found polygon cluster: " + cls.fullname );

    //Expected results:
    //INFO : found polygon cluster: cube.polymsh.cls.Polygon

3. Python Example

    #
    #  This example demonstrates how to to find PlayControl Property objects
    #  under the scene root
    #

    PlayCtrlProp = Application.ActiveProject.Properties.Find( "PlayControl" )
    try :
       if Application.ClassName(PlayCtrlProp) == "Property" :
           Application.LogMessage( "PlayControl property OK" )
       else :
           Application.LogMessage( "PlayControl property NOT found" )
    except :
       Application.LogMessage( "PlayControl property NOT found" )

    # Output of above script:
    #INFO : PlayControl property OK

Autodesk Softimage v7.5