MAXScript Language Reference > 3ds Max Objects > Animation Controllers > Controller Common Properties, Operators, and Methods >

# Time and Key Functions on Object Hierarchies

| Animation Controllers - Quick Navigation

Certain of the controller time and key functions can be called on any 3ds Max object or collection of 3ds Max objects, not just individual controllers. If called in this way, they apply recursively to all the nested controllers within those objects and on any on sub-objects and sub-controllers within those objects. In this way, they work in a manner similar to the object-level tracks in the 3ds Max Track View that allow you to manipulate keys and time for all the sub-objects and sub-controllers within them.

The time and controller functions that work this way are:

     deleteTime reverseTime scaleTime insertTime setTimeRange

     addNewKey deleteKeys selectKeys deselectKeys moveKeys sortKeys reduceKeys

     addEaseCurve deleteEaseCurve setBeforeORT setAfterORT enableORTs

The above functions can be called on any 3ds Max object collection (such as a wild-card pathname or object set or array of objects ) and will recursively apply to all animation within those objects. If they are called on components within an object that themselves have nested controllers, they are applied to all those nested controllers - see the examples below.

NoteAn exception to the above behavior is the setTimeRange function which will be applied recursively only when a #linkToKeys argument is provided. See setTimeRange for details.

EXAMPLES
    insertTime $box01.xform 0f 10f
all keys after 0f in all controllers in the xform modifier are moved by 10f
    insertTime $box01 0f 10f
all keys after 0f in box01 are moved (transform, creation, modifiers)
    selectKeys $box02.xform.gizmo.rotation.controller 0f 100f
selects keys in 0-100f , if controller is Euler, e.g., will select x, y and z keys
deleteTime $box* 10f 20f
delete time from frame 10 and frame 20 in all objects named $box* (works with any pathname or array of objects)
    insertTime $box03.children 0f 10f
inserts time in all controllers of all children of $box03
    reduceKeys $box01.modifiers 0.5 1f
applies key reductions to all controllers in all modifiers in $box01 (leaves transform and creation parameters alone)

#### See Also

- Controller Key Functions

- Controller Time Functions

- Controller Common Properties, Operators, and Methods

- Animation Controllers