NuanceTM Tcl Reference

Copyright 2014-2026 Lightstorm Entertainment, Inc. All rights reserved.

Copyright 2000-2014 Giant Studios All rights reserved.

Copyright 1998-2000 Biomechanics, Inc. All rights reserved.

Document Release 0.491.6


Introduction

  The complexity and variety of motion editing means that it is 
  difficult to create a single user interface that fits all needs.
  To handle this situation an extension language has been added to
  Nuance.  The use of an extension language enhances a group's or
  user's ability to customize the functions available. Tcl is a popular
  extension language that is available for a wide range of platforms
  and has a large base of existing documentation and utilities.  It is
  a simple language that is used in a similar way to a unix shell.
  Nuance utilizes Tcl in various ways. All user operations done in
  Nuance actually perform Tcl commands that are recorded and can be
  saved for later use.  This allows Tcl to be used for recording macros
  as well as writing new scripts by hand.  This also allows the user to
  easily determine the Tcl commands they need just by performing those
  operations in the interface.  By including Tk in this package, the
  user is able to write additional custom user interfaces of arbitrary
  complexity.

  This document describes the functionality that Nuance provides 
  through Tcl.  Included are information about the versions of Tcl 
  and Tk that are supported, the various files that are used, and a 
  listing of the commands that Nuance defines.

  Contact Information:

    E-Mail: capture-support@lightstormla.com

  Versions:
    
    Tcl 8.5
    Tk  8.5

  Reference Documents:

    Tcl and the Tk Toolkit
    John K. Ousterhout
    Addison-Wesley Publishing Company
    ISBN: 032133633X

    Practical Programming in Tcl and Tk
    Brent B. Welch
    Prentice Hall
    ISBN: 0130385603

  Files:

    $NU_DATA_DIR/tcllib/tcl7.6/init.tcl
    $NU_DATA_DIR/tcllib/tcl7.6/parray.tcl
    $NU_DATA_DIR/tcllib/tcl7.6/ldAout.tcl

      Files required by Tcl. These files should not be modified.

    $NU_DATA_DIR/tcllib/tk4.2/tclIndex
    $NU_DATA_DIR/tcllib/tk4.2/bgerror.tcl
    $NU_DATA_DIR/tcllib/tk4.2/button.tcl
    $NU_DATA_DIR/tcllib/tk4.2/clrpick.tcl
    $NU_DATA_DIR/tcllib/tk4.2/comdlg.tcl
    $NU_DATA_DIR/tcllib/tk4.2/console.tcl
    $NU_DATA_DIR/tcllib/tk4.2/dialog.tcl
    $NU_DATA_DIR/tcllib/tk4.2/entry.tcl
    $NU_DATA_DIR/tcllib/tk4.2/focus.tcl
    $NU_DATA_DIR/tcllib/tk4.2/listbox.tcl
    $NU_DATA_DIR/tcllib/tk4.2/menu.tcl
    $NU_DATA_DIR/tcllib/tk4.2/msgbox.tcl
    $NU_DATA_DIR/tcllib/tk4.2/obsolete.tcl
    $NU_DATA_DIR/tcllib/tk4.2/optMenu.tcl
    $NU_DATA_DIR/tcllib/tk4.2/palette.tcl
    $NU_DATA_DIR/tcllib/tk4.2/scale.tcl
    $NU_DATA_DIR/tcllib/tk4.2/scrlbar.tcl
    $NU_DATA_DIR/tcllib/tk4.2/tearoff.tcl
    $NU_DATA_DIR/tcllib/tk4.2/text.tcl
    $NU_DATA_DIR/tcllib/tk4.2/tk.tcl
    $NU_DATA_DIR/tcllib/tk4.2/tkfbox.tcl
    $NU_DATA_DIR/tcllib/tk4.2/xmfbox.tcl
    $NU_DATA_DIR/tcllib/tk4.2/updir.xbm
    $NU_DATA_DIR/tcllib/tk4.2/folder.gif
    $NU_DATA_DIR/tcllib/tk4.2/textfile.gif

      Files required by Tk. These files should not be modified.

    $NU_DATA_DIR/tcl/startup.tcl

      This script, if it exists, will be executed automatically
      whenever Nuance is started. It is executed before the script
      that may be specified on startup via the -tcl option. Modify
      startup.tcl to set initial conditions of Nuance which cannot be
      changed through the resource file. See "Help->On Configuration"
      in the main menu bar for a list of configuration options in the
      resource file.

  Acknowledgments:

    Tcl & Tk Tool Command Language & Toolkit
    Copyright (c) 1987-1994 The Regents of the University of California.
    Copyright (c) 1994 The Australian National University.
    Copyright (c) 1994-1998 Sun Microsystems, Inc.
    Copyright (c) 1998-1999 Scriptics Corporation.
    Copyright (c) 2002-2008 ActiveState Software Inc.

  Caveats:

    Warnings that are reported when using the interface, are not 
    reported when using Nuance Tcl commands directly.  An example of
    this is when an ASF animation is loaded that has a model that has
    a missing skin file.  When the .open_anim command is used directly
    (either typed in to the Tcl/Tk Dialog, or executed from a script),
    no warning is reported.

    User Tk widgets must be contained within a user created toplevel
    Tk widget.  Tk widgets created directly without a toplevel parent
    (Example: "button .btn -text OK -command ok") will exist, but 
    will not be visible to the user.

Conventions

  Command Syntax:
    A larger font is used for the actual command name.

    <italics> is used for non-literals.  The <> characters are not part
              of the actual command.

    [] are used for optional parameters and are not part of the actual
       command.raw_main.html

    | is used to denote OR and is not part of the actual command.

    () are used to group parameters and are not part of the actual
       command.

    {} are used for return values and for specifying a list with a
       specific format, and are not part of the actual command but may
       be used to specify the parameter.

    [...] is used to denote that the previous parameter may be repeated
          any number of times.

  Objects:
    
    Nuance defines 22 object types.

    The animation object provides a way to reference any animation in
    the animation hierarchy.

      Examples:

      .top_anim
      .top_anim.anim1
      .top_anim.anim2
      .top_anim.anim1.anim4

    The Scene object is a special type of animation that represents
    the parent of the .top_anim.  This object has limited utility.

    The Body object provides a way to reference any body in any
    animation.  The name consists of the animation object plus "body"
    and the body id.  Note that for ASF animations, the body id is 
    the same as the bone id + 1.

      Examples:

      .top_anim.body5
      .top_anim.anim1.body24

    The Poses, PoseGroup and Pose objects provide access to a set of
    poses.  Poses contains pose groups which contain one or more pose
    objects.

      Example:

      .poses.group1.pose1.set_name “open hand”

    The Browser object provides access to the current selection in the
    browser.

      Example:

      .browser.selected_anims

    The ASFInfo and AMCInfo objects provide access to header information
    from an animation's ASF and AMC files.

      Example:

      .asf_info.constants [.selected_body]
      .amc_info.length_units .top_anim

The BMOInfo object provides access to meta data from a Giant type
animation's motion.

Example:

.bmo_info.frame_rate .top_anim.anim1 The MWHUD and HUDText objects provide access to modify the main window's heads up display text. Note that there are two MWHUD
objects .mw_hud and .mw_split_view_hud. Example: set new_text [.mw_hud.create_text] $new_text.set_anchor_point 0.5 0.5 The FlipBook objects provides access to the Flip Book tool. Example: .flip_book.open .flip_book.render_to_memory The SceneLayout object provides access to the Scene tab object. Example: set sel_anims [.scene_layout.selected_anims] .scene_layout.set_select_anims $sel_anims The UI object provides a way to access information about the user interface: Examples: set mw_geo [.ui.get_geometry mw] set browser_geo [.ui.get_geometry browser] The MarkerPathSpline object provides access to the marker path
spline deformer. Example: .marker_path_spline.activate [.selected_marker] 38 1 100 .marker_path_spline.set_control_point_positions { { 1 10.0 10.0 10.0 } } .marker_path_spline.deactivate
The Charmappers and CM objects provide access to background Charmapper
instances. Multiple CM objects can be active simultaneously.

Example:

set cm_obj [.charmappers.create .top_anim.anim1]
$cm_obj.set_source_anim .top_anim.anim2
$cm_obj.load_charmap $file_name
The Curves and TimeWarpCurve objects provide access to fcurve graph curves.

Example:

set tw_curves[.curves.time_warp_curves]
set twc [.top_anim.anim1.attached_time_warp_curve]
$twc.detach_anim .top_anim.anim1

The CustomTools object provides access to the Custom Tools Panel.

Example:

.custom_tools.add_command_button "Foot Fixer" { foot_fixer_proc }
Special commands have been provided to help ease the use of these objects. {return of <tcl commands>} with <object> <tcl commands> Encloses a section of code where the default object is <object>. These control structures can be nested. Example: with .top_anim.anim1 { with body5 { puts [name] puts [id] } } {object list} with <object> Used with the endwith command to enclose a section of code where the default object is <object>. The with command can be nested within other with/endwith pairs. This form of the with command is intended for interactive use. Example: with .top_anim.anim1 with body5 puts [name] puts [id] endwith endwith endwith Used with the interactive form of the with command to enclose a section of code. {object list} with Returns the current default objects. Multiple objects are returned if with commands have been nested.

Animation Commands

{anim} .add_anim
    [-working]
    <anim> 
    [-frame_reduce ignore_fraction <fraction>]
[-frame_rate_override <value>] [-name <
string>] (<file name>) | (-obj [-units (in | ft | mm | cm | m)] <file name>) | (-audio [-frame_rate <rate>] <file name>) | (-image [-zoom_factor <factor>] <file name>) | (-image_seq <range start> <range end> [-step <step>] [-time_scaling <images fps> <base fps>] [-zoom_factor <factor>] [-matte <file name pattern>] <file name pattern>) | (-movie [-time_scaling <movie fps> <base fps>] [-zoom_factor <factor>] <file name>) | (-directional_light) | (-spot_light) | (-point_light) | (-fog) |
(-view))
Adds an animation as a child of an existing animation. Parameters: <anim> The animation that will contain the new animation. Options: -working If used, a working dialog will be managed while the command is being performed. -frame_reduce ignore_fraction <fraction> See <anim>.open_anim for details on this option. -name <string> Gives the new animation a name which will be displayed in the browser. Returns: The animation that was added. Forms: <file name> The animation file to load. -obj Parameters -units Specifies what units the obj file's coordinates are in. The default value is “in” (inches). <file name> The obj file to load. -audio Parameters -frame_rate <rate> The default value is 60.0. <file name> The audio file to load. -image Parameters -zoom_factor <factor> The default value is 1.0. <file name> The image file name to load. -image_seq Parameters <range start> <range end> Images are loaded with a pattern that contains a number component. This range is used to limit the images that match the pattern. -step <step> The step determines how to increment through the range numbers when matching files by the pattern. For example if the <range start> is 1, the <range end> is 6 and the <step> is 2 then only numbers 1 3 and 5 are used in the pattern. The default value for step is 1. -time_scaling <images fps> <base fps> The images fps is the rate at which the images would have to be played back to be considered playing in “real time”. The base fps is the rate at which the currently loaded animations in Nuance would have to be played to be considered playing in “real time”. -zoom_factor <factor> This specifies how much scaling to apply to the images when they are being displayed. The default value is 1.0. <file name pattern> The pattern to use to match files that will be loaded. The pattern can contain one # character that will be substitued by using the <range start>, <range end> and <step> parameters. Examples: “/usr/local/images/action1/image_#.tif” “/usr/local/images/action2/#.jpg” -movie Parameters: -time_scaling <movie fps> <base fps> The movie fps is the rate at which the movie would have to be played back to be considered playing in “real time”. The base fps is the rate at which the currently loaded animations in Nuance would have to be played to be considered playing in “real time”. -zoom_factor <factor> This specifies how much scaling to apply to the movie when it is being displayed. The default value is 1.0. <file name> The file name of the movie to load. -directional_light Adds a directional light animation. -spot_light Adds a spot light animation. -point_light Adds a point light animation. -fog Adds a fog animation.
-view Adds a view animation. See Also: .add_new_anim .edit_anim .remove_anim <anim>.frame_reduction

{anim} .add_new_anim
    [-working] 
    <anim>
    [-name <string>]
    [-frame_reduce ignore_fraction <fraction>]
[-frame_rate_override <value>] ([-giant [<
giant files>]] | [-bvh [<bvh files>]] | [-asf [<asf1 options>|<asf2 options>]] | [-htr [<htr files>]]) Where: <giant files> is {<mdl file> [<scl file>]} [<dof file> [<bmo file>]] <bvh files> is <bvh file> [<skin file>] <asf1 options> is [-skin_linear_units asf_units|in|cm]
[-enabled_skins none|<
skin index list>] <asf file>
[<
amc file>] <asf2 options> is [-replace_anim_transforms <boolean>]
[-replace_anim_frame_offset <boolean>] [-additional_skin {<asf2 skin def>}] …
[-enabled_skins none|<skin index list>] none|<asf file> [<amc file>] <htr files> is <htr file> [<skin file>] <asf2 skin def> is [-enable <boolean>] [-units (mm|cm|m|in|ft|yd)(*|/)<factor>] [-name_prefix_filter <replace string> <with string>] [-name_suffix_filter <replace string> <with string>] <skin file path> <skin name string> <link string> Adds a new animation as a child to an existing animation. See Also: .add_anim .remove_anim <anim>.frame_reduction

<anim>.add_group_persistent_frame <anim frame id>

  Causes the given frame of the animation group to be displayed
  regardless of what frame is currently being viewed.  The given
  frame's state is copied and is unaffected by motion editing
  operations.

  See Also:

    <anim>.group_has_persistent_frame
    <anim>.remove_group_persistent_frame
    <anim>.add_persistent_frame
    <anim>.has_persistent_frame
    <anim>.remove_persistent_frame

<anim>.add_persistent_frame <anim frame id>

  Causes the given frame of the animation be displayed regardless
  of what frame is currently being viewed.  The given frame's
  state is copied and is unaffected by motion editing operations.

  See Also:

    <anim>.has_persistent_frame
    <anim>.remove_persistent_frame
    <anim>.add_group_persistent_frame
    <anim>.group_has_persistent_frame
    <anim>.remove_group_persistent_frame

<anim>.add_range <name> [<anim frame id> <anim frame id>]

  Defines a range for this animation. This information will be
  included in the animation file when it is saved.

  Parameters:

    <name>

    The name for the range. Names must be unique within an
    the range list of an animation.

    <anim frame id> <anim frame id>

    The frame range to assign to the new range. If not
    specified, the current marked range is used.

  See Also:

    <anim>.ranges
    <anim>.range_frames
    <anim>.clear_ranges
    <anim>.remove_range
    <anim>.set_range_name
    <anim>.set_range_is_checked
    <anim>.range_is_checked

<anim>.add_skin
        [-enable <boolean>]
        [-units <skin units>]
        [-name_prefix_filter <replace string> <with string>]
        [-name_suffix_filter <replace string> <with string>]
        <path> 
        <name> 
        <link>

  Where <skin units> is:

    (mm|cm|m|in|ft|yd)(*|/)<factor>

  Adds an additional skin to the list of skins in an ASF
  type animation.

  Options:

    -enable <boolean>

    Determines whether the added skin is enabled.  
    Defaults to true.

    -units <skin units>

    Specifies the units of the skin file.

    -name_prefix_filter <replace string> <with string>

    Replaces the prefix of all names in the skin file before
    matching them to body names.

    -name_suffix_filter <replace string> <with string>

    Replaces the suffix of all names in the skin file before
    matching them to body names.

  Parameters:

    <path>

    The file name of the skin file.

    <name>

    The name to assign to the skin.

    <link>

    The root-most body to apply the skin to.

  See Also:

    <anim>.remove_skin
    <anim>.skin_paths
    <anim>.skin_names

<anim>.apply_view [-mw_view (primary|split)]

  Applies the view animation's settings to the 3D View of the main window.

  See Also:

    <anim>.is_view
    <anim>.update_view

{file name} <anim>.amc_file_name

  Returns the AMC file name of an animation or an empty string
  if none exists.

  See Also:

    <anim>.mdl_file_name
    <anim>.dof_file_name
    <anim>.bmo_file_name
    <anim>.scl_file_name
    <anim>.asf_file_name
    <anim>.htr_file_name
    <anim>.bvh_file_name
    <anim>.skin_file_name
    <anim>.image_file_name
    <anim>.movie_file_name
    <anim>.image_seq_file_names
    <anim>.audio_file_name
    <anim>.obj_file_name

{file name} <anim>.asf_file_name

  Returns the ASF file name of an animation or an empty string
  if none exists.

  For ASF/AMC v2.1 animations, if the ASF is not specified in the animation,
  the value of the :ASF tag from the AMC file will be returned.

  See Also:

    <anim>.mdl_file_name
    <anim>.dof_file_name
    <anim>.bmo_file_name
    <anim>.scl_file_name
    <anim>.amc_file_name
    <anim>.htr_file_name
    <anim>.bvh_file_name
    <anim>.skin_file_name
    <anim>.image_file_name
    <anim>.movie_file_name
    <anim>.image_seq_file_names
    <anim>.audio_file_name
    <anim>.obj_file_name

{time warp curve} <anim>.attached_time_warp_curve

  Returns the time warp curve this animation is attached to or an empty string.

  See Also:

    <time warp curve>.attach_anim
    <time warp curve>.detach_anim
    .curves.time_warp_curves

{file name} <anim>.audio_file_name

  Returns the audio file name of an animation or an empty 
  string if none exists.

  See Also:

    <anim>.mdl_file_name
    <anim>.dof_file_name
    <anim>.bmo_file_name
    <anim>.scl_file_name
    <anim>.asf_file_name
    <anim>.amc_file_name
    <anim>.htr_file_name
    <anim>.bvh_file_name
    <anim>.skin_file_name
    <anim>.image_file_name
    <anim>.movie_file_name
    <anim>.image_seq_file_names
    <anim>.obj_file_name

{<x> <y> <z>} <anim>.average_group_root_position <anim frame id>

  Returns the average global position for the root bodies
  in the animation group for the given frame.

  See Also:

    <anim>.group_root_bodies
    <anim>.root_bodies
    <body>.position

<anim>.bake_clip [-deep]

  Trims the animation to it’s clip range.

  Options:

    -deep

    If specified, sub animations will also have their clip ranges baked.

  See Also:

    <anim>.set_clip_range
    <anim>.clear_clip
    <anim>.has_clip

<anim>.bake_frame_offset [-deep]

  Sets the animation's frame offset to 0 and compensates for this
  change by modifying its contents so that the frame timing
  relative to the scene remains unchanged.

  Options:

    -deep

    When used, performs the bake operation on each animation
    of <anim>'s hierarchy.

  See Also:

    <anim>.set_frame_offset
    <anim>.frame_offset
    .to_scene_frame_id
    .from_scene_frame_id
<anim>.bake_transforms

<anim>.bake_transforms [-deep] [-bake_scaling]

  Bakes the transformations of this animation into this
  animation’s motion (if it has one) and adjusts the
  immediate child animations so that their global
  positions do not change. The resulting transforms of
  this animation will be identity (values of 0.0 for
  translations and rotations, and optionally, values of
  1.0 for scaling).

  Options:

    -deep

    If the direct child animations have no motion, find
    descendant animations that do and bake this animation’s
    transforms along with the in-between animations into
    that descendant animation.

    -bake_scaling

    By default, scaling is not baked by this command.

  See Also:

    <anim>.set_transform

{file name} <anim>.bmo_file_name

  Returns the BMO file name of an animation or an empty string
  if none exists.

  See Also:

    <anim>.mdl_file_name
    <anim>.dof_file_name
    <anim>.scl_file_name
    <anim>.asf_file_name
    <anim>.amc_file_name
    <anim>.htr_file_name
    <anim>.bvh_file_name
    <anim>.skin_file_name
    <anim>.image_file_name
    <anim>.movie_file_name
    <anim>.image_seq_file_names
    <anim>.audio_file_name
    <anim>.obj_file_name

{body list} <anim>.bodies

  Returns all of the bodies in this animation.

  See Also:

    <anim>.bodies_with_name
    <anim>.root_bodies
    <anim>.group_root_bodies
    <body>.children
    <body>.parent
    <body>.root_body
    <body>.anim
    .selected_body
    .marker_body
    .disabled_bodies
    .ik_trans_handle_body
    .viewpoint_attached_body

{body list} <anim>.bodies_with_name <string>

  Returns all of the bodies in this animation that have the given 
  name.

  Note that in Giant type animations, duplicate body names are allowed.

  See Also:

    <anim>.bodies
    <body>.name

{file name} <anim>.bvh_file_name

  Returns the BVH file name of an animation or an empty string
  if none exists.

  See Also:

    <anim>.mdl_file_name
    <anim>.dof_file_name
    <anim>.bmo_file_name
    <anim>.scl_file_name
    <anim>.asf_file_name
    <anim>.amc_file_name
    <anim>.htr_file_name
    <anim>.skin_file_name
    <anim>.image_file_name
    <anim>.movie_file_name
    <anim>.image_seq_file_names
    <anim>.audio_file_name
    <anim>.obj_file_name

{boolean} <anim>.can_be_streamed

  Returns true if this animation can be streamed to another
  application using the GSSD protocol.

  See Also:

    <anim>.is_streaming
    .enable_streaming
    .disable_streaming
    .streaming_anims

{coordinates} <anim>.center_of_mass [-global] [(<frame list> | <anim start frame id> <anim end frame id>]

  Where:

    <coordinates> is a list of 
      {<x> <y> <z>}

  Returns the current center of mass for the given animation over 
  the given frames.  If no frame ids are specified, the current
  frame id is used.

  Options:

    -global

    Returns the global coordinate of the center of mass.  By default
    the coordinates are returned relative to the animation's coordinate
    system.

  Parameters:

    frame list

    Calculate the center of mass for the list of frames.

    <anim start frame id> <anim end frame id>

    Calculate the center of mass for the frame range.

  See Also:

    <anim>.display_center_of_mass
    .create_center_of_mass_marker

<anim>.channel_delete_all_keys <channel name>

  Deletes all keys from an animation's channel.

  Currently, the only available channel name is “image_depth”.

  See Also:

    <anim>.channel_set_key
    <anim>.channel_set_value

<anim>.channel_set_key <channel name> <value> <anim frame id>

  Sets a key on an animation's channel.

  Currently, the only available channel name is “image_depth”.

  See Also:

    <anim>.channel_delete_all_keys
    <anim>.channel_set_value

<anim>.channel_set_value <channel name> <value>

  Sets the value of an animation's channel.

  Currently, the only available channel name is “image_depth”.

  See Also:

    <anim>.channel_delete_all_keys
    <anim>.channel_set_key

{anim list} <anim>.children

  Returns a list of animations that have this animation as their
  parent.

  See Also:

    <anim>.set_parent_anim

<anim>.clear_clip

  Undefines the animation’s clip range.

  See Also:

    <anim>.set_clip_range
    <anim>.clip_range
    <anim>.has_clip

<anim>.clear_frame_rate_override

  Clears any frame rate override defined for the animation.

  See Also:

    <anim>.frame_rate_override
    <anim>.set_frame_rate_override

<anim>.clear_parent_body [-keep_global_pos <anim frame id>]

  Detaches the animation from its parent body.  The animation will
  remain in its current parent animation.

  Options:

    -keep_global_pos <anim frame id>

    If used, when the animation is reparented it will maintain
    it's global position on the given frame.


  See Also:

    <anim>.set_parent_body
    <anim>.parent_body

<anim>.clear_ranges

  Clears all of the ranges defined for this animation.

  See Also:

    <anim>.ranges
    <anim>.range_frames
    <anim>.add_range
    <anim>.remove_range
    <anim>.set_range_name
    <anim>.set_range_is_checked
    <anim>.range_is_checked

<anim>.clear_transform_constraints

  Clears all body transformation locked states in the animation.

  See Also:

    <body>.lock_transform
    <body>.unlock_transform
    <anim>.load_transform_constraints
    <anim>.locked_transforms

{boolean} <anim>.clip_is_enabled

  Returns true if the animation clip is enabled.

  See Also:

    <anim>.set_clip_is_enabled

{<frame id> <frame id>} <anim>.clip_range [-anim_frame_ids]

  Returns the clip range that is defined for the animation.

  Options:

    -anim_frame_ids

    If specified, the return value will be anim frame ids otherwise
    the return value will be scene frame ids.

  See Also:

    <anim>.has_clip
    <anim>.set_clip_range
    <anim>.clear_clip
    <anim>.clip_is_enabled
    

<anim>.coincide_group 
    [-body <body>]
    [-axes { <axes> }] 
    { <x> <y> <z> }
    <anim coincide frame id> 
    [<anim first frame id> <anim last frame id>]

  Translates the motion in the animation group so that a body within the
  animation group ends up at a certain global location on a particular frame.

  Options:

    -body <body>

    The body to align to the position.  Defaults to the selected body.

    -axes { <axes> }

    Specifies the global axes that can be used when translating the
    animation group.  For example, if -axes { x z } are used, the body
    will be aligned to the position in x and z but not y.

  Parameters:

    <x> <y> <z>

    The position the body will be aligned to.

    <anim coincide frame id>

    The frame at which the body will be aligned.

    <anim first frame id> <anim last frame id>

    The frame range to translate.

  See Also:

    .create_blended_anim
    <body>.position

<anim>.create_timecode [-tc_anim_frame_id <anim frame id>] <anim fps> <tc fps> <tc string>
                                   [<start anim frame id> <end anim frame id>]

  Creates “master” timecode for frames of an animation’s motion.
Options:

-tc_anim_frame_id <anim frame id>
If specified, places <tc string> at the given anim frame id. Animation frame ids less
than 1 are permitted. Defaults to <start anim frame id>.

Parameters: <anim fps> The frame rate of the animation. <tc fps> The frame rate of the timecode. <tc string> The timecode value to use for <start anim frame id>. See the -tc_anim_frame_id option. <start anim frame id> <end anim frame id> Timecode will be generated over this range of animation frames. Animation frame ids less than 1 are permitted. Defaults to the existing frame range of the animation’s motion. See Also: <anim>.restripe_timecode <anim>.frame_timecode <anim>.set_timecode_rate

{anim frame id} <anim>.current_frame_id

  Returns the current frame id of the animation.

  See Also:

    <anim>.first_frame_id
    <anim>.first_group_frame_id
    <anim>.last_frame_id
    <anim>.last_group_frame_id
    <anim>.next_frame_id
    <anim>.next_group_frame_id
    <anim>.prev_frame_id
    <anim>.prev_group_frame_id
    .current_frame_id
    .first_group_frame_id
    .last_group_frame_id

<anim>.disable_transform_constraints

  Disables the effect of any existing transform constraints on this animation.

  See Also:

    <anim>.enable_transform_constraints
    <anim>.transform_constraints_are_enabled
    <anim>.load_transform_constraints

<anim>.display_center_of_mass <boolean>

  Displays or hides a marker like object which indicates the location
  of the center of mass for the given animation.

  See Also:

    <anim>.center_of_mass
    .create_center_of_mass_marker

{anim base float frame} <anim>.display_to_base_float_frame <anim display float frame>

  Converts an animation's display frame into its base frame. The display frame
of an animation is how it is laid out on the scene's timeline. This frame
position can be affected by, for example, a timewarp curve. A floating point
frame value is returned instead of a frame id which allows a more accurate
value to be return in the case where a timewarp curve is applied. See Also: <anim>.has_motion <anim>.first_frame_id <anim>.last_frame_id

{anim} <anim>.duplicate

  Duplicates this animation.

  See Also:

    .cut_anim
    <anim>.paste

{file name} <anim>.dof_file_name

  Returns the DOF file name of an animation or an empty string
  if none exists.

  See Also:

    <anim>.mdl_file_name
    <anim>.bmo_file_name
    <anim>.scl_file_name
    <anim>.asf_file_name
    <anim>.amc_file_name
    <anim>.htr_file_name
    <anim>.bvh_file_name
    <anim>.skin_file_name
    <anim>.image_file_name
    <anim>.movie_file_name
    <anim>.image_seq_file_names
    <anim>.audio_file_name
    <anim>.obj_file_name

{skin index list} <anim>.enabled_skins

  Returns a list of integer indices of the currently enabled
  skins in the animation.

  See Also:

    <anim>.set_enabled_skins

<anim>.enable_transform_constraints

  Enables any disabled transform constraints on this animation.

  See Also:

    <anim>.disable_transform_constraints
    <anim>.transform_constraints_are_enabled
    <anim>.load_transform_constraints

<anim>.export_bms <file name>

  Exports the animation as a BMS file.  A BMS file is a concatenation
  of the animation's MDL, DOF, BMO and SCL data.  Sub-animations are
  not included in the BMS.

  See Also:

    <anim>.save_motion
    <anim>.save

<anim>.export_wcam 
        [-convert_to_global] 
        <from rate>
        <to rate>
        <frame step>
        <file name>

  Exports a camera animation as a wcam file.

  Options:

    -convert_to_global

    If used, the camera's motion is transformed into
    the global coordinate system.

  Parameters:

    <from rate>

    The frame rate of the camera to export.

    <to rate>

    The frame rate to export the camera as.

    <frame step>

    A frame step of 1 will export every frame.  A
    frame step of 2 will export every other frame, etc.    

    <file name>

    The file name to export to.

  See Also:

    .camera

{file name} <anim>.file_name

  Returns the file name of the animation or an empty string if 
  the animation has no file name.

  See Also:

    <anim>.motion_file_name
    <anim>.set_file_name

{anim frame id} <anim>.first_frame_id [-useable] [-base] [-displayed]

  Returns the id of the first existing frame in the animation.

  Options:

    -useable

    Do not consider motion frames that are being clipped
    due to parent frame offsets.

    -base

    If specified, use the underlying animation's motion if there
    is a clip or timewarp curve applied to the animation.

-displayed If specified, use the displayed range. This option allows,
for example, retrieving the range of a timewarped animation.
See Also: <anim>.first_group_frame_id .first_group_frame_id <anim>.display_to_base_float_frame

{anim frame id} <anim>.first_group_frame_id [-useable]

  Returns the id of the first existing frame in the animation group.
  An animation group is defined as an animation and all of its sub
  animations.

  Options:

    -useable

    Do not consider motion frames that are being clipped
    due to parent frame offsets.


  See Also:

    <anim>.first_frame_id
    <anim>.last_group_frame_id
    <anim>.last_frame_id
    .first_group_frame_id
    .last_group_frame_id

{boolean} <anim>.frame_has_motion [-useable] [-base] [<anim frame id>]

  Returns true if the given frame exists for this animation.

  Options:

    -useable

    If specified, only frames that are not clipped due to parent
    frame offsets are considered to exist.

    -base

    If specified, use the underlying animation's motion if there
    is a clip or timewarp curve applied to the animation.

  Parameters:

    <anim frame id>

    The frame to query.  Defaults to the current anim frame id.

  See Also:

    <anim>.group_frame_has_motion

{value} <anim>.frame_offset

  Returns the frame offset of the animation relative to its parent
  animation.

  See Also:

    <anim>.set_frame_offset
    <anim>.bake_frame_offset
    .to_scene_frame_id
    .from_scene_frame_id

{boolean} <anim>.frame_offset_is_modified

  Returns true if this animation’s frame offset has changed since
  the animation was last saved or loaded.

  See Also:

    <anim>.transforms_are_modified
    <anim>.is_modified

{value} <anim>.frame_rate_override

  Returns the frame rate override for the animation. Returns nothing if no override is set.

  See Also:

    <anim>.set_frame_rate_override
    <anim>.clear_frame_rate_override

{frame reduction params} <anim>.frame_reduction

  Returns the parameters that were passed to Tcl command's -frame_reduce
  option.

  See Also:

    .open_anim
    .add_anim
    .new_anim
    .add_new_anim
    .open_motion

{timecode [<fraction>]} <anim>.frame_timecode [-fraction] [-useable] [-base] [<anim frame id>] [<stream name>]

  Returns the timecode for a frame, or an empty string. If the
  timecode value is drop-frame a separator character of ‘;’ will
  used for the frame value, otherwise ‘:’ will be used.

  Options:

    -fraction

    If given the returned value will also contain a floating
    point value between 0.0 and 1.0 that is the fractional
    part of the timecode frame number.

    -useable

    If specified, only frames that are not clipped due to
    parent frame offsets are considered to exist.

    -base

    If specified, use the underlying animation's motion if there
    is a clip or timewarp curve applied to the animation.

  Parameters:

    <anim frame id>

    The frame to query.  Defaults to the current scene frame id.

    <stream name>

    Animations can have multiple timecode streams.  Use this
    parameter to specify which stream to query.  Defaults to
    “master”.

  See Also:

    <anim>.get_frame_data
    <anim>.timecode_stream_names
    <anim>.create_timecode

{value} <anim>.get_data [<tag>]

  Retrieves user defined data from an animation.

  Parameters:

    <tag>

    The tag associated with the data that is to be retrieved.  If the
    tag is not specified, all of the user data is returned.  If there
    is no data associated with the given tag, an empty string is 
    returned.

  See Also:

    <anim>.set_data
    <anim>.get_frame_data

{data} <anim>.get_frame_data [-useable] [-base] <anim frame id> <tag>

  Retrieves extra data added to a frame of motion.

  Options:

    -useable

    If specified, only frames that are unclipped due to
    parent frame offsets are considered to exist.
    -base

    If specified, use the underlying animation's motion if there
    is a clip or timewarp curve applied to the animation.
Parameters: <anim frame id> The frame of motion containing the data. <tag> The tag associated with the data being requested. See Also: <anim>.set_frame_data <anim>.get_frame_range_data <anim>.remove_frame_data <anim>.get_frame_data_tags <anim>.set_data <anim>.get_data

{tag list} <anim>.get_frame_data_tags [-useable] [-base] <anim frame id>

  Retrieves a list of tags associated with extra data added to a 
  frame of motion.

  Options:

    -useable

    If specified, only frames that are unclipped due to
    parent frame offsets are considered to exist.
    -base

    If specified, use the underlying animation's motion if there
    is a clip or timewarp curve applied to the animation.
Parameters: <anim frame id> The frame of motion containing the extra data. See Also: <anim>.get_frame_range_data_tags <anim>.set_frame_data <anim>.get_frame_data <anim>.set_data <anim>.get_data

{data} <anim>.get_frame_range_data [-useable] <first anim frame id> <last anim frame id> <tag>

  Retrieves extra data added to a range of motion frames. The data is returned as a list of anim frame id/value pairs.

  Options:

    -useable

    If specified, only frames that are unclipped due to
    parent frame offsets are considered to exist.

  Parameters:

    <first nim frame id>

    The first frame of the motion range containing the data.
<last nim frame id> The last frame of the motion range containing the data. <tag> The tag associated with the data being requested. See Also: <anim>.get_frame_range_data_tags <anim>.set_frame_data <anim>.remove_frame_range_data <anim>.get_frame_data_tags <anim>.set_data <anim>.get_data

{tag list} <anim>.get_frame_range_data_tags [-useable] [-base] <first anim frame id> <last anim frame id>

  Retrieves a list of tags associated with extra data added to a 
  range of motion frames.

  Options:

    -useable

    If specified, only frames that are unclipped due to
    parent frame offsets are considered to exist.
    -base

    If specified, use the underlying animation's motion if there
    is a clip or timewarp curve applied to the animation.
Parameters:
<first anim frame id> The first frame of the motion range containing the extra data. <last anim frame id> The last frame of the motion range containing the extra data. See Also: <anim>.get_frame_range_data <anim>.get_frame_data_tags <anim>.set_frame_data <anim>.get_frame_data <anim>.set_data <anim>.get_data

{boolean} <anim>.group_frame_has_motion [<anim frame id>]

  Returns true if the given frame exists for this animation group.

  Parameters:

    <anim frame id>

    The frame to query.  Defaults to the current frame id.

  See Also:

    <anim>.frame_has_motion
    <anim>.group_has_motion

{value list} <anim>.get_transform [-global <anim frame id >] <transform list>

  Returns a list of values for the given list of animation transforms.

  Options:

  -global <anim frame id >

    If specified, the returned transform will be relative to the
    scene's coordinate system.  The animation's frame id is required
    since animations could be parented to bodies which could cause
    the animation's global transform to vary depending on the frame.

  Parameters:

    <transform list>

    The list of transforms to get the value of.

  Returns:

    The values of the given transformations.

  See Also:

    <anim>.set_transform

{boolean} <anim>.group_has_motion

  Returns true if the animation group has frames of motion.

  See Also:

    <anim>,has_motion
    <anim>.group_frame_has_motion

<anim>.group_has_persistent_frame <anim frame id>

  Returns true if the animation group has a persistent frame at the
  given frame id.

  See Also:

    <anim>.add_group_persistent_frame
    <anim>.remove_group_persistent_frame
    <anim>.add_persistent_frame
    <anim>.has_persistent_frame
    <anim>.remove_persistent_frame

{body list} <anim>.group_root_bodies [-with_transforms]

  Returns a list of root bodies in the animation group.

  Options:

    -with_transforms

    Return only root bodies in the animation group that have transformations.

  See Also:

    <anim>.root_bodies
    <anim>.average_group_root_position

{boolean} <anim>.has_clip

  Returns true if the animation has a clip range defined.

  See Also:

    <anim>.clip_range
    <anim>.clear_clip
    <anim>.set_clip_range

{boolean} <anim>.has_locked_transforms

  Returns true if any transform in the animation is locked.

  See Also:

    <anim>.locked_transforms

{boolean} <anim>.has_motion [-useable] [-base] [-displayed]

  Returns true if the animation has frames of motion.

  Options:

    -useable

    If specified, only consider frames not clipped as the result
    of parent frame offsets.

    -base

    If specified, use the underlying animation's motion if there
    is a clip or timewarp curve applied to the animation.

-displayed If specified, use the animation's displayed motion. This can, for example, return true if the animation is timewarped.
See Also: <anim>.display_to_base_float_frame <anim>.frame_has_motion

<anim>.has_persistent_frame <anim frame id>

  Returns true if the animation has a persistent frame at the given
  frame id.

  See Also:

    <anim>.add_group_persistent_frame
    <anim>.group_has_persistent_frame
    <anim>.remove_group_persistent_frame
    <anim>.add_persistent_frame
    <anim>.remove_persistent_frame

{file name} <anim>.htr_file_name

  Returns the HTR file name of an animation or an empty string
  if none exists.

  See Also:

    <anim>.mdl_file_name
    <anim>.dof_file_name
    <anim>.bmo_file_name
    <anim>.scl_file_name
    <anim>.asf_file_name
    <anim>.amc_file_name
    <anim>.bvh_file_name
    <anim>.skin_file_name
    <anim>.image_file_name
    <anim>.movie_file_name
    <anim>.image_seq_file_names
    <anim>.audio_file_name
    <anim>.obj_file_name

{color source} <anim>.hud_frame_tag_color_source <frame tag name>

  Returns the source of the color used when drawing the value of the
  frame tag in the Heads Up Display.

  Returns:

    {color source}

    This will be one of the following:

      default

      The color will be the default color of the Frame Tags HUD Text.

      anim_override

      The color will be the override color of this animation.

      explicit

      The color will be an explicit value.

  See Also:

    <anim>.set_hud_frame_tag_color_source
    <anim>.hud_frame_tag_explicit_color
    <anim>.set_override_color

{color} <anim>.hud_frame_tag_explicit_color <frame tag name>

  Returns the explicit color used when drawing the value of the frame tag
  in the Heads Up Display.

  See Also:

    <anim>.set_hud_frame_tag_explicit_color
    <anim>.hud_frame_tag_color_source

{boolean} <anim>.hud_frame_tag_show <frame tag name>

  Returns the state of the show attribute for the frame tag.

  See Also:

    <anim>.set_hud_frame_tag_show

{anim id} <anim>.id

  Returns the animation id of the animation.  The functionality
  of this Tcl command is identical to .anim_to_anim_id.

  See Also:

    .anim_to_anim_id
    .anim_from_anim_id

{number number} <anim>.image_dimensions

  Returns the image media dimensions of this animation.

  See Also:

    <anim>.image_is_film_plate
    <anim>.image_zoom_factor
    <anim>.image_overscan

{file name} <anim>.image_file_name

  Returns the image file name of an animation or an empty string if none
  exists.

  See Also:

    <anim>.mdl_file_name
    <anim>.dof_file_name
    <anim>.bmo_file_name
    <anim>.scl_file_name
    <anim>.asf_file_name
    <anim>.amc_file_name
    <anim>.htr_file_name
    <anim>.bvh_file_name
    <anim>.skin_file_name
    <anim>.movie_file_name
    <anim>.image_seq_file_names
    <anim>.audio_file_name
    <anim>.obj_file_name

{boolean} <anim>.image_is_film_plate

  Returns the Is Film Plate attribute value of the animation.

  See Also:

    <anim>.image_dimensions
    <anim>.image_overscan
    <anim>.image_zoom_factor

{value} <anim>.image_media_opacity_scale

  Returns the opacity scale attribute of an image media animation.

  See Also:

    <anim>.set_image_media_opacity_scale

{number} <anim>.image_overscan

  Returns the Image Overscan attribute value of the animation.

  See Also:

    <anim>.image_dimensions
    <anim>.image_zoom_factor
    <anim>.image_is_film_plate

{file name} <anim>.image_seq_file_names

  Returns the image sequence file names of an animation or an empty
  string if none exists.

  See Also:

    <anim>.mdl_file_name
    <anim>.dof_file_name
    <anim>.bmo_file_name
    <anim>.scl_file_name
    <anim>.asf_file_name
    <anim>.amc_file_name
    <anim>.htr_file_name
    <anim>.bvh_file_name
    <anim>.skin_file_name
    <anim>.image_file_name
    <anim>.movie_file_name
    <anim>.audio_file_name
    <anim>.obj_file_name

{number} <anim>.image_zoom_factor

  Returns the image media zoom factor of the animation. 

  See Also:

    <anim>.image_dimensions
    <anim>.image_is_film_plate
    <anim>.image_overscan

{boolean} <anim>.is_asf

  Returns true if the animation is an asf type animation.

  See Also:

    <anim>.is_giant
    <anim>.is_bvh
    <anim>.is_htr

{boolean} <anim>.is_asf_type **DEPRECATED**

  Returns true if the animation is an asf type animation.

  See Also:

    <anim>.is_asf
    
{boolean} <anim>.is_audio Returns true if the animation is audio. See Also: <anim>.is_giant <anim>.is_bvh <anim>.is_htr <anim>.is_movie

{boolean} <anim>.is_bvh

  Returns true if the animation is a bvh type animation.

  See Also:

    <anim>.is_asf
    <anim>.is_giant
    <anim>.is_htr

{boolean} <anim>.is_bvh_type  **DEPRECATED**

  Returns true if the animation is a bvh type animation.

  See Also:

    <anim>.is_bvh

{boolean} <anim>.is_camera
  Returns true if the animation is a camera.

  See Also:

    <anim>.is_wcam
    <anim>.is_view
    <anim>.is_movie
    <anim>.is_audio

{boolean} <anim>.is_directional_light

  Returns true if the animation is a directional light.

  See Also:

    <anim>.is_light
    <anim>.is_spot_light
    <anim>.is_point_light

{boolean} <anim>.is_fog

  Returns true if the animation is a fog.

  See Also:

    <anim>.is_light

{boolean} <anim>.is_giant

  Returns true if the animation is a Giant Studios type animation
that can have MDL/DOF/BMO/SCL components. Note that unlike
<anim>.is_giant_type this command will not return true for audio,
movie, image, image sequence, obj, fog, or camera type animations.

 See Also: <anim>.is_giant_type <anim>.is_asf <anim>.is_bvh <anim>.is_htr

{boolean} <anim>.is_giant_type

  Returns true if the animation is a Giant Studios type animation. Note
that unlike <anim>.is_giant this command will return true if it's not
an ASF, BVH or HTR type. See Also: <anim>.is_giant <anim>.is_asf <anim>.is_bvh <anim>.is_htr

{boolean} <anim>.is_htr

  Returns true if the animation is an htr type animation.

  See Also:

    <anim>.is_giant
    <anim>.is_asf
    <anim>.is_bvh

{boolean} <anim>.is_htr_type  **DEPRECATED**

  Returns true if the animation is an htr type animation.

  See Also:

    <anim>.is_htr

{boolean} <anim>.is_hidden

  Returns true if the animation is hidden.

  See Also:

    <anim>.set_is_hidden

{boolean} <anim>.is_image

  Returns true if the animation is an image.

  See Also:

    <anim>.is_image_sequence
    <anim>.is_movie

{boolean} <anim>.is_image_sequence

  Returns true if the animation is an image sequence.

  See Also:

    <anim>.is_image
    <anim>.is_movie
    <anim>.is_audio

{boolean} <anim>.is_light

  Returns true if the animation is a light.

  See Also:

    <anim>.is_point_light
    <anim>.is_spot_light
    <anim>.is_directional_light
    <anim>.is_fog

{boolean} <anim>.is_modified

  Returns true if an attribute of this animation has changed
  since the last time this animation was saved or loaded.

  See Also:

    <anim>.frame_offset_is_modified
    <anim>.transforms_are_modified

{boolean} <anim>.is_movie

  Returns true if the animation is a movie.

  See Also:

    <anim>.is_image_sequence
    <anim>.is_audio

{boolean} <anim>.is_obj
  Returns true if the animation is an obj.

  See Also:

    <anim>.is_giant
    <anim>.is_asf
    <anim>.is_htr
    <anim>.is_bvh

{boolean} <anim>.is_pickable

  Returns whether or not the animation's bodies can be
  interactively selected in the main 3D View.

  See Also:

    <anim>.set_is_pickable

{boolean} <anim>.is_point_light

  Returns true if the animation is a point light.

  See Also:

    <anim>.is_light
    <anim>.is_spot_light
    <anim>.is_directional_light

{boolean} <anim>.is_spot_light

  Returns true if the animation is a spot light.

  See Also:

    <anim>.is_light
    <anim>.is_point_light
    <anim>.is_directional_light

{boolean} <anim>.is_streaming

  Returns true if this animation is streaming to external
  applications using the GSSD protocol.

  See Also:

    <anim>.can_be_streamed
    .enable_streaming
    .disable_streaming
    .streaming_anims

{boolean} <anim>.is_view

  Returns true if the animation is a view.

  See Also:

    <anim>.apply_view
    <anim>.update_view
    <anim>.is_camera
    <anim>.is_movie

{boolean} <anim>.is_wcam

  Returns true if the animation is a wcam.

  See Also:

    <anim>.is_camera
    <anim>.is_view
    <anim>.is_movie

<anim>.load_transform_constraints
      [-name_prefix_filter <remove string> <add string>] 
           [-name_suffix_filter <remove string> <add string>] 
           <file name>

  Loads a transform constraints file into the animation.  A
  transform constraints file can be used to store the locked
  states of body transformations.

  Options:

    -name_prefix_filter <remove string> <add string>

    If specified, the body names in the transform constraints
    file are changed after loading by replacing any prefix 
    matching <remove string> with <add string>.  Either of
    these can be empty strings.

    -name_suffix_filter <remove string> <add string>

    If specified, the body names in the transform constraints
    file are changed after loading by replacing any suffix
    matching <remove string> with <add string>.  Either of
    these can be empty strings.

  Parameters:

    <file name>

    The transform constraints file to load.

  See Also:

    <anim>.reset_transform_constraints
    <anim>.clear_transform_constraints
    <anim>.disable_transform_constraints
    <anim>.enable_transform_constraints
    <anim>.locked_transforms
    <body>.lock_transform
    <body>.unlock_transform

{ { <body> <transform list> } ... } <anim>.locked_transforms

  Returns a list of bodies and their locked transforms for the given animation.

  See Also:

    <anim>.has_locked_transforms
    <body>.lock_transform
    <body>.unlock_transform
    <anim>.load_transform_constraints

{file name} <anim>.movie_file_name

  Returns the movie file name of an animation or an empty string if
  none exists.

  See Also:

    <anim>.mdl_file_name
    <anim>.dof_file_name
    <anim>.bmo_file_name
    <anim>.scl_file_name
    <anim>.asf_file_name
    <anim>.amc_file_name
    <anim>.htr_file_name
    <anim>.bvh_file_name
    <anim>.skin_file_name
    <anim>.image_file_name
    <anim>.image_seq_file_names
    <anim>.audio_file_name
    <anim>.obj_file_name

{anim frame id} <anim>.last_frame_id [-useable] [-base] [-displayed]

  Returns the last frame id of the animation.

  Options:

    -useable

    Do not consider motion frames that are being clipped
    due to parent frame offsets.

    -base

    If specified, use the underlying animation's motion if there
    is a clip or timewarp curve applied to the animation.

-displayed If specified, use the displayed range. This option allows,
for example, retrieving the range of a timewarped animation.
See Also: <anim>.last_group_frame_id <anim>.first_group_frame_id .last_group_frame_id <anim>.display_to_base_float_frame

{anim frame id} <anim>.last_group_frame_id [-useable]

  Returns the id of the last existing frame in the animation group.

  Options:


    -useable

    Do not consider motion frames that are being clipped
    due to parent frame offsets.

  See Also:

    <anim>.first_frame_id
    <anim>.last_frame_id
    <anim>.first_group_frame_id
    .last_group_frame_id

{file name} <anim>.mdl_file_name

  Returns the MDL file name of an animation or an empty string
  if none exists.

  See Also:

    <anim>.dof_file_name
    <anim>.bmo_file_name
    <anim>.scl_file_name
    <anim>.asf_file_name
    <anim>.amc_file_name
    <anim>.htr_file_name
    <anim>.bvh_file_name
    <anim>.skin_file_name
    <anim>.image_file_name
    <anim>.movie_file_name
    <anim>.image_seq_file_names
    <anim>.audio_file_name
    <anim>.obj_file_name

{motion file name} <anim>.motion_file_name

  Returns the name of the motion file associated with this animation.
  An empty string will be returned if the animation does not have a
  motion or if the motion does not have a file name.  If the animation 
  type is Giant, the bmo file name is returned.  If the animation type
  is ASF, the amc file name is returned.  If the animation type is HTR,
  the htr file name is returned.  If the animation type is BVH, the bvh 
  file name is returned.

  See Also:

    <anim>.file_name
    <anim>.bmo_file_name
    <anim>.htr_file_name
    <anim>.bvh_file_name

{boolean} <anim>.motion_is_modified [-check_meta_data <boolean>]

  Returns true if the animation has motion and that motion has changed
  since the last time the motion was loaded or saved.

Options:

-check_meta_data <boolean>

If true, the meta data of the motion is checked for changes. If false,
 only frame specific data is checked for changes.

Default value is true.

 See Also: <anim>.save_motion

{string} <anim>.name

  Returns the name associated with the animation which is displayed
  in the browser.

  See Also:

    <anim>.set_name

{anim frame id} <anim>.next_frame_id [-useable] [-base] [<anim frame id>]

  Returns the id of the next existing frame relative to another frame.

  Options:

    <anim frame id>

    Defaults to the current frame id of the animation.

    -useable

    Do not consider motion frames that are being clipped
    due to parent frame offsets.

    -base

    If specified, use the underlying animation's motion if there
    is a clip or timewarp curve applied to the animation.

  See Also:

    <anim>.next_group_frame_id
    <anim>.prev_frame_id
    <anim>.prev_group_frame_id

{anim frame id} <anim>.next_group_frame_id [-useable] [<anim frame id>]

  Returns the id of the next existing frame relative to another frame
  frame in the animation group.

  Options:

    <anim frame id>

    Defaults to the current frame id of the animation.

    -useable

    Do not consider motion frames that are being clipped
    due to parent frame offsets.

  See Also:

    <anim>.next_frame_id
    <anim>.prev_group_frame_id
    <anim>.prev_frame_id

{file name} <anim>.obj_file_name

  Returns the OBJ file name of an animation or an empty string
  if none exists.

  See Also:

    <anim>.mdl_file_name
    <anim>.dof_file_name
    <anim>.bmo_file_name
    <anim>.scl_file_name
    <anim>.asf_file_name
    <anim>.amc_file_name
    <anim>.htr_file_name
    <anim>.bvh_file_name
    <anim>.skin_file_name
    <anim>.image_file_name
    <anim>.movie_file_name
    <anim>.image_seq_file_names
    <anim>.audio_file_name

{anim} <anim>.parent_anim

  Returns the parent of the animation, or nothing if the animation
  is the top animation.

  See Also:

    <anim>.set_parent_anim
    <anim>.set_parent_body
    <anim>.parent_body

{body} <anim>.parent_body

  Returns the parent body of the animation or nothing if the
  animation is not parented to a body.

  See Also:

    <anim>.parent_anim
    <anim>.set_parent_body
    <anim>.clear_parent_body

<anim>.paste [-parent_body <body>] ([-keep_global_pos <anim frame id>]|[-keep_global_pos_per_frame]) [-keep_scene_timing]

  Pastes the currently cut animations as children of this 
  animation.

  Options:

    -parent_body <body>

    If specified, the given body within this animation
    will be the parent of the pasted animations.

    -keep_global_pos <anim frame id>

    If used, when the animations are reparented they will maintain
    their global position on the given frame by modifying the
    transformations of the pasted animations.

-keep_global_pos_per_frame

If used, when the animations are reparented they will maintain
their global positions on the given frame by modifying each
frame of motion. This option can be used to maintain the global
position of each frame of the cut animation's motion even if
the animation is parented to an animated body.
-keep_scene_timing When used, the pasted animations' frame offsets will be adjusted so that they maintain the same timing within the scene. See Also: .cut_anim

<anim>.persistent_frames_hide_all_but_chain <body>

  Hides all bodies in the persistent frames for the animation except the hierarchy starting with body.

  See Also:

    <anim>.persistent_frames_unhide_all_bodies
    <anim>.add_persistent_frame

<anim>.persistent_frames_unhide_all_bodies

  Unhides all bodies in the persistent frames for the animation.

  See Also:

    <anim>.persistent_frames_hide_all_but_chain
    <anim>.add_persistent_frame

{anim frame id} <anim>.prev_frame_id [-useable] [-base] [<anim frame id>]

  Returns the id of the previous existing frame relative to another 
  frame.

  Options:

    <anim frame id>

    Defaults to the current frame id of the animation.

    -useable

    Do not consider motion frames that are being clipped
    due to parent frame offsets.

    -base

    If specified, use the underlying animation's motion if there
    is a clip or timewarp curve applied to the animation.

  See Also:

    <anim>.prev_group_frame_id
    <anim>.next_frame_id
    <anim>.next_group_frame_id

{anim frame id} <anim>.prev_group_frame_id [-useable] [<anim frame id>]

  Returns the id of the previous existing frame relative to another 
  frame in the animation group.

  Options:

    <anim frame id>

    Defaults to the current frame id of the animation.

    -useable

    Do not consider motion frames that are being clipped
    due to parent frame offsets.


  See Also:

    <anim>.prev_frame_id
    <anim>.next_group_frame_id
    <anim>.next_frame_id

{boolean} <anim>.range_is_checked <name>

  Returns the value of the “Checked” attribute of an animation range.

  See Also:

    <anim>.set_range_is_checked
    <anim>.ranges
    <anim>.range_frames
    <anim>.clear_ranges
    <anim>.add_range
    <anim>.remove_range
    <anim>.set_range_name

{<anim frame id> <anim frame id>} <anim>.range_frames <name>

  Returns the frame range of a range defined for this animation.

  See Also:

    <anim>.ranges
    <anim>.clear_ranges
    <anim>.add_range
    <anim>.remove_range
    <anim>.set_range_name
    <anim>.set_range_is_checked
    <anim>.range_is_checked

{range list} <anim>.ranges

  Returns a list of all ranges defined for this animation.

  See Also:

    <anim>.range_frames
    <anim>.clear_ranges
    <anim>.add_range
    <anim>.remove_range
    <anim>.set_range_name
    <anim>.set_range_is_checked
    <anim>.range_is_checked

<anim>.remove_all_group_persistent_frames

  Removes all persistent frames from this animation and all sub animations.

  See Also:

    <anim>.remove_group_persistent_frame
    <anim>.add_group_persistent_frame
    <anim>.add_persistent_frame

<anim>.remove_all_persistent_frames

  Removes all persistent frames from this animation.

  See Also:

    <anim>.remove_all_group_persistent_frames
    <anim>.add_persistent_frame
    <anim>.add_group_persistent_frame

<anim>.remove_frame_data [-useable] [-base] <anim frame id> <tag>

  Removes extra data from a frame of motion. This command only affects Giant motion (bmo)
and AMC files.
Options:

-useable

If specified, only frames not clipped due to
parent frame offsets will be considered to exist.
    -base

    If specified, use the underlying animation's motion if there
    is a clip or timewarp curve applied to the animation.
Parameters:

<anim frame id>

The data will be removed from this frame of motion.

<tag>

The data to remove from the frame of motion.
See Also: <anim>.set_frame_data <anim>.get_frame_data <anim>.remove_frame_range_data

<anim>.remove_frame_range_data [-useable] <first anim frame id> <last anim frame id> <tag>

  Removes extra data from a range of motion frames. This command only affects Giant motion (bmo)
and AMC files.
Options:

-useable

If specified, only frames not clipped due to
parent frame offsets will be considered to exist.

Parameters:

<first anim frame id>

The first frame of motion that will have its data removed.

<last anim frame id>

The last frame of motion that will have its data removed.
<tag>

The data to remove from the frame of motion.
See Also: <anim>.set_frame_data <anim>.get_frame_data <anim>.get_frame_range_data

<anim>.remove_group_persistent_frame <anim frame id>

  Removes the persistent frame from the animation group at the given
  frame id.

  See Also:

    <anim>.add_group_persistent_frame
    <anim>.group_has_persistent_frame
    <anim>.add_persistent_frame
    <anim>.has_persistent_frame
    <anim>.remove_persistent_frame

<anim>.remove_persistent_frame <anim frame id>

  Removes the persistent frame from the animation at the given frame id.

  See Also:

    <anim>.add_group_persistent_frame
    <anim>.group_has_persistent_frame
    <anim>.add_persistent_frame
    <anim>.has_persistent_frame
    <anim>.remove_group_persistent_frame

<anim>.remove_range <name>

  Removes a range that is defined in this animation.

  See Also:

    <anim>.ranges
    <anim>.range_frames
    <anim>.clear_ranges
    <anim>.add_range
    <anim>.set_range_name
    <anim>.set_range_is_checked
    <anim>.range_is_checked

<anim>.remove_skin <skin index>

  Removes a skin which was added using the <anim>.add_skin command.
  Skins that are specified in the ASF/BVH/HTR file cannot be removed.

  See Also:

    <anim>.add_skin
    <anim>.set_enabled_skins
    <anim>.skin_paths
    <anim>.skin_names

<anim>.reset_transform_constraints

  Resets this animation's transform constraints to be their values when they
were last loaded or saved. Does not affect the Enabled/Disabled states
of the transform constraints. See Also: <anim>.load_transform_constraints <anim>.disable_transform_constraints

<anim>.restripe_timecode

  Restripes existing timecode of the animation so that it is
consistent with the animation's timecode and motion rates.

This command attempts to preserve the previous overall
frame/timecode relationship. See Also: <anim>.create_timecode

{body list} <anim>.root_bodies [-with_transforms]

  Returns all of the root bodies for this animation.

  Options:

    -with_transforms

    If specified, the bodies that are returned will be the closest
    bodies to the roots that have transformations.  The default 
    behavior is to return the root bodies regardless of whether or 
    not they have transformations.

  See Also:

    <anim>.bodies
    <anim>.group_root_bodies
    <anim>.average_group_root_position

{<x> <y> <z>} <anim>.rotation_point [-use_body_origins] [<body>] [<anim frame id>]

  Returns the rotation point of an animation group.

  Options:

    -use_body_origins

    If used, the origins of the bodies will be used to determine
    the rotation point.  The default behaviour is to use the center
    of the bodies to determine the rotation point.

    <body>

    If specified, only this body will be used to determine the
    rotation point.  Defaults to all root bodies within the
    animation group.

    <anim frame id>

    The frame of the motion used to determine the rotation point.
    Defaults to the current frame id.

  See Also:

    .rotate

<anim>.save [<file name>]

  Saves the animation to the given file name.  If no file name is
  specified the animation will be saved to its current file name.

  See Also:

    <anim>.save_motion
    .save_history

<anim>.save_motion 
        [-amc_ver <version number>]
        [-embed_asf_ref <boolean> [-expand_imported_asfs <boolean>] [-include_additional_skins <boolean>]]
        [-amc_data_format (fully-specified | fully-specified-by-channel)]
        [-export_only]
        [<file name>]

  Saves the motion of the animation to the given file name.  If no 
  file name is specified the motion will be saved to its current 
  file name.

  Options:

    -amc_ver <version number>

    Supported versions: “1.1” or “2.1”.

    -embed_asf_ref <boolean>

    If true the ASF will be embedded within the AMC motion file.
    This option only has meaning when saving AMC 2.x motion files
Defaults to false.
-expand_imported_asfs <boolean> If true, any sub-ASF files loaded via :import-asf statements
in the ASF Ref will be expanded and the :import-asf statements
will not be written. This option only has meaning when saving
AMC 2.x motion files. Defaults to false.
-include_additional_skins <boolean> If true, any skins added to the animation that were not in the
ASF file will be written to the ASF reference as additional
:skin statements. This option only has meaning when saving AMC 2.x
motion files. Defaults to true.
-amc_data_format (fully-specified | fully-specified-by-channel) If used, changes the data format of the AMC samples. Defaults to fully-specified. This option only has meaning when saving AMC 2.x motion files.
-export_only If true the motion will be saved to the file name but the
animation's motion file path will not be changed to that file name.
Also, the changed state of the Animation's motion will not be affected.
See Also: .save_motions <anim>.save <anim>.set_motion_file_name .save_history <anim>.motion_is_modified <anim>.save_motion_range

<anim>.save_motion_range 
        [-offset_frames <offset>]
        [-amc_ver <version number>]
        [-embed_asf_ref <boolean> [-expand_imported_asfs <boolean>] [-include_additional_skins <boolean>]]
        [-amc_data_format (fully-specified | fully-specified-by-channel)]
        <anim first frame id> 
        <anim last frame id>
        <file name>

  Saves a range of frames of an animation.

  Parameters:

    <anim first frame id>

    The first frame of the motion range to save.

    <anim last frame id>

    The last frame of the motion range to save.

    <file name>

    The file name to save to.

  Options:

    -offset_frames <offset>

    The motion frame numbers in the file will be offset by <offset>.

    -amc_ver <version number>

    Supported versions: “1.1” or “2.1”.

    -embed_asf_ref <boolean>

    If specified, the ASF will be embedded within the AMC motion file.
    This option only has meaning when saving AMC 2.x motion files.
-expand_imported_asfs <boolean> If true, any sub-ASF files loaded via :import-asf statements
in the ASF Ref will be expanded and the :import-asf statements
will not be written. This option only has meaning when saving
AMC 2.x motion files. Defaults to false.
-include_additional_skins <boolean> If true, any skins added to the animation that were not in the
ASF file will be written to the ASF reference as additional
:skin statements. This option only has meaning when saving AMC 2.x
motion files. Defaults to true.
-amc_data_format (fully-specified | fully-specified-by-channel) If used, changes the data format of the AMC samples. Defaults to fully-specified. This option only has meaning when saving AMC 2.x motion files. See Also: <anim>.save_motion <anim>.save

{file name} <anim>.scl_file_name

  Returns the SCL file name of an animation or an empty string
  if none exists.

  See Also:

    <anim>.mdl_file_name
    <anim>.dof_file_name
    <anim>.bmo_file_name
    <anim>.asf_file_name
    <anim>.amc_file_name
    <anim>.htr_file_name
    <anim>.bvh_file_name
    <anim>.skin_file_name
    <anim>.image_file_name
    <anim>.movie_file_name
    <anim>.image_seq_file_names
    <anim>.audio_file_name
    <anim>.obj_file_name

<anim>.set_casts_shadows default|on|off

  Changes whether shadows of this animation's geometry will be drawn when shadow rendering is enabled.

  Parameters:

    default

    Inherit the casts shadows setting from the parent animation, or in the
    case of the top animation, the value "on".

    on

    The animation's geometry will cast shadows.
    
    off

    The animation's geometry will not cast shadows.

  See Also:

    <anim>.set_override_color
    <anim>.set_override_color_value
    <anim>.set_wire_framing
    <anim>.set_opacity
    <anim>.set_render_style

<anim>.set_data <tag> <value>

  Sets user defined data in an animation.

  Parameters:

    <tag>

    The tag to associate with the data.  Compound tags can be used to
    specify the location of data hierarchically.  Tags are case 
    sensitive.

    <value>

    The value to associate with the tag.

  Restrictions:

    The following tags are reserved.
    ANIMATION,MODEL,MAPPING,MOTION,SCALING,ASF,AMC,BVH,HTR,SKIN,AUDIO,
    BODY,BODY_ID,BONE,BONE_ID,FRAME_RATE,NOTES

  Examples:

    .top_anim.set_data a 5
    .top_anim.set_data b.c "hello world"
    .top_anim.set_data b.d 15.9
    .top_anim.set_data e tuesday

    The user data in the animation would be organized in the following
    fashion:

    a: 5
    b {
      c: hello world
      d: 15.9
    }
    e: tuesday

  See Also:

    <anim>.get_data
    <anim>.set_frame_data
    <anim>.set_transform

<anim>.set_enabled_skins {skin index list}

  Sets which skins in an animation are currently enabled
  by passing a list of skin indices.

  See Also:

    <anim>.enabled_skins

<anim>.set_file_name <file name>

  Sets the file name of the animation.  This does not save the
  animation.

  See Also:

    <anim>.file_name
    <anim>.save

<anim>.set_frame_data [-useable] [-base] (<anim frame id> <tag> <value>) | {{<anim frame id> <tag> <value>} ...})

  Adds extra data to a frame of motion.  This data will be
  saved to Giant motion (bmo) or AMC files.  The data will NOT
  be saved to other motion file formats.

  Options:

    -useable

    If specified, only frames not clipped due to
    parent frame offsets will be considered to exist.
    -base

    If specified, use the underlying animation's motion if there
    is a clip or timewarp curve applied to the animation.
Parameters: <anim frame id> The data will be added to this frame of motion. <tag> The tag used to retrieve the data. <value> The data to add to the frame of motion. See Also: <anim>.get_frame_data_tags <anim>.get_frame_data <anim>.remove_frame_data <anim>.set_data <anim>.get_data

<anim>.set_frame_offset <value>

  Sets the frame offset of the animation relative to its parent
  animation.

  See Also:

    <anim>.frame_offset
    <anim>.bake_frame_offset
    .to_scene_frame_id
    .from_scene_frame_id

<anim>.set_frame_rate_override <value>

  Sets the frame rate override of the animation. The value must be greater than zero.

  See Also:

    <anim>.frame_rate_override
    <anim>.clear_frame_rate_override

<anim>.set_hud_frame_tag_color_source <frame tag name> <color source>

  Sets the source of the color that is used to draw the value
  of the frame tag in the Heads Up Display.

  Parameters:

    <frame tag name}

    The name of the frame tag to modify.

    <color source>

    This will be one of the following:

      default

      The color will be the default color of the Frame Tags HUD Text.

      anim_override

      The color will be the override color of this animation.

      explicit

      The color will be an explicit value.

  See Also:

    <anim>.hud_frame_tag_color_source
    <anim>.set_hud_frame_tag_show
    <anim>.set_hud_frame_tag_explicit_color

<anim>.set_hud_frame_tag_explicit_color <frame tag name> <color>

  Sets the explicit color that is used to draw the value of the frame tag
  in the Heads Up Display when the color source is explicit.

  See Also:

    <anim>.hud_frame_tag_explicit_color
    <anim>.set_hud_frame_tag_color_source

<anim>.set_hud_frame_tag_show <frame tag name> <boolean>

  Turns on or off the display of the value of the frame tag in the Heads Up Display.

  See Also:

    <anim>.hud_frame_tag_show

<anim>.set_image_media_opacity_scale <value>

  Sets the value of an image media animation's opacity scale attribute. Valid
  values range from 0 to 100.

  See Also:

    <anim>.image_media_opacity_scale

<anim>.set_image_overscan <value>

  Sets the animation film plate’s overscan value.

  See Also:

    <anim>.image_overscan

<anim>.set_is_hidden <boolean>

  Sets whether the animation is hidden. The hidden state of an
  animation is stored in the animation file, so it is persistent.

  See Also:

    <anim>.is_hidden

<anim>.set_is_pickable <boolean>

  Change whether or not the animation's bodies can be interactively
  selected in the main 3D View.

  See Also:

    <anim>.is_pickable

<anim>.set_motion_file_name <file name>

  Sets the file name of the animation's motion.  This does not
  save the motion.

  See Also:

    <anim>.motion_file_name
    <anim>.save_motion

<anim>.set_name <string>

  Assigns a name to an animation which will be displayed
  in the browser.

  See Also:

    <anim>.name

<anim>.set_opacity default|off|<value>

  Changes the opacity state or value of the animation.

  Parameters:

    default

    Inherit the opacity from the parent animation.  This
    has no meaning for the top animation.

    off

    Opacity will not be overridden in this animation.

    <value>

    Sets the opacity value of the animation.  A value of
    0 means completely transparent, a value of 100 means
    completely opaque.

  See Also:

    <anim>.set_override_color
    <anim>.set_override_color_value
    <anim>.set_wire_framing
    <anim>.set_casts_shadows
    <anim>.set_opacity
    <anim>.set_render_style

<anim>.set_range_is_checked <name> <boolean>

  Changes the value of the “Checked” attribute of an animation range.

  See Also:

    <anim>.range_is_checked
    <anim>.ranges
    <anim>.range_frames
    <anim>.clear_ranges
    <anim>.add_range
    <anim>.remove_range
    <anim>.set_range_name

<anim>.set_range_name <name> <new name>

  Changes the name of an existing range defined for this animation.

  See Also:

    <anim>.ranges
    <anim>.range_frames
    <anim>.clear_ranges
    <anim>.add_range
    <anim>.remove_range
    <anim>.set_range_is_checked
    <anim>.range_is_checked

<anim>.set_override_color default|on|off

  Changes the override color state of the animation.

  Parameters:

    default

    Inherit the override color from the parent animation 
    or in the case of the top animation, the global render
    settings.

    on

    The color of the animation's geometry will be 
    overridden.

    off

    The color will be determined by the global render
    settings.

  See Also:

    <anim>.set_override_color_value
    <anim>.set_wire_framing
    <anim>.set_casts_shadows
    <anim>.set_opacity
    <anim>.set_render_style

<anim>.set_override_color_value <color>

  Changes the override color of the animation.

  Parameters:

    <color>

    The animation's geometry will be drawn in this color if
    the animation's override color state is set to on.

  See Also:

    <anim>.set_override_color
    <anim>.set_wire_framing
    <anim>.set_casts_shadows
    <anim>.set_opacity
    <anim>.set_render_style

<anim>.set_parent_anim
        [-keep_global_pos <anim frame id>]
        [-keep_scene_timing]
        <anim>
        <child position>

  Reparents the animation to the given animation.  The 
  animation is inserted into the new parent animation's
  child list at the given position.  The first child is
  at position 0.

  Options:

    -keep_global_pos <anim frame id>

    If used, when the animation is reparented it will maintain
    it's global position on the given frame.

    -keep_scene_timing

    When used, this animation's frame offset will be adjusted
    so that it maintain the same timing within the scene.

  See Also:

    <anim>.children
    .inline_anim
    <anim>.set_parent_body

<anim>.set_parent_body [-keep_global_pos <anim frame id>] <body>

  Reparents the animation to the given body.  The body must
  be a member of the current parent animation's model.

  Options:

    -keep_global_pos <anim frame id>

    If used, when the animation is reparented it will maintain
    it's global position on the given frame.

  See Also:

    <anim>.clear_parent_body
    <anim>.parent_body
    <anim>.set_parent_anim

<anim>.set_render_style default|smoothshaded|flatshaded|boundingbox

  Changes the render style of the animation.

  Parameters:

    default

    Inherit the render style from the parent animation, or
    in the case of the top animation, the global render
    style.

    smoothshaded

    Sets the render style to Smooth Shaded.
    
    flatshaded

    Sets the render style to Flat Shaded.

    boundingbox

    Sets the render style to Bounding Box.

  See Also:

    <anim>.set_override_color
    <anim>.set_override_color_value
    <anim>.set_wire_framing
    <anim>.set_casts_shadows
    <anim>.set_opacity

<anim>.set_shadows default|on|off **DEPRECATED**

  See Also:

    <anim>.set_casts_shadows
    
<anim>.set_stream_global_position <boolean> When set to True, the global root body positions of this animation will be streamed instead of the local
positions when streaming is enabled. If there is scaling in this animation or its ancestor animations,
the local positions will be streamed regardless of this setting. Defaults to False. See Also: <anim>.stream_global_position .enable_streaming .streaming_anims <anim>.is_streaming <anim>.can_be_streamed
<anim>.set_timecode_hud_params
         <timecode stream name>
         [-hud_text <hud text>]
         [-show <boolean>]
         [-desc <value>]
         [-color_source default|anim_override|explicit]
         [-explicit_color <color>]

  Changes how an animation's timecode stream appears in the MW HUD.

  Parameters:

    <timecode stream name>

    The animation's timecode stream to modify.

  Options:

    -hud_text <hud text>

    Change the timecode stream to be displayed in this
    HUD Text.
  
    -show <boolean>

    Hides or shows this timecode stream.

    -desc <value>

    Sets a description that's displayed after the timecode value.

    -color_source default|anim_override|explicit

    Changes how the color is generated for the text
    in the HUD Text.

      default 
  
        Use the default color of the HUD Text.

      anim_override 

        Use the override color of the animation.

      explicit

        Use the value provided by the -explicit option.

    -explicit_color <color>

    The explicit color to use for the text in the HUD Text.

  See Also:

    <anim>.timecode_stream_names

<anim>.set_timecode_rate <stream name> <rate>

  Changes the timecode rate of an existing timecode stream. Note this does not
change timecode values on motion frames.

 Valid rates are: 23.976 24 25 29.97 29.97df 30 47.952 48 59.94 60 See Also: <anim>.timecode_stream_names <anim>.create_timecode

<anim>.set_transform <transform list> <value list> [<transform list> <value list> ... ]

  Modifies an animation's translation, rotation and scale
  transformations.  Transforms can be one of the following: 
  tx ty tz rx ry rz s sx sy sz.  OBJs are the only types
  of animations that support non-uniform scaling so sx sy
  and sz are valid transforms to use with OBJs. Use the 
  uniform scale “s” for all other animation types.

  Examples:

    .top_anim.anim1.set_transform tx 0 ty 20.5 s 1.0
    .top_anim.anim1.set_transform { tx ty tz } 0

  See Also:

    <anim>.set_data
    <anim>.get_data
    <anim>.get_transform

<anim>.set_clip_is_enabled <boolean>

  Changes the enabled state of a clip.

  See Also:

    <anim>.clip_is_enabled  

<anim>.set_clip_range [-anim_frame_ids] <frame id> <frame id>

  Sets the clip range of the animation.

  Options:

    -anim_frame_ids

    If used, the <frame id> parameters will be treated as
    animation frame ids, otherwise they are treated as scene
    frame ids.

  See Also:

    <anim>.has_clip
    <anim>.clear_clip
    <anim>.clip_range
    <anim>.bake_clip
    <anim>.set_clip_is_enabled
    

{boolean} <anim>.transform_constraints_are_enabled

  Returns non-zero if the transform constraints of this animation are enabled.

  See Also:

    <anim>.disable_transform_constraints
    <anim>.enable_transform_constraints

<anim>.update_view [-mw_view (primary|split)] Updates the view stored in this animation to the current view. Defaults to the primary view. See Also: <anim>.is_view <anim>.apply_view

<anim>.set_use_as_depth_mask default|on|off|background

  Sets whether this animation will be used as a depth
  mask while rendering.

  Parameters:

    default

    Inherit the depth mask state from the parent animation.  If
    this is the top animation, default and off are synonymous.

    on

    The animation's geometry will be used as a depth mask.
    
    off

    The animation's geometry will not be used as a depth mask.
background The animation's geometry will be drawn through the depth mask
defined by other animations.
See Also: <anim>.use_as_depth_mask

<anim>.set_wire_framing default|on|off

  Changes wire frame rendering of the animation.

  Parameters:

    default

    Inherit the wire framing state from the parent animation, 
    or in the case of the top animation, the global render
    setting.

    on

    The animation's geometry will be rendered in wire frame.
    
    off

    The animation's geometry will not be drawn in wire frame.

  See Also:

    <anim>.set_override_color
    <anim>.set_override_color_value
    <anim>.set_wire_framing
    <anim>.set_opacity
    <anim>.set_render_style

<anim>.set_x_ray default|on|off

  Changes X Ray rendering of the animation.

  Parameters:

    default

    Inherit the X Ray render state from the parent animation, 
    or in the case of the top animation, the global setting.

    on

    The animation's geometry will be rendered in X Ray mode.

    off

    The animation's geometry will not be rendered in X Ray 
    mode.

  See Also:

    <anim>.set_override_color
    <anim>.set_opacity

{file name} <anim>.skin_file_name

  Returns the SKIN file name of an animation or an empty string
  if none exists.  This can be used on ASF1.x,HTR and BVH type
  animations.

  See Also:

    <anim>.mdl_file_name
    <anim>.dof_file_name
    <anim>.bmo_file_name
    <anim>.scl_file_name
    <anim>.asf_file_name
    <anim>.amc_file_name
    <anim>.htr_file_name
    <anim>.bvh_file_name
    <anim>.image_file_name
    <anim>.movie_file_name
    <anim>.image_seq_file_names
    <anim>.audio_file_name
    <anim>.obj_file_name

{string list} <anim>.skin_names

  Returns a list of names from the skin definitions of an
  animation.  

  See Also:

    <anim>.skin_file_name
    <anim>.skin_paths

{string list} <anim>.skin_paths

  Returns a list of paths from the skin definitions of an
  animation.

  See Also:

    <anim>.skin_file_name
    <anim>.skin_names

{boolean} <anim>.stream_global_position

  Returns whether the positions of the root bodies of this animation are
being streamed as local or global. See Also: <anim>.set_stream_global_position

{number number} <anim>.time_scaling

 Returns the time scaling numerator and denominator of the
 animation. The numerator is the media frame rate. The
 denominator is the base frame rate.

  See Also:

    <anim>.is_movie

{stream name list} <anim>.timecode_stream_names

  Returns all of the timecode stream names in the animation.

  See Also:

    <anim>.frame_timecode

{boolean} <anim>.transforms_are_modified

  Returns true if this animation’s transforms have changed
  since the last time the animation was loaded or saved.

  See Also:

    <anim>.is_modified
    <anim>.set_transform

{ on|off|default|background } <anim>.use_as_depth_mask

  Returns whether or not the animation is used as a
  depth mask while rendering.  A value of “default”
  means that its value is inherited from its parent
  animation.  If <anim> is the top animation
  “default” is the same as “off”.

  See Also:

    <anim>.set_use_as_depth_mask

{anim} .anim_from_anim_id <anim id>

  Converts an animation id to an animation.  Animation ids never change
  whereas animation addresses are based on their position in the animation
  hierarchy.

  See Also:

    .anim_to_anim_id
    <anim>.id

{anim id} .anim_to_anim_id <anim>

  Converts an animation to an animation id.  Animation ids never change
  whereas animation addresses are based on their position in the animation
  hierarchy.  The functionality of this Tcl command is identical to that of
  the <anim>.id Tcl command.

  See Also:

    .anim_from_anim_id
    <anim>.id

.append_anim <anim> <anim file name>

  Appends the contents of one animation to an existing
  animation.

  Parameters:

    <anim>

    The animation to append to.

    <anim file name>

    The file that contains the animation that is to be 
    appended.

  See Also:

    .append_motion
    .add_motion_appended_command

{varies} .camera 
         (add_new [-name <string>] <parent anim>) | 
         (add_wcam [-anim_rate <rate>] 
                   [-wcam_rate <rate>] 
                   [-interp_mode constant|smooth] 
                   [-name <string>]
                   [-pose_rot_order <rot order>] 
                   <wcam file>
                   <parent anim>) |
         (edit_wcam <anim>
                    [-anim_rate <rate>]
                    [-wcam_rate <rate>]
                    [-interp_mode constant|smooth]
                    [-name <string>]
                    [-pose_rot_order <rot order>]
                    [-file <wcam file>]) |
         (image_media [-displayed_only] <anim>) |
         (master_image_media <anim>) |
         (set_master_image_media <anim> <image media anim>) |
         (add_displayed_image_media <anim> <image media anim>) |
         (remove_displayed_image_media <anim> <image media anim>)

  Modes:

    add_new

    A new basic camera animation will be created but it will have
    no motion.

    add_wcam

    A new wcam camera animation will be created who's motion will
    be loaded from the wcam file.

    edit_wcam

    Provides a way to edit wcam animation parameters.

    image_media

    A list of image media animations that this camera is using
    is returned.

    master_image_media

    The image media animation that is set as the master is
    returned. If no master is set, an empty string is returned.

    set_master_image_media

    The given image media animation will be used to affect the
    camera parameters. The first displayed image media is
    automatically the master unless this is used to explicitly
    choose one. Note that the setting the master will not
    automatically add it to the list of displayed image media
    animations.

    add_displayed_image_media

    Adds an image media animation to the camera. The image will
    be displayed in the camera’s view.

    remove_displayed_image_media

    Removes an image media animation from the camera. Note that
    this will not clear the “master” image media animation from
    the camera.

  Options:

    -name <string>

    The name of the new camera.  Defaults to the next
    unused camera name, for example “camera2”.

    -anim_rate <rate>

    The frame rate of the resulting camera motion.  Defaults
    to the fps value from the wcam file if it is specified.

    -wcam_rate <rate>

    The frame rate of the wcam file data.  This option is
    required if the -anim_rate is not specified and the
    wcam file does not specify an fps.  Defaults to the
    fps value from the wcam file if it is specified.

    -interp_mode constant|smooth

    If the -interp_mode is constant, any missing frames will
    be filled with the most previous existing frame's data.

    If the -interp_mode is smooth, the wcam data will be
    smoothly interpolated using splines.

    The default value is constant.

    -pose_rot_order <rot order>

    Specifies what the rotation order of the pose body should
    be. Examples: zyx, xyz.

    -file <wcam file>

    Replaces the current motion of the camera with the motion
    from this wcam file.

    -displayed_only

    When specified for with the image_media mode, returns
    only the image media animations that are being displayed
    in the camera’s view. The default behavior is to return
    all of the displayed image media animations and the
    master image media.

  Parameters:

    <parent anim>

    The parent animation that will contain the new camera.

    <wcam file>

    The wcam file name.

  Returns:

    add_new, add_cam, add_wcam: The new camera animation.

    edit_cam, set_master_image_media, add_displayed_image_media,

    remove_displayed_image_media: Nothing.

    image_media: Animation list.

    master_image_media: Animation, or nothing.

  See Also:

    .aim_camera
    <anim>.export_wcam

.cut_anim <anim list>

  Marks the given animations as “Cut” so that they can be placed
  somewhere else in the animation hierarchy.  This command has
  no additional effect until <anim>.paste is used.

  See Also:

    <anim>.paste

.edit_anim 
    [-working]
    <anim>
    [-name <string>]
    [-audio <audio file> | remove]
    [-audio_offset <offset>]
    [-audio_timecode_rate <timecode rate>]
    [-video_timecode_start <timecode>]
    [-video_timecode_rate <timecode rate>]
    [-frame_rate <frame rate>]
    [-enabled <boolean>]
[-display_in_background <boolean>] [-zoom_factor <factor>] [-image_seq <file name pattern>] [-start <number>] [-end <number>] [-step <number>]
[-matte (<file name pattern>|remove)] [-movie <
file name>] [-depth inf|<number>] [-cycle <boolean>] [-offset <number>] [-x_offset <number>] [-y_offset <number>] [-image_rotation none|90|-90|180] [-image_film_plate <boolean>] [-frame_rate <number>] [-time_scaling <numerator> <denominator>] [-replace_anim_frame_offset <boolean>] [-replace_anim_transforms <boolean>] [-enabled_skins none|<skin index list>] [-additional_skin <skin params>] [-remove_additional_skin <skin index list>] [-obj <file name>] [-obj_units (in|ft|mm|cm|m)] ([-model <model file>|remove] [-mapping <mapping file>|remove] [-motion <motion file>|remove] [-scaling <scaling file>|remove]) | ([-asf <asf file>|remove] [-amc <amc file>|remove]) | ([-bvh <bvh file>|remove] [-skin <skin file>|remove]) | ([-htr <htr file>|remove] [-skin <skin file>|remove])) Modifies the contents of an animation. See Also: .add_anim <anim>.set_name

.disable_streaming <anim list>

  Turns off streaming for the list of animations. A streamed
  animation can be displayed in external applications that
  support the GSDD protocol.

  See Also:

    .streaming_anims
    .enable_streaming
    <anim>.is_streaming
    <anim>.can_be_streamed

.enable_streaming <anim list>

  Turns on streaming for the list of animations. A streamed
  animation can be displayed in external applications that
  support the GSDD protocol.

  See Also:

    .set_streaming_port
    .streaming_anims
    .disable_streaming
    <anim>.is_streaming
    <body>.set_streaming_property
    <anim>.can_be_streamed
    <anim>.set_stream_global_position

.inline_anim <anim>

  Inlines an animation.  The top animation cannot be inlined.

  See Also:

    <anim>.set_parent_anim

.new_anim 
    [-working] 
    <anim> 
    [-confirm_if_changed] 
    [-frame_reduce ignore_fraction <fraction>]
    [-name <string>] 
    ([-giant [<giant files>]] | 
     [-bvh [<bvh files>] | 
     [-asf [<asf1 options>|<asf2 options>]] | 
     [-htr [<htr files>]])

  Where:

    <giant files> is
      {<mdl file> [<scl file>]} [<dof file> [<bmo file>]]

    <asf1 options> is
      [-skin_linear_units asf_units|in|cm]
[-enabled_skins none|<
skin index list>] <asf file>
[<
amc file>] <asf2 options> is [-replace_anim_transforms <boolean>]
[-replace_anim_frame_offset <boolean>] [-additional_skin {<asf2 skin def>}] …
[-enabled_skins none|<skin index list>] none|<asf file> [<amc file>]
<bvh files> is <bvh file> [<skin file>] <htr files> is <htr file> [<skin file>] <asf2 skin def> is [-enable <boolean>] [-units (mm|cm|m|in|ft|yd)(*|/)<factor>] [-name_prefix_filter <replace string> <with string>] [-name_suffix_filter <replace string> <with string>] <skin file path> <skin name string> <link string> Replaces an existing animation with a new animation. See Also: .add_new_anim <anim>.frame_reduction

.open_anim 
  [-working]
  [-confirm_if_changed]
  [-frame_reduce ignore_fraction <fraction>]
  <anim>
  <anim file name>

  Replaces an animation with one that resides on disk.

  Parameters:

    <anim>
     
    The animation to replace.

    <anim file name>

    The file that contains the animation that is to be
    loaded.

  Options:  

    -working

    If used, a working dialog will be managed while the
    command is being performed.

    -confirm_if_changed

    The user will be asked to confirm the operation.  If the user
    does not confirm the operation, a Tcl error will be issued.

    -frame_reduce ignore_fraction <fraction>

    If used, only the given fraction of frames of motion will
    be read.  The value of <fraction> must be in the range of 0.0
    to 1.0.  A value of 0.5 results in every other frame being
    read.  The first existing frame of the motion is always read.

    Animations that are affected by this option are put into
    “read only” mode.  Their motion cannot be saved to the
    original file names.

    Missing frames of affected animations are displayed
    differently than what is typical.  Typically when a motion
    has a missing frame, the animation isn't displayed on that
    frame.  When an animation is affected by this option, the
    previously existing frame is displayed if the current frame
    is missing.  If a scene frame before the first existing frame
    of an affected animation is being displayed, the first
    existing frame of the affected animation is displayed.

    The benefit of this option is that an animation or a group
    of animations can be loaded quickly and will require less
    memory.  The ideal use case is when there's a large number
    of characters and the animator is only working on a subset
    of the scene's animations.  The secondary animations can be
    loaded frame reduced to allow for better performance.

    This option currently only affects ASF type animations.

    This option applies to the entire animation hierarchy that
    is being opened.

  See Also:

    .add_anim
    <anim>.frame_reduction

.remove_anim [-confirm_if_changed] <anim list>

  Removes one or more animations.

  Options:

    -confirm_if_changed

    The user will be asked to confirm the operation.  If the user
    does not confirm the operation, a Tcl error will be issued.

  See Also:

    .add_anim
    .add_new_anim
    .cut_anim

{results} .save_motions [-num_threads <number>] [-export_only] {{<anim> [<motion file name>]} ... }

  Multi-threaded save of one or more motions. If no motion file name is provided the motions
  will be saved to their current motion file names. While BVH and HTR motions can be saved
with this command, they will be saved in sequence instead of in parallel. Support for
multi-threaded save of BVH and HTR motions will be added in a future release.
Options:

-num_threads

The number of saves that will be done in parallel. This value must be 1 or greater.

Default value: 1

-export_only

When specified, if an animation's motion is being saved to a file name that's different
than its current motion file name, do not update the animation to use the new file name
and do not clear the changed state of the motion.

Return Value:

{<anim> <success> [{warning|error {<message>} ...]} ...

The return value is a list with one entry per animation passed as a parameter a 1 or 0
indicating success or failure and then possibly followed by warning or error messages. See Also: <anim>.save_motion

.set_light_casts_shadows default_light|<anim> <boolean>

  Sets whether or not the default light or a light animation casts
  shadows.

  See Also:

    <anim>.is_light

.set_spot_light_exponent <anim> <exponent>

  Sets the spot light animation’s exponent. The valid range for
  <exponent> is 0.0 to 128.0.

  See Also:

    <anim>.is_spot_light
    .set_spot_light_spread_angle

.set_spot_light_spread_angle <anim> <spread angle>

  Sets the spread angle of a spot light animation. The valid range
  of <spread angle> is 0.0 to 90.0.

  See Also:

    <anim>.is_spot_light
    .set_spot_light_exponent

.set_working_anim [-flash] <anim>

  Sets the current working animation.

  Options:

    -flash

    Causes anim and all sub-animations to flash yellow in
    the main graphics window.

  See Also:

    .working_anim
    .add_working_anim_changed_command

{anim list} .streaming_anims

  Returns the list of animations with streaming enabled.

  See Also:

    .enable_streaming
    .disable_streaming
    <anim>.is_streaming
    <anim>.can_be_streamed

{anim} .working_anim

  Returns the current working animation.

  See Also:

    .set_working_anim

AMC Info Commands

.amc_info.add_constant [-type string|float|int|boolean] (<anim>|<body>) <name> <value>

  Adds an AMC constant to an animation or body.

If -type is not specified, the type will be either string or float depending on whether the value can
be converted to a number.
See Also: .amc_info.constants .amc_info.constant_exists .amc_info.remove_constant .amc_info.set_constant_value

{(deg|rad[(*|/)<factor>]) .amc_info.angle_units <anim>

  Returns the angle units from the header of the animations's AMC.

{path} .amc_info.asf <anim>

  Returns the ASF path from the header of the animation's AMC.

{bone scale list} .amc_info.asf_bone_scales <anim>

  Returns all of the ASF bone scale factors for the AMC.

  See Also:

    .amc_info.asf_scales
    .amc_info.set_asf_bone_scales
    .amc_info.clear_asf_bone_scales

{asf scale list} .amc_info.asf_scales <anim>

  Returns all of the ASF root scale factors for the AMC.

  See Also:

    .amc_info.default_asf_scale
    .amc_info.set_asf_scale
    .amc_info.asf_bone_scales

{body list} .amc_info.bodies_with_constants <anim>
  Returns a list of bodies which have AMC constants defined for the
given animation. See Also:
.amc_info.constants .amc_info.bodies_with_constant_overrides

{body list} .amc_info.bodies_with_constant_overrides <anim>
  Returns a list of bodies which have AMC constant overrides defined for the
given animation. See Also:
.amc_info.constants .amc_info.constant_override_names

{ { <component> <boolean> } ... } .amc_info.change_flags <anim>

  Returns a list of component/boolean pairs that indicate if
  the individual component types have changed in this animation.

  See Also:

    <anim>.motion_is_modified
    <anim>.transforms_are_modified
    <anim>.frame_offset_is_modified

.amc_info.clear_asf_bone_scales <anim> <root/bone name list>

Clears the ASF bone scales for the given root or bones names. See Also: .amc_info.asf_bone_scales .amc_info.set_asf_bone_scales

.amc_info.clear_constant_override <body> <constant name>

Clears the override of the body's ASF constant value. See Also: .amc_info.set_constant_override

.amc_info.clear_frame_range <anim>

  Clears the animation's AMC frame range.

{boolean} .amc_info.constant_exists (<anim>|<body>) <name>

  Returns true if the given constant name exists in the animation or body.

  See Also:

    .amc_info.constants
    .amc_info.add_constant
    .amc_info.remove_constant
    .amc_info.set_constant_value

{name list} .amc_info.constant_override_names <body>

  Returns a list of all constant override names for the given body.

  See Also:

    .amc_info.bodies_with_constant_overrides

{constant list} .amc_info.constants (<anim>|<body)

  Returns a list of AMC constants for the animation or body.

  See Also:

    .amc_info.bodies_with_constants
    .amc_info.constant_exists
    .amc_info.add_constant
    .amc_info.remove_constant
    .amc_info.set_constant_value
    .asf_info.constants

{factor} .amc_info.default_asf_scale <anim>

  Returns the default ASF scale factor for the AMC. Returns 1.0 if a default asf scale
is not specified. See Also: .amc_info.default_asf_scale_is_explicit .amc_info.set_default_asf_scale .amc_info.asf_scales

{boolean} .amc_info.default_asf_scale_is_explicit <anim>

  Returns 1 if the default asf scale is explicitly specified in the AMC, 0 if it is not explicitly specified.

  See Also:

    .amc_info.default_asf_scale
    .amc_info.set_default_asf_scale
    .amc_info.asf_scales

{factor} .amc_info.default_scale <anim>

Returns the default scale of the AMC.


{<x> <y> <z>} .amc_info.default_translate_offset <anim>

Returns the default translate offset of the AMC.

{<x> <y> <z> <rot order>} .amc_info.default_rotate_offset <anim>

Returns the default rotate offset of the AMC.

{string} .amc_info.documentation <anim>

  Returns the documentation from the header of the animation's AMC.

{(unknown|<start>) (unknown|<end>) <rate>} .amc_info.frame_range <anim>

  Returns the frame range from the header of the animation's AMC.

{boolean} .amc_info.fully_specified <anim>

  Returns true if fully_specified is the sample specification
  mode in the animation's AMC.

{boolean} .amc_info.fully_specified_by_channel <anim>

  Returns true if fully_specified_by_channel is the sample
  specification mode in the animation's AMC.

{(mm|cm|m|in|ft|yd)[(*|/)<factor>]} .amc_info.length_units <anim>

  Returns the length units from the header of the animation's AMC.

{(mg|g|kg)[(*|/)<factor>] .amc_info.mass_units <anim>

  Returns the mass units from the header of the animation's AMC.

{string} .amc_info.name <anim>

  Returns the value of the name field from the animation's AMC.

.amc_info.remove_asf_scale <anim> <root name>

  Removes the AMC's ASF scale factor from the given root body.

  See Also:

    .amc_info.set_asf_scale
    .amc_info.asf_scales
    .amc_info.remove_default_asf_scale

.amc_info.remove_constant (<anim>|<body>) <name>

  Removes the given constant from an animation or body.

  See Also:

    .amc_info.constants
    .amc_info.constant_exists
    .amc_info.add_constant
    .amc_info.set_constant_value

.amc_info.remove_default_asf_scale <anim>

  Removes the AMC's default ASF scale factor.

  See Also:

    .amc_info.set_default_asf_scale
    .amc_info.default_asf_scale
    .amc_info.remove_asf_scale

{value} .amc_info.sample_offset <anim>

  Returns the sample-offset value from the animation’s AMC data.

  See Also:

    <anim>.frame_offset
    <anim>.set_frame_offset

{number} .amc_info.samples_per_second <anim>

  Returns the value of the samples_per_second field from
  the animation's AMC.

.amc_info.set_asf_bone_scales <anim> <root/bone scale> ...

  Sets the AMC's ASF scale factor for the given roots/bones. The root factors set by
.amc_info.set_asf_scale are applied before these factors are applied.

A bone scale has the following format:

{name <value> [scale {<operation> <value> ...}] [scale-compensate <value>]}

The name must be specified. This can be either a bone or a root name.

The scale defaults to no scale operations if it is not specified.

The Scale <operation> can be "direction" or "factor". The value for factor can be either one
 or three values. The value for direction must be three values. More than one operation
can be specified. Direction values cannot be { 0 0 0 }. Factor values cannot be 0.

The value for scale-compensate can be "none", "parent", "child, or "both". The
default value if not specified is "none". See Also: .amc_info.asf_bone_scales .amc_info.clear_asf_bone_scales .amc_info.set_asf_scale

.amc_info.set_asf_scale <anim> <root name> <value>

  Sets the AMC's ASF scale factor for the given root.

  See Also:

    .amc_info.asf_scales
    .amc_info.remove_asf_scale
    .amc_info.set_default_asf_scale

.amc_info.set_constant_override <body> <name> <value>

Adds/changes the override value of a body's constant. The constants are defined
in the ASF and must have the overridable attribute set to a boolean true value.

See Also: .amc_info.clear_constant_override .asf_info.overridable_constant_names

.amc_info.set_constant_value (<anim>|<body>) <name> <value>

  Sets the value of a body's or an animation's AMC constant.

  See Also:

    .amc_info.set_constants
    .amc_info.constants
    .amc_info.constant_exists
    .amc_info.add_constant
    .amc_info.remove_constant
    .amc_info.set_constant_value

.amc_info.set_constants (<anim>|<body>) {{<name> <value>} …}

  Sets sets multiple AMC constant values in the animation or body at once.

  See Also:

    .amc_info.set_constant_value
    .amc_info.constants
    .amc_info.constant_exists
    .amc_info.add_constant
    .amc_info.remove_constant
    .amc_info.set_constant_value

.amc_info.set_default_asf_scale <anim> <factor>

  Sets the AMC's default ASF scale factor.

  See Also:

    .amc_info.default_asf_scale
    .amc_info.remove_default_asf_scale
    .amc_info.set_asf_scale

.amc_info.set_documentation <anim> <string>

  Sets the value of the documentation field in the
  animation's AMC.

.amc_info.set_frame_range <anim> (unknown|<start>) (unknown|<end>) <rate>

  Sets the values for the frame_range field in the
  animation's AMC.

.amc_info.set_name <anim> <string>

  Sets the name value in the AMC data of the given animation.

  See Also:

    .amc_info.name
    <anim>.set_name

.amc_info.set_samples_per_second <anim> <float>

  Sets the value for the samples_per_second field in
  the animation's AMC.

{timecode spec list} .amc_info.timecode_specification <anim>

  Where <timecode spec> is

    <timecode spec name> (unknown|(<timecode rate>[df|--])) [<joint name> ...]

  Returns the list of timecode specifications from the
  animation's AMC.

{number} .amc_info.version <anim>

  Returns the value of the version field from the
  animation's AMC.

ASF Info Commands

{body list} .asf_info.bodies_with_overridable_constants <anim>

  Returns a list of bodies that have overridable constants defined in the ASF.

  See Also:

    .asf_info.overridable_constant_names

{constant name list} .asf_info.constants <body>

  Returns a list of constants defined for the given body
  from the animation's ASF file.

  See Also:

    .asf_info.constant_value
    .amc_info.constants

{value} .asf_info.constant_value [-apply_amc_override] <body> <constant name>

  Returns the value for the constant on the given body
  from the animation's ASF file.

Options:

-apply_amc_override

If specified, any override specified in the AMC will be returned otherwise
the value specified in the ASF will be returned.

 See Also: .asf_info.constants

{constant name list} .asf_info.overridable_constant_names <body>

Returns the names of constants for the body that have overridable values. See Also: .asf_info.bodies_with_overridable_constants

BMO Info Commands

{rate} .bmo_info.frame_rate <anim>

  Returns the frame rate specified in the animation's BMO file.
If it is not specified an empty string will be returned.


{rate} .bmo_info.timecode_rate <anim> Returns the timecode rate specified in the animation's BMO file.
If it is not specified an empty string will be returned.

Charmappers Commands

{cm} .charmappers.create <anim>

Creates a new background charmapper instance using the given animation
as the target animation.

Returns:

The newly created CM object. See Also: <cm>.destroy

{cm list} .charmappers.objects

Returns the list of created CM objects. See Also: .charmappers.create

CM Commands

<cm>.destroy [-bake]

Terminates a background charmapping instance.

Options:

-bake

If not used, the charmapping result will not be applied to the
target animation. See Also: .charmappers.create

<cm>.load_charmap [-replace_source_prefix <replace text> <with text>]
[-replace_source_suffix <replace text> <with text>]
[-replace_target_prefix <replace text> <with text>]
[-replace_target_suffix <replace text> <with text>]
[-filter_var_names <bool>]
[-filter_asf1_root_name <bool>]
[-merge_with_existing_data <bool>]
<charmap file>

Loads a charmap into the CM object.

Options:

-replace_source_prefix
-replace_source_suffix
-replace_target_prefix
-replace_target_suffix


Filters the body names in the charmap using these prefix/suffix replacements before
the charmap is applied to the CM object.

-filter_var_names

If true, the variable names in the charmap will be affected by the replace filters.

Default Value: true

-filter_asf1_root_name

Only applies when ASF v1 files are being used in the source or target animation. If
false, the name filtering will not be applied to the root of the ASF.

Default Value: false

-merge_with_existing_data

If false, any existing charmap will be cleared from the CM Object before the loaded
charmap is applied.

Default Value: false See Also: .charmappers.create <cm>.set_source_anim .import_char_map

<cm>.save_charmap <file name>

Saves the current charmap to a file. See Also: .charmappers.create <cm>.load_charmap .import_char_map

<cm>.set_source_anim <anim>

Sets the source animation of the CM object. See Also: .charmappers.create <cm>.load_charmap <cm>.source_anim

{anim} <cm>.source_anim

Returns the source animation of the CM object. See Also: <cm>.set_source_anim <cm>.target_anim

{anim} <cm>.target_anim

Returns the target animation of the CM object. See Also: .charmappers.create <cm>.source_anim

Motion Commands

.append_motion <anim> (<bmo file> | <amc file> | <htr file>)

  Appends a motion to an existing animation's motion.

  See Also:

    .append_anim
    .open_motion
    .add_motion_appended_command

.create_motion <anim> <last scene frame id >

  Creates a motion for an animation.  All of the transformation values
  will be zero in the created motion.

  Parameters:

    <anim>

    The animation to create the motion for.  This animation cannot
    currently have a motion.

    <last scene frame id>

    Creates frames of motion for the animation that end at
    the given scene frame id.

  See Also:

    .open_motion

.import_motion <anim> (<anim file> | -giant <dof file> <bmo file> | -asf <asf file> <amc file>) <new motion file name>

  Imports a motion from a different animation type into an animation.

  See Also:

    .open_motion

.open_motion 
  [-working]
  [-replace_anim_transforms <boolean>] 
  [-replace_anim_frame_offset <boolean>]
  [-frame_reduce ignore_fraction <fraction>]
  <anim> 
  (<bmo file> | <amc file> | <htr file> | <bvh file>)

  Adds a motion to the given animation.

  Options:

    -working

    Displays a working dialog as the motion is loaded.

    -replace_anim_transforms <boolean>

    Replaces the animation's transformations with the
    transformations specified in the AMC motion file.
    Defaults to false.  This option only has meaning 
    when opening AMC v2.x or later motion files.

    -replace_anim_frame_offset <boolean>

    Replaces the animation's frame offset with the
    sample offset in the AMC motion file.  Defaults
    to false.  This option only has meaning when
    opening AMC v2.x or later motion files.

    -frame_reduce ignore_fraction <fraction>

    See <anim>.open_anim for details of this option.

  See Also:

    .open_anim
    .append_motion
    .open_ghost_motion
    <anim>.frame_reduction

.open_ghost_motion [-working] <anim> (<bmo file> | <amc file> | <htr file> | <bvh file>)

  Replaces the given animation's ghost motion with the contents of
  the given motion file.

  See Also:

    .open_motion

Body Commands

{accel list} <body>.angular_acceleration [-global] [<first anim frame id> <last anim frame id>]

Returns the angular acceleration of a body over a range of frames.

Options:

-global

Calculates the values relative to the animation's coordinate system. By
default, the values are calculated relative to the body.

Parameters:

<first anim frame id> <last anim frame id>

The frame range over which the values will be calculated. By default
the current marked range will be used.

Returns:

A list of pairs of values, the first value of the pair being the
anim frame id and the second being the value that was calculated.

See Also:

.from_scene_frame_id
<body>.angular_speed
<body>.linear_acceleration
<body>.linear_speed

{speed list} <body>.angular_speed [-global] [<first anim frame id> <last anim frame id>]

Returns the angular speed of a body over a range of frames.

Options:

-global

Calculates the values relative to the animation's coordinate system. By
default, the values are calculated relative to the body.

Parameters:

<first anim frame id> <last anim frame id>

The frame range over which the values will be calculated. By default
the current marked range will be used.

Returns:

A list of pairs of values, the first value of the pair being the
anim frame id and the second being the value that was calculated.

See Also:

.from_scene_frame_id
<body>.angular_acceleration
<body>.linear_speed
<body>.linear_acceleration

{anim} <body>.anim 

  Returns the animation that a body belongs to.

  See Also:

    <anim>.bodies

{attribute name list} <body>.attribute_names

  Returns a list of the body's attribute names.  Attributes are values
  beyond the typical transformations.  These typically are specified
  in an ASF 2.x file.

  See Also:

    <body>.attribute_value
    <body>.set_attribute_value

{value} <body>.attribute_value [-displayed] <attribute name> [<anim frame id>]

  Returns the value of a body attribute.
  Options:

-displayed

Use this option to return the value displayed in the UI even if the animation has a clip, timewarp curve
or is the target animation in Charmapper. Note that only the current frame's values can be retrieved when
the animation is the target animation in Charmapper
Parameters: <attribute name> The name of the attribute to return. <anim frame id> Which frame to retrieve the attribute from. Defaults to the current frame id. Returns: The value of the body's attribute on the given frame. See Also: <body>.attribute_names <body>.set_attribute_value

{vector} <body>.base_rotation

  Returns the rotation of the body relative to its parent
  before the body's motion is applied.

  Returns:

    A rotation vector in degrees.

  See Also:

    <body>.base_translation
    <body>.orientation

{vector} <body>.base_translation

  Returns the translation of the body relative to its parent
  before the body's motion is applied.

  Returns:

    A translation vector in inches.

  See Also:

    <body>.base_rotation
    <body>.position

{body list} <body>.children

  Returns the list of child bodies for the given body.

  See Also:

    <body>.parent

<body>.clear_limits <transform list> 

  Disable transformation limits on the body.

  Examples:

    [.selected_body].clear_limits rx ry rz
    [.selected_body].clear_limits {rx ry rz}

  See Also:

    <body>.limits
    <body>.enable_limits
    <body>.disable_limits
    <body>.set_limits

<body>.clear_streaming_property <property name>

  Clears (removes) a streaming property from a body.

  See Also:

    .enable_streaming
    <body>.streaming_property_names
    <body>.set_streaming_property

{<x> <y> <z>} <body>.closest_geo_coord { <x> <y> <z> }

  Finds the vertex on the body that is closest to the given 
  local coordinate.  The result is a local coordinate.

  See Also:

    .add_body_geo_goal
    .create_marker

{{<body> <tf> below|above} …} .current_frame_limit_violations

  Returns a list of body IK Limit violations for the current frame.

  See Also:

    <body>.set_limits

<body>.disable

  Disables the body so that it will not be used during an IK seek.

  See Also:

    .disable_body
    <body>.is_disabled
    .disabled_bodies
    <body>.enable

<body>.disable_limits <transform list> 

  Disable transformation limits on the body.

  Examples:

    [.selected_body].disable_limits rx ry rz
    [.selected_body].disable_limits {rx ry rz}

  See Also:

    <body>.limits
    <body>.enable_limits
    <body>.set_limits
    <body>.clear_limits

<body>.enable

  Enables the body so that it can be used during an IK seek.

  See Also:

    .enable_body
    <body>.is_disabled
    <body>.disable

<body>.enable_limits <transform list> 

  Enable transformation limits on the body.

  Examples:

    [.selected_body].enable_limits rx ry rz
    [.selected_body].enable_limits {rx ry rz}

  See Also:

    <body>.limits
    <body>.disable_limits
    <body>.set_limits
    <body>.clear_limits

{boolean} <body>.has_parent

  Returns true if the body has a parent body.

  See Also:

    <body>.parent

<body>.hide

  Hides the body.

  See Also:

    <body>.is_hidden
    <body>.unhide
    .hide_bodies
    .unhide_all

{number} <body>.id

  Returns the id of a body.

  See Also:

    <body>.name

{boolean} <body>.is_disabled

  Returns true if the body is disabled.

  See Also:

    .disabled_bodies
    <body>.disable
    <body>.enable
    .disable_body
    .enable_body

{boolean} <body>.is_hidden

  Returns true if the body is hidden.

  See Also:

    <body>.hide
    <body>.unhide
    .hide_bodies
    .unhide_bodies

{accel list} <body>.linear_acceleration [-global] [<first anim frame id> <last anim frame id>]

Returns the linear acceleration of a body over a range of frames.

Options:

-global

Calculates the values relative to the animation's coordinate system. By
default, the values are calculated relative to the body.

Parameters:

<first anim frame id> <last anim frame id>

The frame range over which the values will be calculated. By default
the current marked range will be used.

Returns:

A list of pairs of values, the first value of the pair being the
anim frame id and the second being the value that was calculated.

See Also:

.from_scene_frame_id
<body>.linear_speed
<body>.angular_acceleration
<body>.angular_speed

{speed list} <body>.linear_speed [-global] [<first anim frame id> <last anim frame id>]

Returns the linear speed of a body over a range of frames.

Options:

-global

Calculates the values relative to the animation's coordinate system. By
default, the values are calculated relative to the body.

Parameters:

<first anim frame id> <last anim frame id>

The frame range over which the values will be calculated. By default
the current marked range will be used.

Returns:

A list of pairs of values, the first value of the pair being the
anim frame id and the second being the value that was calculated.

See Also:

.from_scene_frame_id
<body>.angular_acceleration
<body>.angular_speed
<body>.linear_acceleration
.marker_average_global_linear_speed
.marker_global_linear_speed

{<transform> <limits> [<trasform> <limits> ...]} <body>.limits

  Returns the limits for the body.

  See Also:

    <body>.set_limits
    <body>.enable_limits
    <body>.disable_limits
    <body>.clear_limits

<body>.lock_transform <transform list>

  Locks the given body transformations so that their values
  cannot be modified.

  See Also:

    <body>.unlock_transform
    <anim>.load_transform_constraints
    <anim>.clear_transform_constraints
    <anim>.locked_transforms

{marker id list} <body>.marker_paths

  Returns all of the marker paths bound to this body.

  See Also:

    .marker_paths
    .bind_marker

{string} <body>.name

  Returns the name of a body.

  See Also:

    <anim>.bodies_with_name
    <body>.id

{marker id list} <body>.markers

  Returns a id list of all markers that are bound to the body.

  See Also:

    .bound_markers
    .unbound_markers

{<x> <y> <z>} <body>.orientation <anim frame id>

  Returns the global orientation of the given body for the 
  given frame.

  See Also:

    <body>.position

{body} <body>.parent

  Returns the parent of the body.

  See Also:

    <body>.has_parent
    <body>.children

{<x> <y> <z>} <body>.position [-zup] <anim frame id>

  Returns the global position of a body for a particular 
  frame.

  Options:

  -zup

    Converts the position to z-up world coordinate system.

  See Also:

    <body>.orientation

{body} <body>.root_body [-with_transforms]

  Returns the root body of the body.

  Options:

   -with_transforms

    If specified, the body that is returned will be the closest
    body to the root that has transformations.  The default behavior 
    is to return the root body regardless of whether or not it has
    transformations.

  See Also:

    <anim>.root_bodies

<body>.select [-replace | -toggle | -extend] 

  Makes a body selected.

  Options:

    -replace

    Clears the current selection and makes this body be selected.
    This is the default behavior if no option is given to this command.

    -toggle

    If the body is selected, makes it unselected.  If the body is
    not selected, makes it selected.

    -extend

    Makes all bodies selected from the currently selected body to
    this body.  If no body was previously selected, make this body
    be the selection.

  See Also:

    .selected_body
    .body_is_selected
    .clear_selected_body

<body>.set_attribute_value <attribute name> <value> [<anim frame id>]

  Sets the body's attribute value.

  Parameters:

    <attribute name>

    The name of the attribute to set.

    <value>

    The value to set.

    <anim frame id>

    Sets the value on the given frame.  Defaults to the current frame id.

  See Also:

    <body>.attribute_names
    <body>.attribute_value

<body>.set_limits {<transforms>} {<limits>} [{<transforms>} {<limits} ...]

  Where <limits> is (<lower limit> <upper limit>)

  Sets the transformation limits of a body.  These limits are used
  when inverse kinematic goals are applied.  Rotational limit values
  are in degrees.  The keyword “none” can be used to clear a limit.

  Examples:

    [.selected_body].set_limits rx {0.0 45.0}
    [.selected_body].set_limits {rx ry rz} {-90.0 90.0}
    [.selected_body].set_limits rx {-90.0 90.0} ry {-90.0 90.0}
    [.selected_body].set_limits rx {none 90.0}
    [.selected_body].set_limits {rx ry rz} {none none}

  See Also:

    <body>.enable_limits
    <body>.disable_limits
    <body>.clear_limits
    <body>.limits

<body>.set_streaming_property <property name> <property value>

  Sets a value on the body to stream to the streaming client.

  See Also:

    .enable_streaming
    <body>.streaming_property_names
    <body>.clear_streaming_property

<body>.set_weights (<transform list> <value list>) [...]

  Sets the IK weighting of a body.

  Parameters:

    <transform list>

    A list of transformations to modify.

    <value list>

    The new value(s) for the transformation weightings.  Valid 
    values range from 0 to 100.

  Examples:

    [.selected_body].set_weights tx 0 ty 50 tz 50
    $body.set_weights {rx ry tz} 50
    $body.set_weights {tx ry rz} {0 50 100}

  See Also:

    <body>.weights

{name list} <body>.streaming_property_names

  Returns a list of streaming property names that have been defined for the body.

  See Also:

    .enable_streaming
    <body>.set_streaming_property
    <body>.streaming_property_value
    <body>.clear_streaming_property

{value} <body>.streaming_property_value <property name>

  Returns the value of the given property defined for the body.

  See Also:

    .enable_streaming
    <body>.streaming_property_names
    <body>.clear_streaming_property
    <body>.set_streaming_property

{transform list} <body>.transforms

  Returns a list of transformations that are used by the body.

  See Also:

    .set_value
    .value
    .snap_to_body
    .init_body_motion

<body>.unhide

  Unhides the body.

  See Also:

    <body>.is_hidden
    <body>.hide
    .unhide_bodies
    .hide_bodies

<body>.unlock_transform <transform list>

  Clears the locks from the given body's transformations
  so that their values can be modified.

  See Also:

    <body>.lock_transform
    <anim>.load_transform_constraints
    <anim>.clear_transform_constraints
    <anim>.locked_transforms

{<transform list> <value list>} <body>.weights

  Returns the current weightings for a body.

  See Also:

    <body>.set_weights

{body list} .affected_bodies

  Returns the list of bodies that will be affected by the 
  currently enabled IK goals.

  See Also:

    .add_goal

{boolean} .body_is_selected

  Returns true if a body is currently selected.

  See Also:

    .selected_body
    <body>.select
    .clear_selected_body

.clear_selected_body

  Unselects all selected bodies.

  See Also:

    .selected_body
    .selected_bodies
    <body>.select
    .body_is_selected

.disable_body <body list>

  Disables a list of bodies.

  See Also:

    <body>.disable
    .disabled_bodies
    .enable_body
    <body>.enable
    <body>.is_disabled

{body list} .disabled_bodies

  Returns a list of all bodies that are disabled.

  See Also:

    <body>.is_disabled
    <body>.enable
    <body>.disable
    .enable_body
    .disable_body

.enable_body <body list>

  Enables a list of bodies.

  See Also:

    .disable_body
    <body>.is_disabled
    <body>.enable
    <body>.disable

.hide_bodies <body list>

  Hides one or more bodies.

  See Also:

    <body>.hide
    .unhide_bodies

{body list} .selected_bodies

  Returns all selected bodies.

  See Also:

    .selected_body
    .clear_selected_body
    .browser.selected_bodies

{body} .selected_body

  Returns the current, primary selected body.

  See Also:

    .body_is_selected
    <body>.select
    .clear_selected_body
    .selected_bodies
    .browser.selected_bodies

.unhide_bodies <body list>

  Unhides one or more bodies.

  See Also:

    <body>.unhide
    .hide_bodies

Browser Commands

{anim list} .browser.selected_anims [-all_types]

  Returns a list of all selected animations in the Browser.

Options:

-all_types

By default only selected Giant, ASF, BVH, HTR and Camera animations are returned.

{body list} .browser.selected_bodies

  Returns a list of all selected bodies in the Browser.

  See Also:

    .selected_bodies
    .selected_body

Poses Commands

{pose} .poses.create_pose [-descendants] <name> <body> <scene frame id>

  Creates a new pose entry for the given body.  The motion of the
  new pose will be the motion from the given frame and will be placed
  in a pose group who's structure matches the given bodies and its 
  descendants.  If no match exists, the new pose will be placed in a
  newly created pose group.

  Parameters:

    <name>

    The name to give the new pose.

    <body>

    The body who's structure and motion will be stored as the 
    new pose.

    <scene frame id>

    The motion from this frame will be stored in the new pose.

  Options:

    -descendants

    Creates the pose for the given body and its descendants.
    
  Returns:

    The newly created pose.

  See Also:

    .poses.remove_pose
    .poses.groups
    <pose>.apply
    <pose>.update

{pose group list} .poses.groups

  Returns a list of all pose groups.

  See Also:

    .poses.create_pose

.poses.load <file name>

  Loads poses from a file.

  See Also:

    .poses.save

{pose list} .poses.poses 

  Retuns a list of all poses.

  See Also:

    <pose group>.poses

.poses.remove_pose <pose>

  Removes a pose.  If the last pose in a group is removed,
  it's group is also removed.

  See Also:

    .poses.create_pose

.poses.save <file name>

  Saves the poses to a file.

  See Also:

    .poses.load

Pose Group Commands

{string} <pose group>.name

  Returns the name of the pose group.

  See Also:

    <pose group>.set_name

{pose list} <pose group>.poses 

  Returns all poses within this pose group.

  See Also:

    .poses.poses

<pose group>.set_name <string>

  Sets the name of the pose group.

  See Also:

    <pose group>.name

Pose Commands

<pose>.apply [-descendants_only] <body> [<scene start frame id> <scene end frame id>]

  Applies the pose to a body over a range of frames.

  Options:

    -descendants_only

    If used, only the descendants of <body> will be modified.  An
    example usage would be if a group of poses is created for 
    a hand, this option can be used so that when the hand pose is 
    applied, only the fingers will be modified.

  Parameters:

    <body>

    The body to modify.  The body and its descendants' structure
    must match the pose.

    <scene start frame id> <scene end frame id>

    The pose will be applied to all frames within this range.
    Defaults to the currently marked frame range.

  See Also:

    .poses.create_pose

{string} <pose>.name

  Returns the name of the pose.

  See Also:

    <pose>.set_name

<pose>.set_name <string>

  Changes the name of the pose.

  See Also:

    <pose>.name

<pose>.update <body> <scene frame id>

  Updates the pose for the given body to be it's position on the 
  given frame id.

  See Also:

    .poses.create_pose

Marker Commands


.bind_marker [-relative] <marker id> <body> <scene frame id>

Binds the given marker to the given body.
.bind_marker -multiple [-relative] {{<marker id> <body>} ...} <scene frame id> Binds the given markers to the given bodies. Options: -relative Relatively binds a marker path to the body. If the marker is not a path, this option is ignored.
-multiple If this option is given, an alternate form of the parameters
must be used. Instead of a single marker and body, a list of
marker/body pairs is expected. Using this option can result
in performance improvements when binding a lot of markers.
Parameters: <marker id> The id of the marker to bind. <body> The body to bind the marker to. <scene frame id> The frame id at which to bind the marker. See Also: .unbind_marker <body>.markers .bound_markers .unbound_markers

{marker id list} .bound_markers

  Returns a list of all bound markers.

  See Also:

    .unbound_markers
    .computed_markers
    <body>.markers

.clear_marker_composition_color <marker id>

  Resets colors that are used to draw this computed marker's composition elements back to its defaults.

  See Also:

    .set_marker_composition_color
    .set_marker_composition_is_always_displayed

{marker id list} .computed_markers

  Returns a list of all computed markers.

  See Also:

    .unbound_markers
    .bound_markers
    <body>.markers

{marker id} .copy_marker 
    <marker/path id> 
    [-name <name>] 
    [-frame_id <scene frame id>] 
    ([-bind <body>] | [-unbind]) 
    [<marker id>]

  Copies a marker or a marker in a marker path.

  Parameters:

    <marker/path id>

    The marker to copy or the marker path to copy a marker from.

  Options:
  
    -name <name>

    The name of the new marker.  Defaults to the next unused marker name
    in the sequence Marker1, Marker2, etc.

    -frame_id <scene frame id>

    Specifies what frame of a marker path to copy and/or what frames
    to bind to or unbind from.  A frame id of zero is valid if a marker
    path marker is not being copied.  Defaults to the current frame id.

    -bind <body>

    A body to bind the copy to.

    -unbind

    Specifies that the copy will be unbound if the original was bound.

    <marker id>

    The suggested id to use for the new marker.

  Returns:

    The id of the new marker.  Note that this can be different from
    the value specified for the <marker id> option if that id is 
    already being used.

  See Also:

    .create_marker
    .edit_marker
    .copy_path_of_marker
    .is_marker
    .remove_marker
    .create_marker_set

{marker path id} .copy_path_of_marker 
    <marker id> 
    [-name <name>] 
    [-display_range <scene first frame id> <scene last frame id>] 
    [-draw_markers <boolean>]
    [-draw_lines <boolean>]
    [-line_color <color>]
    [-smooth <smoothness> <tolerance>]
    [(-closest_vertex <anim frame id>|-closest_point_on_geo <anim frame id>)]
    [<marker path id>]

  Copies the path of the given bound marker.

  Parameters:

    <marker id>

    The id of the bound marker to copy.

  Options:

    -name <name>

    The name to use for the new marker path.  Defaults to "CopyOf" 
    plus the name of the marker that is being copied plus "Path".

    -display_range <scene first frame id> <scene last frame id>

    The range of frames to display, which can be a subset of the
    existing frames in the path.

    -draw_markers <boolean>

    If true, the marker positions of the path will be drawn.

    Default Value: If the copied marker has it’s path displayed
    the default value will be true if it’s markers are being
    drawn. If the copied marker has no displayed path, the
    default value is true.

    -draw_lines <boolean>

    If true, lines between the marker positions of the path will
    be drawn.

    Default Value: If the copied marker has it’s path displayed
    the default value will be true if it’s lines are being drawn.
    If the copied marker has no displayed path, the default value
    is true.

    -line_color <color>

    The color to use to draw the lines.  Defaults to black.

    -smooth <smoothness> <tolerance>

    Smooths the path.  The <smoothness> parameter must be an integer
    value greater than zero.  It indicates how much smoothness is to 
    be applied to the path.  The <tolerance> parameter must be a 
    floating-point value greater than zero.  It indicates how far away 
    (in inches) the new points on the path can be from the original 
    points.

    -closest_vertex <anim frame id>

    Instead of using the coordinate of the marker over the range of
    frames to generate the path, use the closest vertex to the marker
    on the given frame to generate the coordinates for the path.  The
    <anim frame id> is relative to <marker id>'s bound animation.

    -closest_point_on_geo <anim frame id>

    Instead of using the coordinate of the marker over the range of
    frames to generate the path, use the closest position to the marker
    on the the geo of the bound marker's body to generate the coordinates
    for the path.  The <anim frame id> is relative to <marker id>'s
    bound animation.

    <marker path id>

    The suggested identifier used to access the marker path.  The 
    returned id can be different from the suggested id if the 
    suggested id already exists.

  Returns:

    The identifier used to access this marker path.

  See Also:

    .create_marker_path
    .edit_marker_path
    .is_marker_path
    .marker_path_anim
    .marker_path_markers
    .marker_path_name
    .marker_path_display_range
    .marker_paths
    .marker_path_set_marker
    .smooth_marker_path
    .create_marker_set
    .remove_marker

{marker id} .create_average_marker 
              [-name <name>] 
              { {<marker id> <weight>} … } 
              [<new marker id>]

  Creates a marker who's position is computed from the
  weighted average of other marker positions.

  Options:

    -name <name>

    The name of the new marker.  Defaults to the next
    average marker name.

  Parameters:

    { {<marker id> <weight>} … }

    A list of marker id/weight pairs which will be
    used to calculate the position of this marker.

    <new marker id>

    The id of the new marker.  Defaults to the next
    average marker id.

  Returns:

    The id of the new marker.

  See Also:

    .edit_average_marker
    .create_geo_marker
    .create_line_constraint_marker
    .create_scaled_marker
.create_component_marker

{marker id} .create_center_of_mass_marker [-name <name>] <anim> [<marker id>]

Creates a center of mass marker who's position is the center of mass of an animation. The
marker will only have a position on frames where the animation has motion. Charmapper
target animations, timewarped animations and animations that have clips defined technically
do not have motion since their frames are generated upon demand, but a center of mass marker
will still produce a position in these cases.

Parameters:

-name <name>

The name to give the new marker. The default will be center_of_mass_marker with
a number and the end, if necessary, to make it unique.

<anim>

The animation to who's center of mass will be the position of this marker.

<marker id>

The id to use for the new marker. A marker unique id
will be generated if this is not specified. See Also: <anim>.display_center_of_mass <anim>.center_of_mass .create_geo_marker

{marker id} .create_component_marker [-name <name>] <x marker id> <y marker id> <z marker id> [<marker id>]
  Creates a component computed marker who's X Y and Z coordinates are retrieved
obtained from other markers.

Parameters:

-name <name>

The name to give the new marker. The default will be component_marker with
a number and the end, if necessary, to make it unique.

<x marker id>

The marker who's X value is to be used for the new marker.

<y marker id>

The marker who's Y value is to be used for the new marker.

<z marker id>

The marker who's Z value is to be used for the new marker.

<marker id>

The id to use for the new marker. A marker unique id
will be generated if this is not specified.

Return Value:

The id of the newly created marker. See Also: .create_average_marker .create_geo_marker .create_line_constraint_marker .create_max_distance_marker .create_scaled_marker

{marker id} .create_geo_marker [-name <name>] <marker id> <body> [<marker id>]
  Creates a geo computed marker who's position is on the surface of a body's geometry
closest to a marker. Parameters: -name <name> The name to give the new marker. The default will be component_marker with a number and the end, if necessary, to make it unique. <marker id> The geo marker position is the closest position to this marker. <body> The body that contains the geo. <marker id> The id to use for the new marker. A marker unique id will be generated if this is not specified. Return Value: The id of the newly created marker. See Also: .create_average_marker .create_scaled_marker .create_line_constraint_marker .create_max_distance_marker

{marker id} .create_marker 
    [-name <name>] 
    [-display_plane <boolean>] 
    [-plane_normal (<x> <y> <z> | {<x> <y> <z>)] 
    [-plane_width <number>]
    [-plane_length <number>]
    [-body <body>
      [-display_path [-range <scene first frame id> <scene last frame id>]
      [-draw_markers] [-draw_lines] [-line_color <color>]
    ]
    (<x> <y> <z> | {<x> <y> <z>}) 
    [<marker id>]

  Creates a bound or unbound marker.

  Parameters:

  <x> <y> <z>

  The position of the marker.

  Options:

    -name <name>

    The marker name.  Defaults to the next marker name in the sequence
    Marker1, Marker2, etc.

    -display_plane <boolean>

    If true, displays the marker plane.

    -plane_normal (<x> <y> <z> | {<x> <y> <z>)

    Defines the up vector of the marker plane.  Defaults to 0 1 0.

    -plane_width <number>

    Defines the width of the plane in inches.  Defaults to 12.0.

    -plane_length <number>

    Defines the length of the plane in inches.  Defaults to 12.0.

    -body <body>

    The body to bind the marker to.

    -display_path

    If used, the path of the bound marker will be displayed.

    -range <scene first frame id> <scene last frame id>

    The amount of the path to display.

    -draw_markers

    If used, all of the markers positions within the range will
    be shown.

    -draw_lines

    Connects the markers within the range with lines.

    -line_color <color>

    The color used to display the line.

    <marker id>

    The suggested identifier used to access the marker.  The returned
    marker id can be different from the suggested id if the suggested
    id already exists.


  Returns:

    The identifier used to access the marker.

  See Also:

    .copy_marker
    .copy_path_of_marker
    .edit_marker
    .remove_marker
    .create_marker_set
    .marker_plane_enabled
    .marker_plane_normal
    <body>.closest_geo_coord

{marker path id} .create_marker_path 
    [<anim>] 
    <name> 
    [-display_range <scene first frame id> <scene last frame id>]
    [-draw_markers] 
    [-draw_lines] 
    [-line_color <color>]
    {{<frame id> <x> <y> <z>} [...]} 
    [<marker path id>]

  Creates a marker path.

  Parameters:

    <name>

    The name of the new marker path.

    {{<frame id> <x> <y> <z>} [...]}

    The positions for the frames in the path.

  Options:

    <anim>

The coordinates and frame ids will be interpreted as being
relative to this animation. If it is not specified, the
frame ids and coordinates will be interpreted as being
relative to the scene.

 -display_range <scene first frame id> <scene last frame id> The range of frames to display, which can be a subset of the existing frames in the path. -draw_markers If specified, the actual positions of the path will be shown. -draw_lines If specified, the positions of the path will be connected with lines. -line_color <color> The color to use to draw the lines. Defaults to black. <marker path id> The suggested identifier used to access the marker path. The returned id can be different from the suggested id if the suggested id already exists. Returns: The identifier used to access this marker path. See Also: .copy_path_of_marker .edit_marker_path .marker_paths .is_marker_path .marker_path_anim .marker_path_markers .marker_path_name .marker_path_set_marker .marker_path_display_range .smooth_marker_path .remove_marker

{marker list} {goal list} .create_marker_set
  <body list> 
  [-set_of_1|-set_of_3|-set_of_4]
  [-name_prefix <string>]
  [-matching_unbound_markers]
  [-matching_unbound_paths
    [-draw_markers]
    [-draw_lines]
    [-line_color <color>]
    [<scene start frame id> <scene end frame id>]
  ]
  [-marker_pair_goals]
  [<scene frame id>]
  [<goal id list>]

  Creates a set of bound markers on a body or bodies.

  Options:

    -set_of_1

    One marker will be created for each body at their origin.

    -set_of_3

    Creates 3 markers per body.

    -set_of_4

    Creates 4 markers per body.

    -name_prefix <string>

    This string will be prepended to each new marker name.

    -matching_unbound_markers

    In addition to the bound marker set, create unbound
    copies of those markers.

    -matching_unbound_paths

    In addition to the bound marker set, copy the paths
    of the marker set.

    -matching_pair_goals

    Requires the use of either -matching_unbound_markers or
    -matching_paths.  For each pair, create a marker pair IK
    goal. 

  Parameters:

    <body list>

    A set of markers/goals will be created for each of these
    bodies.

    <scene frame id>

    The frame on which to apply the operation.  Defaults to
    the current frame id.

    <goal id list>

    The ids to use for the goals that are created.  Defaults
    to the next unused goal ids.

  Returns:

    {marker list}

    A list of ids for the markers that were created.

    {goal list}

    A list of ids for the goals that were created.

  See Also:

    .create_marker
    .copy_marker
    .copy_path_of_marker
    .add_marker_pair_goal
    .remove_marker

{marker id} .create_line_constraint_marker
              [-name <name>]
              <line point 1 marker id>
              <line point 2 marker id>
              <attractor marker id>
              [<marker id>]

  Creates a computed line constraint marker.  A line constraint
  marker's position is the closest point on a line between two
  markers to a third marker.

  Options:

    -name <name>

    The name of the new marker.  Defaults to the next
    line constraint marker id.

  Parameters:

    <line point 1 marker id>

    The marker that defines one end of the line.

    <line point 2 marker id>

    The marker that defines the other end of the line.

    <attractor marker id>

    The line constraint's position on the line is
    calculated to be the closest to this marker.

    <marker id>

    If specified, the new marker will have this id.

  Returns:

    The id of the new marker.

  See Also:

    .create_average_marker
    .create_component_marker
    .create_geo_marker
    .create_scaled_marker

{new marker id} .create_max_distance_marker
                [-name <name>]
                <marker id> <marker id> <distance>
                [<new marker id>]

  Creates a computed marker who’s position is between
  two markers, but at most <distance> away from the
  first marker.

  See Also:

    .create_average_marker
    .create_component_marker
    .create_geo_marker
    .create_marker
    .create_scaled_marker

{marker id} .create_scaled_marker
              [-name <name>]
              <marker id>
              <scale factor>
              [<new marker id>]

  Creates a computed scaled marker who's position
  is determined by applying a scale factor to a
  different marker's position.

  Options:

    -name <name>

    The name of the new marker.  Defaults to the
    next scaled marker id.

  Parameters:

    <marker id>

    The marker to use to calculate the position of
    the new marker.

    <scale factor>

    The scale factor to apply to the marker to
    calculate the position of the new marker.

    <new marker id>

    If specified, the new marker will have this id.

  Returns:

    The id of the new marker.

  See Also:

    .create_average_marker
    .create_component_marker
    .create_geo_marker
    .create_line_constraint_marker

.edit_average_marker <marker id> [-weight <component marker id> <weight>]

  Edits the weights of markers being used to calculate the position
  of a computed average marker.

  Options:

    -weight <component marker id> <weight>

    Sets the component marker's new weight.

  Parameters:

    <marker id>

    The id of the average marker.

  See Also:

    .create_average_marker

.edit_marker 
   <marker id> 
   [-name <name>] 
   [-position <x> <y> <z>]
   [-display_plane <boolean>]
   [-plane_normal (<x> <y> <z> | {<x> <y> <z>}]
   [-plane_width <number>]
   [-plane_height <number>]
   [-display_path <boolean>]
   [-path_range <scene first frame id> <scene last frame id>]
   [-draw_markers <boolean>]
   [-draw_lines <boolean>]
   [-line_color <color>]

  Modifies a marker.

  Parameters:

    <marker id>

    The id of the marker to modify.

  Options:

    -name <name>

    The new name of the marker.

    -position <x> <y> <z>

    The new position of the marker.  If the marker is bound, the
    position will be interpreted as relative to the body the marker 
    is bound to, otherwise the position will be interpreted as global.

    -display_plane <boolean>

    If true, displays the marker plane.

    -plane_normal (<x> <y> <z> | {<x> <y> <z>)

    Modifies the up vector of the marker plane.

    -plane_width <number>

    Modifies the width of the plane in inches.

    -plane_length <number>

    Modifies the length of the plane in inches.

    -display_path <boolean>

    Modifies whether or not the path will be displayed.  This option
    can only be used when modifying bound markers.

    -path_range <scene first frame id> <scene last frame id>

    Modifies the range of frames of the path to display.  This option
    can only be used when modifying bound markers.

    -draw_markers <boolean>

    Modifies whether or not markers will be drawn for the path.
    This option can only be used when modifying bound markers.

    -draw_lines <boolean>

    Modifies whether or not lines will be drawn between the markers
    in the path.

    -line_color <color>

    Modifies the color of the lines in the path.

  See Also:

    .create_marker
    .is_marker
    .marker_position
    .markers
    .remove_marker
    .marker_plane_enabled
    .marker_plane_normal

.edit_marker_path 
    <marker path id>
    [-name <name>]
    [-display_range <scene first frame id> <scene last frame id>]
    [-draw_markers <boolean>]
    [-draw_lines <boolean>]
    [-line_color <color>]
    [{{<scene frame id> <x> <y> <z>} [...]}]

  Modifies a marker path.

  Parameters:

    <marker path id>

    The id of the marker path to modify.

  Options:

    -name <name>

    The new name for the marker path.

    -display_range <scene first frame id> <scene last frame id>

    The new range of the path to display.

    -draw_markers <boolean>

    Changes whether or not the markers of the path are drawn.

    -draw_lines <boolean>

    Changes whether or not the lines between the markers of the path
    are drawn.

    -line_color <color>

    Changes the line color of the path.

    {{<scene frame id> <x> <y> <z>} [...]}

    New coordinates for existing frames in the path.

  See Also:

    .create_marker_path
    .copy_path_of_marker
    .marker_paths
    .marker_path_display_range
    .marker_position
    .is_marker_path
    .remove_marker

{marker id list} .import_3d_data_markers <anim> <file name>

  Imports markers from a 3d data file.  A 3d data file can be created
  with Giant motion capture applications.

  See Also:

    .import_markers
    .import_prob_def_markers
    .save_markers

{marker/path id list} .import_markers <anim> <file name>

  Imports a marker file into the given animation.

  See Also:

    .import_3d_data_markers
    .import_prob_def_markers
    .save_markers

{marker id list} .import_prob_def_markers <anim> <prob def filename> <models file name>

  Imports markers from a problem definition/models file set.

  See Also:

    .import_3d_data_markers
    .import_markers
    .save_markers

{boolean} .is_marker <id>

  Returns true if the given id is the id of a marker.

  See Also:

    .is_marker_path
    .markers
    .marker_paths

{boolean} .is_marker_path <id>

  Returns true if the given id is the id of a marker path.

  See Also:

    .is_marker
    .markers
    .marker_paths

{anim} .marker_anim <marker id>

  Returns which animation the marker is in.

  See Also:

    .marker_body

{number} .marker_average_global_linear_speed
         <marker id>
         [-units in/frame|in/sec|ft/sec|m/sec]
         [-frame_rate <rate>]
         [<frame id>]

  Calculates the average global linear speed of a marker at the given frame.

  Options:

    -units in/frame|in/sec|ft/sec|m/sec

    The units to use for the return value. The default is
    in/frame.

    -frame_rate <rate>

    The frame rate of the motion that the markers are relative to.

  See Also:

    .marker_global_linear_speed
    <body>.linear_speed

{body} .marker_body <marker id>

  Returns which body a marker is bound to.

  See Also:

    .marker_anim

{number} .marker_global_linear_speed <marker id>
         [-units in/frame|in/sec|ft/sec|m/sec]
         [-frame_rate <rate>]
         [<frame id>]

  Calculates the global linear speed of a marker at the given frame.

  Options:

    -units in/frame|in/sec|ft/sec|m/sec

    The units to use for the return value. The default is
    in/frame.

    -frame_rate <rate>

    The frame rate of the motion that the markers are relative to.

  See Also:

    .marker_average_global_linear_speed
    <body>.linear_speed

{boolean} .marker_is_bound <marker id>

  Returns true if the given marker is bound.

  See Also:

    .bound_markers
    .unbound_markers

{marker id list} .marker_list_selection

  Returns the markers that are selected in the marker list.

  See Also:

    .set_marker_list_selection
    .markers

{name} .marker_name <marker id>

  Returns the name of the given marker.

  See Also:

    .marker_path_name

{anim} .marker_path_anim <marker path id>

  Returns which animation the marker is in.

  See Also:

    .marker_path_markers
    .marker_path_name
    .marker_path_body

{body} .marker_path_body <marker path id>

  Returns the body that the given marker path is bound to.

  See Also:

    .bind_marker
    .bound_markers
    .marker_path_is_bound
    .marker_path_anim

{<scene start frame id> <scene end frame id>} .marker_path_display_range <marker path id>

  Returns which frame range is being displayed for the marker path.

  See Also:

    .create_marker_path
    .copy_path_of_marker
    .edit_marker_path

{boolean} .marker_path_is_bound <marker path id>

  Returns 1 if the marker path is bound to a body.

  See Also:

    .marker_path_anim
    .marker_path_body
    .marker_path_markers

{{<scene frame id> <x> <y> <z>} [...]} .marker_path_markers <path id>

  Returns a list of all the positions of the markers in the marker path.

  See Also:

    .marker_path_anim
    .marker_path_name
    .marker_path_set_marker

{name} .marker_path_name <marker path id>

  Returns the name of the marker path.

  See Also:

    .marker_path_anim
    .marker_path_markers

{marker path id list} .marker_paths

  Returns a list of all marker paths.

  See Also:

    .markers
    .marker_list_selection
    <body>.marker_paths

.marker_path_set_marker <marker path id> <scene frame id> <x> <y> <z>

  Changes the position of a marker in a marker path.  If the marker
  path does not have a marker for the given frame id, the marker is
  added to the path.

  See Also:

    .edit_marker_path
    .marker_path_markers

{boolean} .marker_plane_enabled <marker id>

  Returns true if the marker's plane is enabled.

  See Also:

    .create_marker
    .edit_marker
    .add_plane_goal
    .marker_plane_normal

{<x> <y> <z>} .marker_plane_normal <marker id>

  Returns the normal vector of the marker plane.  This is the “Up” vector.

  See Also:

    .create_marker
    .edit_marker
    .marker_plane_enabled

{<x> <y> <z>} .marker_position [-global [-zup]] <marker id> [<scene frame id>]

  Returns the position of a marker in the given frame.

  Parameters:

    <marker id>

    The marker to query.

    <scene frame id>

    Defaults the the current frame id.

  Options:

    -global

    If used, the position for the given frame is converted to 
    global space.

    -zup

    Converts the marker's global coordinate to zup space.  This
    can only be used if the -global option is also specified.

  See Also:

    .edit_marker
    .marker_anim
    .marker_body
    .marker_is_bound

{marker/path id list} .markers

  Returns a list of all markers (bound, unbound and marker paths).

  See Also:

    .bound_markers
    .marker_paths
    .unbound_markers
    .marker_list_selection

.remove_marker <marker/path id list>

  Removes a list of markers and marker paths.

  See Also:

    .create_marker
    .create_marker_path
    .create_marker_set
    .copy_path_of_marker

.save_markers [-anim <anim>] <file name>

  Saves a marker file.

  Options:

    -anim <anim>

    All markers on the given animation and sub animations will
    be saved to a file.  The default is the top animation.

  Parameters:

    <file name>

    The name of the file to save.

  See Also:

    .import_markers

.select_marker <marker/path id>

  Selects a marker.

  See Also:

    .selected_marker
    .set_marker_list_selection

{marker/path id} .selected_marker

  Returns the currently selected marker or marker path.

  See Also:

    .is_marker
    .is_marker_path
    .marker_is_bound
    .select_marker
    .marker_list_selection

.set_marker_composition_color <marker id> <color>

  Overrides the colors used to draw the composition of this computed marker.

  See Also:

    .clear_marker_composition_color
    .set_marker_composition_is_always_displayed

.set_marker_composition_is_always_displayed <marker id> <boolean>

  By default, a computed marker's composition is only drawn when it is the selected marker.

  See Also:

    .set_marker_composition_color
    .clear_marker_composition_color

.set_marker_list_selection <marker id list>

  Selects markers in the marker list.

  See Also:

    .marker_list_selection
    .select_marker

.smooth_marker_path
   <marker path id>
   [-anchor_ends]
   [-temporary]
   <smoothness>
   <tolerance>
   <scene first frame id>
   <scene last frame id>

  Smooths a portion of a marker path.

  Options:

    -anchor_ends

    If used, the smoothness is “eased-in” at the beginning of the rane
    and “eased-out” at the end of the range.

    -temporary

    When used, the smoothed state of the marker path is marked as
    temporary.  Marker paths with a temporary smoothed state can be
    restored to their original, non-temporary state by using:

      .smooth_marker_path <marker path id> 0 0.0 <scene first frame id> <scene last frame id>
    
    This option is primarily intended to be used by the Nuance GUI.

  Parameters:

    <marker path id>

    The id of the marker path to smooth.

    <smoothness>

    Must be an integer value greater than zero that indicates how 
    much smoothness is to be applied to the path. 

    <tolerance>

    A floating-point value greater than zero that indicates how far 
    away (in inches) the new points on the path can be from the 
    original points.

    <scene first frame id> <scene last frame id>

    The frame range of the marker path to smooth.

  See Also:

    .create_marker_path
    .copy_path_of_marker

.unbind_marker <marker id list> <scene frame id>
  
  Unbinds the given markers.

  Parameters:

    <marker id list>

    The id of the markers to unbind.

    <scene frame id>

    The frame id at which to unbind the markers.

  See Also:

    .bind_marker
    .marker_is_bound

{marker id list} .unbound_markers

  Returns a list of all unbound markers. Note that all computed markers are considered unbound.

  See Also:

    .bound_markers
    .computed_markers
    .markers

Goal Commands

{goal id} .add_body_geo_goal 
            [(-below_only|-above_only)] 
            [-per_frame <scene frame id>]
            [-use_ghost] 
            <marker id> 
            <body> 
            [<goal id>]

  Adds an IK goal which tries to keep a bound marker at a body's closest
  geometric vertex.

  Options:

    -below_only

    The goal will only be applied if the bound marker is below the
    geometry of the body.

    -above_only

    The goal will only be applied if the bound marker is above the 
    geometry of the body.

    -per_frame <scene frame id>

    If specified, the global position of the body's closest geometric
    vertex on the given frame is used, otherwise a new global position
    is calculated per frame during the seek.

    -use_ghost

    If specified, the position of the body in the ghost will be used
    to generate the global position of the body's closest geometric
    vertex.

  Parameters:

    <marker id>

    The bound marker that the goal will be applied to.

    <body>

    The body that contains the geometry.

    <goal id>

    The id to use for the new goal.

  See Also:

    .add_goal
    .goals
    .goal_info
    .seek_goals

{goal id} .add_fix_body_orientation_goal 
    (
      ([-per_frame <scene frame id>] [-use_ghost]) |
      [-orientation <x> <y> <z>]
    )
    <body>
    [<goal id>]

  Adds an IK goal which tries to keep a body's orientation fixed.

  Parameters:

    <body>

    The body to keep fixed.

  Options:

    -per_frame <scene frame id>

    Keeps the body's orientation fixed as it is in the given frame.  
    The default behavior is that the body's orientation is kept fixed 
    as it is in the current frame.

    -use_ghost

    Keeps the body's orientation fixed relative to the body's ghost
    position.

    -orientation <x> <y> <z>

    The explicit orientation, in degrees, to fix the body to.

    <goal id>

    The id to be used to access the goal.

  Returns:

    The assigned goal id.

  See Also:

    .add_goal
    .add_pin_body_origin_goal
    .disable_goal
    .enable_goal
    .goal_info
    .goals
    .remove_goal
    .seek_goals

{goal id} .add_goal <goal type> <goal specific parameters>

  An alternate method of adding a goal.

  Parameters:

    <goal type>

    The type of goal to add.  Valid goal types are:
      fix_body_orientation
      floor (deprecated)
      plane
      marker_pair
      pin_body_origin
      rot_handle
      trans_handle
      body_geo

    <goal specific parameters>

    The parameters to pass to the procedure that adds the given type
    of goal.

  Returns:

    The id used to access the added goal.

  Example:

    .add_goal plane { -below_only [.selected_marker] }

  See Also:

    .add_fix_body_orientation_goal
    .add_plane_goal
    .add_body_geo_goal
    .add_marker_pair_goal
    .add_pin_body_origin_goal
    .add_rot_handle_goal
    .add_trans_handle_goal
    .disable_goal
    .enable_goal
    .goal_info
    .goals
    .remove_goal
    .seek_goals
    .affected_bodies

.add_ik_setup <name>

  Adds a new IK Setup with the given name. 

  See Also:

    .set_current_ik_setup
    .rename_ik_setup
    .remove_ik_setup
    .load_ik_setups

{goal id} .add_marker_pair_goal 
    <origination marker id> 
    (<destination marker id> | <destination marker path id>)
    [<goal id>]

  Adds a goal which attempts to keep to markers in the same global
  position.

  See Also:

    .add_goal
    .add_plane_goal
    .disable_goal
    .enable_goal
    .goal_info
    .goals
    .remove_goal
    .seek_goals
    .create_marker_set

{goal id} .add_pin_body_origin_goal 
    (
      ([-per_frame <scene frame id>] [-use_ghost]) |
      [-position <x> <y> <z>]
    )
    <body>
    [<goal id>]

  Adds a goal which tries to keep a body's origin pinned.

  See Also:

    .add_goal
    .add_fix_body_orientation_goal
    .add_plane_goal
    .disable_goal
    .enable_goal
    .goal_info
    .goals
    .remove_goal
    .seek_goals

{goal id} .add_plane_goal
    [-below_only | -above_only] 
    <origin marker id>
    (floor | <destin marker id>)
    [<goal id>]

  Adds a goal which tries to keep a bound marker on a marker plane or
  the floor.

  Options:

    -below_only

    The goal will only be applied when the bound marker is below the
    plane.

    -above_only

    The goal will only be applied when the bound marker is above the
    plane.

  Parameters:

    <origin marker id>

    The bound marker that is to be kept on the plane.

    floor

    If this keyword is used, the floor will be used as the plane.

    <destin marker id>

    The marker to use as the plane.  The plane of the marker must
    have its plane attribute enabled.

    <goal id>

    The id to use for the new goal.

  See Also:

    .add_goal
    .goal_info
    .seek_goals
    .marker_plane_enabled

{goal id} .add_rot_handle_goal [-pivot_marker <marker>] <body> [<goal id>]

  Adds an interactive IK rotate handle to a body.

  Parameters:

    <body>

    The body to place the ik handle on.

  Options:

    -pivot_marker <marker>

If specified, the body will be rotated around a pivot who's position is derived from the
current position of the given marker. Note that the pivot will move during the IK solve
if the marker position is affected by the IK solve.

<goal id> The identifier used to access the goal. Returns: The identifier used to access the goal. See Also: .add_goal .disable_goal .enable_goal .goal_info .goals .remove_goal .seek_goals .set_ik_rot_handle_destination

{goal id} .add_trans_handle_goal 
    [-removed_action <Tcl command>]
    [-offset (<x> <y> <z> | {<x> <y> <z>})] 
    <body> 
    [<goal id>]

  Adds an interactive IK translate handle to a body.

  Parameters:

    <body>

    The body to place the ik handle on.

  Options:

    -removed_action <Tcl command>

    The Tcl command to execute when the handle is removed.

    -offset (<x> <y> <z> | {<x> <y> <z>})

    The offset, in inches, from the origin of the body which will act
    as the origination point for the handle.

    <goal id>

    The identifier used to access the goal.

  Returns:

    The identifier used to access the goal.

  See Also:

    .add_goal
    .disable_goal
    .enable_goal
    .goal_info
    .goals
    .remove_goal
    .seek_goals
    .set_ik_trans_handle_position

.disable_goal <goal id list>

  Disables goals so that it is not part of the IK seek.

  See Also:

    .disabled_goals
    .enable_goal
    .enabled_goals
    .goals

{goal id list} .disabled_goals

  Returns a list of the disabled goal ids.

  See Also:

    .enable_goal
    .enabled_goals
    .disable_goal
    .goals

.enable_goal <goal id list>

  Enables goals so that it is part of the IK seek.

  See Also:

    .enabled_goals
    .disable_goal
    .disabled_goals
    .goals

{goal id list} .enabled_goals

  Returns a list of the enabled goal ids.

  See Also:

    .enable_goal
    .disable_goal
    .disabled_goals
    .goals

{<goal type> <goal specific parameters>} .goal_info <goal id>

  Returns the goal type and parameters used to create this goal,
  which is useful for copying a goal.

  See Also:

    .add_goal
    .goals

{goal id list} .goals

  Returns a list of all of the goal ids.

  See Also:

    .disable_goal
    .enable_goal
    .goal_info

{body} .ik_trans_handle_body <goal id>

  Retrieves the body which has the ik handle attached.

  See Also:

    .add_trans_handle_goal
    .ik_trans_handle_position

{<x> <y> <z>} .ik_trans_handle_position <goal id>

  Retrieves the current global position ik handle with the
  given goal id.

  See Also:

    .add_trans_handle_goal
    .ik_trans_handle_body

.load_ik_setups <file name>

  Loads an IK setups file.

  See Also:

    .add_ik_setup
    .set_current_ik_setup
    .rename_ik_setup
    .remove_ik_setup

.remove_goal <goal id list>

  Removes one or more goals.

  See Also:

    .goals

.remove_ik_setup <name>

  Removes the IK setup with the given name.

  See Also:

    .add_ik_setup
    .set_current_ik_setup
    .rename_ik_setup
    .load_ik_setups

.rename_ik_setup <name> <new name>

  Renames an IK setup.

  See Also:

    .add_ik_setup
    .set_current_ik_setup
    .remove_ik_setup
    .load_ik_setups

.seek_goals 
    [-display_progression] 
    [-working] 
    [-no_redraw] 
    [-anim <anim>] 
    [-anim_weights {transform list} {value list} [{transform list} {value list} ...] 
    (<scene frame id> | (<scene start frame id> <scene end frame id>))

  Seeks the enabled IK goals.

  Parameters:

    <scene frame id>

    The frame that is to be modified.

    <scene start frame id> <scene end frame id>

    The frame range that is to be modified.

  Options:

    -display_progression

    If used, the intermediate seek positions are displayed.

    -working

    If used, a working dialog is displayed while the command
    executes.

    -no_redraw

    If used, the 3d view will not be drawn until the seek for the 
    entire range is complete.

    -anim <anim>

    If used, only the animation transforms will be used during the
    seek.  All body transforms will automatically be disabled.

    -anim_weights {transform list} {value list} [{transform list} {value list}

    Provides a way to allow certain animation transformations to
    be used more than others during an animation seek goals operation.

  See Also:

    .add_goal
    .enable_goal
    .disable_goal
    .seek_tolerance

{value} .seek_tolerance (-reset | <value>)

  Set or resets and returns the ik seek tolerance in inches.

  See Also:

    .seek_goals

.set_current_ik_setup <name>

  Sets the current ik setup to the one with the given name.

  See Also:

    .add_ik_setup
    .rename_ik_setup
    .remove_ik_setup
    .load_ik_setups

.set_goal_weight <goal list> <weight>

  Sets the IK weights of the goals.  Goals with higher weights
  will have priority when performing a seek operation.

  Parameters:

    <goal list>

    The goals to modify.

    <weight>

    The weight to use for the goals.  Valid weights are from
    1 to 10.

  See Also:

    .seek_goals

.set_ik_rot_handle_destination <goal id> <rx> <ry> <rz> <tx> <ty> <tz>

  Sets the seek destination of the rotate handle goal. The rotation values are relative to the
  animation that the handle is on. The translation values are relative to the given rotation
  values.

  See Also:

    .add_rot_handle_goal
  

.set_ik_trans_handle_position <goal id> <x> <y> <z>

  Sets the animation relative position of the ik translate handle.

  See Also:

    .add_trans_handle_goal

Edit Commands

.add_rotate_handle [-rotated_action <Tcl command>] [-removed_action <Tcl command>]

  Adds a rotate handle manipulator to the currently primary selected body.

  Options:

    -rotated_action <Tcl command>

    The Tcl command that will be evaluated after each change of the
    body.

    -removed_action <Tcl command>

    The Tcl command that will be evaluated after the manipulator
    is removed from the body.


  See Also:

    .rotate_body
    .remove_rotate_handle

.aim_camera <anim> <marker id list> [<scene start frame id> <scene end frame id>]

  Changes an camera's motion so that the camera is aiming at the 
  average position of the given markers over a range of frames.


  Parameters:

    <anim>

    The camera animation to modify.

    <marker id list>

    The markers to aim at.

    <scene start frame id> <scene end frame id>

    The range of motion to modify.  Defaults to the currently
    marked frames.

  See Also:

    .camera

.blend
  [-working] 
  [-coincide (average_root_pos|<body>) xyz|xy|xz|yz|x|y|z] 
  [-curve <curve>] 
  [<scene region1 start frame id> <scene region1 end frame id>] 
  [<scene region2 start frame id>]

  Blends one range of motion over a different range of motion within
  the working animation group.

  Options:

    -working

    If used, a working dialog will be managed during the operation.

    -coincide (average_root_pos|<body>) xyz|xy|xz|yz|x|y|z

    If used, the second range of motion will be translated so as to
    make the first frame of the second range line up with the first 
    frame of the first range.  The coordinate to use to line up the
    motions can be the origin of a body, or the average of all the
    root bodies in the animation.  The axes to coincide must also be 
    specified.  The most common axes to use are xz.  This aligns the
    motion along the floor without translating the motion up or down.

    -curve <curve>

    The interpolation curve to use.  Defaults to the current
    interpolation curve.

    <scene region1 start frame id> <scene region1 end frame id>

    The first frame range.  Defaults to the marked frames.

    <scene region2 start frame id>

    The first frame of the second range.  Defaults to the current frame
    id.

  See Also:

    .interp_curve
    .add_pre_blend_command
    .add_post_blend_command

.body_delta <body list> [-descendants] [-delta_space local|object|ui_setting] [-curve <curve>] [<scene first frame id> <scene last frame id>]

  Performs a delta operation on the given bodies and optionally, 
  the descendants of those bodies.

  Options:

    -descendants

    If specified, a delta operation will be performed on the
    descendants of the given bodies.

    -delta_space local|object|ui_setting

    Defaults to ui_setting.

    -curve <curve>

    The curve to use to distribute the interpolation.  Defaults
    to a linear curve.

  Parameters:

    <body list>

    The bodies to perform the operation on.

    <scene first frame id>

    The first frame of the range over which the operation
    will be applied.  Defaults to the first marked frame.

    <scene last frame id>

    The last frame of the range over which the operation
    will be applied.  Defaults to the last marked frame.

  See Also:

    .delta

.body_interp [-descendants] [-curve <curve>] <body> [<scene start frame id> <scene end frame id>]

  Interpolates a body's transformations over a range of frames.

  Options:

    -descendants

    If used, the body and its descendants will be interpolated.

    -curve <curve>

    The interpolation curve to use.  Defaults to the current 
    interpolation curve.

  Parameters:

    <body>

    The body to interpolate.

    <scene start frame id> <scene end frame id>

    The range of frames to modify.  Defaults to the marked frames.

  See Also:

    .body_spline_interp
    .fill
    .interp_curve
    .selected_body

.body_spline_interp [-descendants] [-smooth_sampling] [<body list>] <scene frame id list>

  Performs a spline interpolate on the given body through the given
  key frames.

  Options:

    -descendants

    If used, the body and all its descendants will be spline 
    interpolated.

    -smooth_sampling

    If specified, an alternate motion sampling method is used.

  Parameters:

    <body list>

    The list of bodies to interpolate.  Defaults to the currently selected body.

    <scene frame id list>

    The list of key frames to interpolate through.  These frames will
    not be modified.

  See Also:

    .body_interp
    .selected_body
    .smooth

.calculate
    [-condition <expression>] [<body>] 
    ({<transform or attribute list> (=|+|-|*|/) <value>} [...]) 
    [<scene start frame id> <scene end frame id>]

  Calculates new values for a body's transformations or attributes.

  Options:

    -condition <tcl expression>
    
    If specified, the calculate operation will only be applied if
    on the frames where the condition tcl expression evaluates to a
    non-zero result.  The following variables are defined for use in 
    this expression:

    frame           The anim frame that is currently being modified.
    body            The body who's transformation is currently being
                    modified.

    transform or attribute       
                    The transformation or attribute that is currently 
                    being modified.
                    Transform will be one of: tx ty tz rx ry rz sx sy sz.
                    Attribute will be one of the values returned by
                    <body>.attribute_names that has a numeric value
                    type.

    value           The value of the body's transformation before it is 
                    modified.

    range_fraction  A value ranging from 0 to 1 which indicates the 
                    position of the current frame within the frame range.

    start_frame     The first anim frame that will be modified.

    end_frame       The last anim frame that will be modified.

    curve_value     The value of the interpolation curve for the current 
                    frame.  This value will range from 0 to 1.

  Parameters:

    <body>

    The body whose transformations are to be modified.  Defaults
    to the selected body.

    ({<transform or attribute list> (=|+|-|*|/) <value>} [...])

    The operations to be performed.

    <scene start frame id> <scene end frame id>

    The frame range to perform the operations on.  Defaults to the
    marked frame range.

  Examples:

    .calculate .top_anim.model.body6 {tx / 5} {{ty tz rx ry rz} = 0} 1 5
    .calculate {rx = 5}

  Note:

    Rotation values are expected in degrees.

  See Also:

    .selected_body
    .set_value
    .value
    .snap_to_body
    .init_body_motion
    <body>.attribute_names
    .preserve_momentum

.char_map_apply
    [-src_bmo_master_tc_rate_override <tc rate>]
    [-bkg_layer_motion_file <file>]
    [-disable_bkg_layer]
    [-allow_expr_errors]
    -layer 
    [-source <anim>]
    [-offset <value>]
    [-range <source anim start frame id> <source anim end frame id>]
    [-deformation_lattice <file name>]
    [-base_trans <vector>] 
    [-base_rot   <vector>]
    [-base_scale <vector>]
    [-deformed_trans <vector>]
    [-deformed_rot   <vector>]
    [-deformed_scale <vector>]
    ([-curve_deformer <file name>] |
     [-curve_deformer_data <data>])
     [-sro_trans <body> <vector>]
     [-sro_rot <body> <vector>]
    (-char_map_file <file> | <character map>)
    [[-layer ...]  ...]

    Where vector is <x> <y> <z> or {<x> <y> <z>}

  Applies a series of character maps, in layers, to the current target
  animation.  The target animation is defined by the .char_map_begin
  command.

  Options:

    -src_bmo_master_tc_rate_override <tc rate>

    Overrides the timecode rate of all source animations that have BMO
    type motions.  This option must be used before the first -layer
    option.

    -bkg_layer_motion_file <file>

    Specifies the motion to use for the background layer.  By default,
    the target animation's motion is used.  This option must be used
    before the first -layer option.

    -disable_bkg_layer

    Disables the background layer during the operation.  This option
    must be used before the first -layer option.  This option must be
    used before the first -layer option.

    -allow_expr_errors

    If specified, errors in character mapper expressions will not
    cause the operation to abort.  This option must be specified
    before the first -layer option.

    -layer

    Begins a new character mapper layer.

    -source <anim>

    The source animation for the layer.

    -offset <value>

    If used, this value will offset the incoming frames in time by
    the given number of frames.

    -range <source anim start frame id> <source anim end frame id>

    The range of frames from the source animation to apply to
    the target animation.

    -deformation_lattice <file name>

    Loads a deformation lattice to use on the layer.

    -base_trans <vector>
    -base_rot   <vector>
    -base_scale <vector>

    Defines the coordinate system for the base part of the
    deformation lattice or curve deformer.

    -deformed_trans <vector>
    -deformed_rot <vector>
    -deformed_scale <vector>

    Defines the coordinate system for the deformed part of
    the deformation lattice or curve deformer.

    -curve_deformer <file name>

    Loads a curve deformer to use on the layer.

    -curve_deformer_data <data>

    Instead of loading the curve deformer from a file, this
    allows the specification of the curve deformer in this
    command.

    -sro_trans <body> <vector>

    Specifies a translation offset for a root body in the source
    animation.  This can be specified more than one time per
    layer.

    -sro_rot <body> <vector>

    Specifies a rotation offset for a root body in the source
    animation.  This can be specified more than one time per 
    layer.

    -char_map_file <file> | <character map>

    Specifies the character map for the layer.  Optionally, a
    character map file can be specified.

  See Also:

    .char_map_begin
    .char_map_cancel
    .import_char_map_project

.char_map_begin [-disable_locked_transforms] <anim>

  Begins a character mapping session.

  Parameters:

    <anim>

    The target animation.

  Options:


    -disable_locked_transforms

    During this charmapper session, ignore any locked transforms that may exist
    in the target animation.


  See Also:

    .import_char_map_project
    .char_map_apply
    .char_map_cancel

.char_map_cancel

  Cancels a character mapping session that was started with .char_map_begin.

  See Also:

    .char_map_begin
    .char_map_apply
    .import_char_map_project

.copy_body_motion 
    <body> 
    [-descendants] 
    [-delta [-delta_space local | object | ui_setting]]
    [-clipboard <body clipboard>] 
    <scene start frame id> <scene end frame id>

  Copies the motion from a body to an internal clipboard.  Use
  .paste_body_motion to copy from the clipboard to another body.

  Parameters:

    <body>

    The body to copy.

    <scene start frame id> <scene end frame id>

    The frame range to copy.

  Options:

    -descendants

    If used, the descendants of the body will also be copied.

    -delta

    If used, the difference between the ghost and non-ghost motions
    will be copied instead of the motion.

    -delta_space object | local | ui_setting

    A value of object means that deltas are performed relative to the
    parent's coordinate system.  A value of local means that deltas are
    performed in the local coordinate system of the body.  A value of
    ui_setting means object or local based on the Perform Deltas In 
    Local Space setting in the user interface.  The default value
    for this option is object.

    -clipboard <body clipboard>

    The body clipboard to copy the motion to.  If not specified,
    the default body clipboard is used.

  See Also:

    .create_body_clipboard
    .destroy_body_clipboard
    .paste_body_motion

.copy_to [-existing_frames_only] <scene destination frame id> [<scene start frame id> <scene end frame id>]

  Copies the working animation group's motion from a range of frames 
  to another location within the animation group.

  Parameters:

    <scene destination frame id>

    The frame to copy the range to.

  Options:

    -existing_frames_only

    If used, any missing frames within the range are not removed from
    the destination.

    <scene start frame id> <scene end frame id>

    The frame range to copy.  Defaults to the marked frames.

  See Also:

    .copy_body_motion
    .paste_body_motion

{anim} .create_blended_anim [-curve <curve>] <anim 1> <anim 2> [<scene blend area start frame id> <scene blend area end frame id>]

  Creates a new animation group which is the result of blending two
  animation groups.  The resulting animation group will consist of <anim 1> 
  up to the blend area with the blend area consisting of a blend between 
  <anim 1> and <anim 2>.  The remaining frames of the result will consist 
  of motion from <anim 2> that exist after the end of the blend area.

  Options:

    -curve <curve>

    The curve to use to interpolate the blend area.  The default value 
    is the current intperpolation curve.

  Parameters:

    <anim 1>

    The first of the two animations to blend.

    <anim 2>

    The second of the two animations to blend.

    <scene blend area start frame id> <scene blend area end frame id>

    Defines the blend area.  The default value is the currently marked
    frames.

  Returns:

    The resulting animation.

  See Also:

    <anim>.coincide_group
    .interp_curve
    .blend
    .add_pre_blend_command
    .add_post_blend_command

{body clipboard} .create_body_clipboard

  Creates a body clipboard.  The body clipboard can be used as a
  temporary storage object.

  See Also:

    .copy_body_motion
    .destroy_body_clipboard
    .paste_body_motion

.delete
    [-erase_only] 
    [-every|-every_other|-every_third|-every_fourth|-every_even|-every_odd|-all_except] 
    [-exclude] 
    [<scene start frame id> <scene end frame id>]

  Deletes frames of the working animation group's motion.

  Options:

    -every|-every_other|-every_third|-every_fourth|-every_even|-every_odd|-all_except

    The mode of deletion.  The default is -every.

    -exclude

    If used, the start and end frames of the range will be excluded
    from the deletions.

    <scene start frame id> <scene end frame id>

    The frame range to modify.  Defaults to the marked frames.

  See Also:

    .delete_explicit

.delete_explicit [-erase_only] <scene frame id list>

  Deletes the list of frames in the working animation group.

  See Also:

    .delete

.delta [-delta_space object | local | ui_setting] [-curve <curve>] [<scene start frame id> <scene end frame id>]

  Interpolates out the difference between a non-ghost motion frame
  and a ghost motion frame for the working animation group.

  Options:

    -delta_space object | local | ui_setting

    A value of object means that deltas are performed relative to the
    parent's coordinate system.  A value of local means that deltas are
    performed in the local coordinate system of the body.  A value of
    ui_setting means object or local based on the Perform Deltas In 
    Local Space setting in the user interface.  The default value
    for this option is object.

    -curve <curve>

    A list of values representing a curve used to determine how the
    motion will be interpolated.

  See Also:

    .interp_curve
    .copy_body_motion
    .delta_spline_interp
    .body_delta

.delta_spline_interp 
  [-delta_space object|local|ui_setting] 
  (-anim <anim>|-body <body list> [-descendants]) 
  [-smooth_sampling]
  <scene frame id keyframe list>

  Interpolates out the differences between an animation group's
  non-ghost motion and ghost motion using a spline through the 
  given keyframes.

  Options:

    -anim <anim>

    Apply the delta operation to all bodies in the animation group.

    -body <body list> [-descendants]

    Apply the delta operation to the given bodies, and optionally to
    all of the given bodies' descendants.

    -delta_space object | local | ui_setting

    A value of object means that deltas are performed relative to the
    parent's coordinate system.  A value of local means that deltas are
    performed in the local coordinate system of the body.  A value of
    ui_setting means object or local based on the Perform Deltas In 
    Local Space setting in the user interface.  The default value
    for this option is object.
  
    -smooth_sampling

    If specified, an alternate motion sampling method is used.

  Parameters:

    <scene frame id keyframe list>

    A list of scene frame ids to use as keyframes for the interpolation. Two
    or more keyframes must be specified.

  See Also:

    .delta

.destroy_body_clipboard <body clipboard>

  Destroys a body clipboard.  Note that the default body clipboard
  cannot be destroyed.

  See Also:

    .create_body_clipboard
    .copy_body_motion
    .paste_body_motion

.equiv_angles 
    (-prev_frame | -explicit_frame <scene frame id> |
     -explicit_values <x> <y> <z>) 
    [<body list>]
    [<scene start frame id> <scene end frame id>]

  Modifies a body's rotation values so that the values stay near
  the given values without changing the semantics of the motion.

  Options:

    -prev_frame

    As the range of frames is processed, the angles will be kept close
    to the angles of the previous frame.  The first frame of the range
    will not be modified.

    -explicit_frame <frame id>

    The angles will be kept close to the angles for the body in the
    given frame.

    -explicit_values <x> <y> <z>

    The angles will be kept close to the given values.

    <body list>

    The list of bodies to modify.  Defaults to the selected body.

    <scene start frame id> <scene end frame id>

    The frame range to modify.  Defaults to the currently marked
    frames.

  See Also:

    .value

.export_char_map <file name>

  Exports the active layer of the current Character
  Mapper session to a char map file.

  See Also:


    .import_char_map_project
    .export_char_map_project

.export_char_map_project <file name>

  Export the current Character Mapper session to a project
  file.


  See Also:


    .export_char_map
    .import_char_map_project

.extend_loop [<scene start frame id> <scene end frame id>]

  Repeats a range of motion of the working animation if it is loopable.
  It is loopable if the only difference in the motion of the first 
  marked frame and the last marked frame is the translations of the 
  root bodies.  Frames after the loopable range will be renumbered so 
  that they are at the end of the motion.

  Parameters:

    <scene start frame id> <scene end frame id>

    The loopable range of motion.  Defaults to the marked frames.

  See Also:

    .next_matching_frame_id

.fill [-working] [-smooth_sampling] [<scene start frame id> <scene end frame id>]

  Fills in missing frames by interpolating existing frames in the
  working animation group.

  Options:

    -working

    If used, a working dialog will be managed during the operation.

    -smooth_sampling

    If specified, an alternate motion sampling method is used.

  Parameters:

    <scene start frame id> <scene end frame id>

    The frame range to fill.  Defaults to the marked frames.

  See Also:

    .body_interp

.from_ghost [<anim>] [<scene start frame id> <scene end frame id>]

  Sets the non-ghost motions to be same as the ghost motions in all
  animations.

  Parameters:

    <anim>

    The animation hierarchy to modify.  Defaults to the working animation.

    <scene start frame id> <scene end frame id>

    The range of frames to modify within the animation hierarchy.  Defaults
    to the existing frame range.

  See Also:

    .swap_ghost
    .to_ghost
    .undo

.import_char_map [-replace_source_prefix <replace text> <with text>]
[-replace_source_suffix <replace text> <with text>]
[-replace_target_prefix <replace text> <with text>]
[-replace_target_suffix <replace text> <with text>]
[-filter_var_names <bool>]
[-filter_asf1_root_name <bool>]
[-merge_with_existing_data <bool>]
<charmap file>

Imports a charmap into the current layer of the active GUI charmapper session.

Options:

-replace_source_prefix
-replace_source_suffix
-replace_target_prefix
-replace_target_suffix


Filters the body names in the charmap using these prefix/suffix replacements before
the charmap is applied to the CM object.

-filter_var_names

If true, the variable names in the charmap will be affected by the replace filters.

Default Value: true

-filter_asf1_root_name

Only applies when ASF v1 files are being used in the source or target animation. If
false, the name filtering will not be applied to the root of the ASF.

Default Value: false

-merge_with_existing_data

If false, any existing charmap will be cleared from the CM Object before the loaded
charmap is applied.

Default Value: false See Also: <cm>.load_charmap

.import_char_map_project <file name>

  Imports a character mapper project file which will result in loading
  the target animations, source animations and starting a character 
  mapping session.

  See Also:

    .char_map_begin
    .char_map_apply
    .char_map_cancel

.init_body_motion <body list> [-descendants] [<scene start frame id> <scene end frame id>]

  Makes the motion of bodies be all zero values.

  Parameters:

    <body list>

    The bodies to modify.

    <scene start frame id> <scene end frame id>

    The range of motion to change.  Defaults to the currently
    marked frame range.

  Options:

    -descendants

    If used, init all descendant bodies as well.

  See Also:

    .snap_to_body
    .calculate
    .set_value
    <body>.set_transforms

.offset [-no_sub_anims] [-keep_frame_ids] [<anim>] <number> [<scene start frame id> <scene end frame id>]

  Renumbers the working animation group's range by offsetting all frame
  ids by the given number.

  Options:

    -no_sub_anims

    If specified, sub-animations will not be modified.

    -keep_frame_ids

    If specified, the states of the current frame id and marked frame ids
    will not be changed.

  Parameters:

    <anim>

    The animation to modify.  Defaults to the working animation.

    <number>

    The amount to offset by.

    <scene start frame id> <scene end frame id>

    The frame range to renumber.  Defaults to the marked frames.

  See Also:

    .delete
    .pack
    .reverse
    .separate

.pack [<scene start frame id> <scene end frame id>]

  Renumbers a range of frames of the working animation group
  sequentially starting at the first frame number of the range.

  Options:

    <scene start frame id> <scene end frame id>

    The frame range to renumber.  Defaults to the marked frames.

  See Also:

    .fill
    .offset
    .reverse
    .separate

.paste_body_motion 
    <body> 
    [-clipboard <body clipboard>]
    [-transforms <transform list>]
    (-start <scene frame id> |
     -range <scene start frame id> <scene end frame id>)
    [-mode resize|repeat]

  Pastes over existing frames of a body's motion with the contents
  of a body clipboard.  Depending on the body clipboard's contents,
  descendants of the body may also be modified.

  Parameters:

    <body>

    The body to modify.

  Options:

    -clipboard <body clipboard>

    The body clipboard to paste from.  When not specified, the defualt
    body clipboard is used.

    -transforms <transform list>

    The transformations to paste from the body clipboard.  Defaults to 
    all existing transforms in the body clipboard.

    -start <scene frame id>

    The frame to start pasting to.

    -range <scene start frame id> <scene end frame id>

    The frame range to modify.

    -mode resize

    Takes the contents of the body clipboard and resizes the motion to
    match the number of frames in the range.  This does not modify the 
    body clipboard's contents.

    -mode repeat

    Pastes the contents of the body clipboard repeatedly until the 
    range is filled.

  See Also:

    .copy_body_motion
    .create_body_clipboard
    .destroy_body_clipboard

.preserve_momentum [-linear|-angular|-both] <body> [<scene start frame id> <scene end frame id>]

  Changes the given body's motion over the given range so that momentum is preserved over the range.

  Options:

    -linear

    Preserves the body's linear momentum.

    -angular

    Preserves the body's angular momentum.

    -both

    This is the default mode. Preserves the body's linear and angular momentum.

  Parameters:

<body>

The body to modify. This body must have tx,ty,tz,rx,ry,rz motion transforms.

<scene start frame id> The first frame of the range to modify. Defaults to the first marked frame id. <scene end frame id> The last frame of the range to modify. Defaults to the last marked frame id See Also: .calculate

.rate_interp 
  [-working] 
  [-new_size <num frames>] 
  [-smooth_sampling] 
  <begin rate> 
  <end rate> 
  [<scene start frame id> <scene end frame id>]

  Makes the motion within a range smoothly transition from one rate to
  another.  This is a more general form of the .resize command.

  Options:

    -working

    If used, a working dialog will be managed during the operation.

    -new_size <num frames>

    If used, the new size of the range will be constrained to this 
    number of frames.  <num frames> cannot be more than double the
    original range's size.  If -new_size is not specified, the new size
    of the range will be chosen so that the transition is linear.

    -smooth_sampling

    If specified, an alternate motion sampling method is used.

  Parameters:

    <begin rate>

    The rate at which the beginning of the resulting range will play.

    <end rate>

    The rate at which the end of the resulting range will play.

    <scene start frame id>

    The first frame of the range to modify.  Defaults to the first 
    marked frame id.

    <scene end frame id>

    The last frame of the range to modify.  Defaults to the last
    marked frame id

  Examples:

    .rate_interp -new_size 20 100 50
    .rate_interp 100 50
    .rate_interp 50 100

  See Also:

    .resize

.redo

  Reverses an Undo operation.

  See Also:

    .undo
    .clear_undo

.remove_rotate_handle

  Removes the non-ik rotate handle, if any exists on a body.

  See Also:

    .add_rotate_handle

.resize [-working]
              [(-fraction [-preserve_end_frame])|-percent]
              [-slow_in_out]
              [-smooth_sampling]
              <number>
              [<scene start frame id> <scene end frame id>]

  Modifies the number of frames within a range of the working animation
  group via interpolation.

  Parameters:

    <number>

    If -percent is used, the percentage to resize by, otherwise,
    the number of frames to resize to.

    <scene start frame id> <scene end frame id>

    The frame range to resize.  Defaults to the marked frames.

  Options:

    -slow_in_out

    Prevents a sudden change in the frame rate.

    -fraction [-preserve_end_frame]

    If used, <number> will be treated as a fraction to resize by.
    If the -preserve_end_frame sub-option is used, the scene end
    frame will not be modified by this operation.

    -percent

    This option is deprecated. If used, <number> will be treated
    as a percentage to resize by.

    -smooth_sampling

    If specified, an alternate motion sampling method is used.

  See Also:

    .rate_interp

.reverse [<scene start frame id> <scene end frame id>]

  Reverses the order of the frames in the given range for the working
  animation group.

  Options:

    <scene start frame id> <scene end frame id>

    The frame range to reverse.  Defaults to the marked frames.

  See Also:

    .offset
    .pack
    .separate

.rotate 
    [-object <body>]
    [-anim <anim>]
    [-orientation (<x> <y> <z> | {<x> <y> <z>}]
    <rotation point>
    <x> <y> <z>
    [<scene start frame id> <scene end frame id>]

  Where:

    <rotation point> is 
      {<x> <y> <z>}

  Rotates the working animation group.

  Parameters:

    <rotation point>

    The "pivot" point for the rotation.

    <x> <y> <z>

    The amount of rotation to apply, in degrees.

    <scene start frame id> <scene end frame id>

    The range of frames to modify.  Defaults to the current marked
    frame ids.

  Options:

    -object <body>

    If specified, the given body's root will only be affected.  The
    default behavior is to affect all rotatable roots within the
    animation group.

    -anim <anim>

    The animation group to modify.  Defaults to the working animation.

    -orientation (<x> <y> <z> | {<x> <y> <z>}

    Defines an alternate axis of rotation.

  See Also:

    <anim>.rotation_point
    .translate

.rotate_body <body list> <scene frame id> <x> <y> <z>

  Rotates a body relative to its parent.

  Parameters:

    <body list>

    The list of bodies to rotate.

    <scene frame id>

    The frame to modify.

    <x> <y> <z>

    The additional rotation to add to the body (in degrees).

  See Also:

    .add_rotate_handle

.separate <number> [<scene start frame id> <scene end frame id>] 

  Renumbers a range of frames in the working animation group so that 
  the frame ids are separated by the given number.

  Parameters:

    <number>

    The amount to separate by.  Must be greater than zero.

    <scene start frame id> <scene end frame id>

    The frame range to renumber.  Defaults to the marked frames.

  See Also:

    .offset
    .pack
    .reverse

.set_value [-frame <scene frame id>] <body> (<transform list> <value list> [...])

  Sets the value of a body's transformations.

  Parameters:

    <body>

    The body whose transformations are to be modified.

    (<transform list> <value list> [...])

    The transformations to change and the values to change them to.

  Options:

    -frame <scene frame id>

    The frame of the motion to modify.  Defaults to the current frame.

  Examples:

    .set_value $body tx 0 ry 180.0
    .set_value $body -frame 5 { rx ry rz } 0.0 tx 5
    .set_value $body {tx ty tz} {0 5 10}

  Note:

    Rotations values are expected in degrees.

  See Also:

    <body>.transforms
    .calculate
    .value
    .snap_to_body
    .init_body_motion

.skew [-working] [-curve <curve>] [-smooth_sampling] [<body>] [<scene start frame id> <scene end frame id>]

  Changes the timing of a range of frames in the working animation
  group using an interpolation curve.

  Options:

    -working

    If used, a working dialog will be managed during the operation.

    -curve <curve>

    The interpolation curve to use.  Defaults to the current
    interpolation curve.

    -smooth_sampling

    If specified, an alternate motion sampling method is used.

  Parameters:

    <body>

    If specified, only the body and its descendants will be skewed,
    otherwise all bodies will be skewed.

    <scene start frame id> <scene end frame id>

    The frame range to skew.  Defaults to the marked frames.

  See Also:

    .interp_curve

.smooth [-working] [<body> [-descendants]] <iterations> [<scene start frame id> <scene end frame id>]

  Smooths out sudden changes in velocity in a range of motion.

  Parameters:

    <body> [-descendants]

    If specified, only the body and (optionally) its descendants will 
    be smoothed, otherwise all bodies will be smoothed.

    <iterations>

    The number of times to perform the smoothing operation.

    <scene start frame id> <scene end frame id>

    The frame range to smooth.  Defaults to the marked frames.
  Options:

    -working

    If used, a working dialog will be managed during the operation.

  See Also:

    .body_spline_interp

.snap_to_body <body list> <destination body> [<scene frame id>]

  For each body in the body list, changes the body's root motion so that the body is at the
same global location as the destination body. Parameters: <body list> The bodies who's root motion will be modified.If multiple bodies from the
same animation are specified, only one will be used.
    <destination body>

    Where the <body list> bodies will be located after this command is executed.
Note that the location of this body may change if a <body list> body is in the
same animation
<scene frame id> The frame where the modification will occur. Defaults to the current frame id. See Also: .init_body_motion .calculate .set_value <body>.set_transforms

.swap_ghost [<anim>] [<scene start frame id> <scene end frame id>]

  Swaps the ghosts motions and the non-ghost motions in all animations.

  Parameters:

    <anim>

    The animation group to modify.  Defaults to the working animation.

    <scene start frame id> <scene end frame id>

    The frame range to modify.  Defaults to the existing frame range.

  See Also:

    .from_ghost
    .to_ghost

.to_ghost [<anim>] [<scene start frame id> <scene end frame id>]

  Copies the non-ghost motions to the ghost motions in all animations.

  Parameters:

    <anim>

    The animation group to modify.  Defaults to the working animation.

    <scene start frame id> <scene end frame id>

    The frame range to modify.  Defaults to the existing frame range.

  See Also:

    .from_ghost
    .swap_ghost

.transform_interp [-curve <curve>] <body> <transform list> [<scene start frame id> <scene end frame id>]

  Interpolates the motion of the body by interpolating individual transformations.

  Options:

    -curve <curve>

    The interpolation curve to use.  Defaults to the current interpolation
    curve.

  Parameters:

    <body>

    The body to modify.

    <transform list>

    The list of transforms to interpolate.

    <scene start frame id> <scene end frame id>

    The range of frames to modify.  Defaults to the currently marked frame 
    range.

  Examples:

    .transform_interp [.selected_body] rx 200 220
    .transform_interp -curve { 0.0 0.25 0.50 0.75 1.0 } [.selected_body] { ty ry }

  See Also:

    .body_interp
    .body_spline_interp

.translate 
    [-object <body>] [-anim <anim>]
    [-orientation (<x> <y> <z> | {<x> <y> <z> })]
    <x> <y> <z> 
    [<scene start frame id> <scene end frame id>]

  Translates the working animation group.

  Parameters:

    <x> <y> <z>

    The amount of translation to apply, in inches.

    <scene start frame id> <scene end frame id>

    The range of frames to modify.  Defaults to the current marked 
    frame ids.

  Options:

    -object <body>

    If specified, only the given body's root  will be translated.  
    The body must be within the working animation group.  The default 
    behavior is to translate every translatable root within the 
    animation group.

    -anim <anim>

    The animation group to modify.

    -orientation (<x> <y> <z> | {<x> <y> <z> })

    Defines the axis of translation.

   See Also:

    .rotate

.translate_body <body list> <scene frame id> <x> <y> <z>

  Translates a body relative to its parent.

  Parameters:

    <body list>

    The list of bodies to translate.

    <scene frame id>

    The frame to modify.

    <x> <y> <z>

    The additional translation to add to the body (in inches).

  See Also:

    .rotate_body

.undo

  If the last operation was an undo, this command actually acts
  like redo.

  See Also:

    .from_ghost
    .redo
    .command_group
    .clear_undo

{value list} .value [-displayed] [-frame <scene frame id>] <body> <transform list>

  Gets the value of a body's transformations.

  Parameters:

    <body>

    The body to get the values from.

    <transform list>

    The transformations that are to be queried.

  Options:

-displayed

Use this option to return the value displayed in the UI even if the animation has a clip, timewarp curve
or is the target animation in Charmapper. Note that only the current frame's values can be retrieved when
the animation is the target animation in Charmapper.
-frame <scene frame id> The frame of motion to query. Defaults to the current frame. Returns: The values for the given transformations. Examples: .value $body {tx ty tz} .value .top_anim.model.body1 -frame 5 rx Note: Rotation values are returned in degrees. See Also: <body>.transforms .set_value .equiv_angles

Frame Commands



.add_scene_range <name> [<scene frame id> <scene frame id>]

  Adds a named range to the scene.

  Parameters:

    <name>

    The name to assign to the range. This name must be a unique scene
    range name.

    <scene frame id> <scene frame id>

    Defaults to the current marked range.

  See Also:

    <anim>.add_range
    .scene_ranges
    .scene_range_frames
    .clear_scene_ranges
    .remove_scene_range
    .set_scene_range_name
    .scene_range_is_checked
    .set_scene_range_is_checked

.clear_scene_ranges

  Clears all ranges from the scene.

  See Also:

    <anim>.clear_ranges
    .scene_ranges
    .scene_range_frames
    .add_scene_range
    .remove_scene_range
    .set_scene_range_name
    .scene_range_is_checked
    .set_scene_range_is_checked

{scene frame id} .current_frame_id [<anim>]

  Returns the current frame id.

  Options:

    <anim>

    Gives the frame id relative to this animation.  Defaults to the
    working animation.

  Returns:

    The current scene frame id, or zero if the animation cannot be animated.

  See Also:

    <anim>.current_frame_id
    .set_current_frame

{scene frame id} .first_group_frame_id

  Returns the id of the first scene frame that has motion.

  See Also:

    .last_group_frame_id
    <anim>.first_group_frame_id

{scene frame id} .first_marked_frame_id

  Returns the first marked frame id.

  See Also:

    .last_marked_frame_id
    .set_first_marked_frame

{anim frame id} .from_scene_frame_id <anim> <scene frame id>

  Returns an animation-relative frame id translated from a scene-relative frame id.

  See Also:

    .to_scene_frame_id
    <anim>.set_frame_offset

{<scene first frame id> <scene last frame id>} .get_viewed_range

  Retrieves the current viewed range of the time scale.

  See Also:

    .set_viewed_range

{scene frame id} .last_group_frame_id

  Returns the id of the last scene frame that has motion.

  See Also:

    .first_group_frame_id
    <anim>.last_group_frame_id

{scene frame id} .last_marked_frame_id

  Returns the last marked frame id.

  See Also:

    .first_marked_frame_id
    .set_last_marked_frame

{scene frame id} .next_matching_frame_id [-start <scene frame id>] [<anim>] [<scene frame id>]

  Returns the id of the next frame that is exactly the same as the
  motion of the frame with the given id for the given animation group.
  The search is circular, so the resulting frame id may be equal to, 
  less than or greater than the given frame id.  If the resulting
  frame id is the same as the given frame id, then no other frames
  match.

  Options:

    -start <scene frame id>

    The frame id to start searching for a match.

  Parameters:

    <anim>

    The animation group to search.  Defaults to the working animation.

    <scene frame id>

    The id of the frame to match.  Defaults to the current frame id.

  Returns:

    The matching frame id.

  See Also:

    .extend_loop

{boolean} .play_between_marks

  Returns true if the play between marks toggle is set.

  See Also:

    .first_marked_frame_id
    .last_marked_frame_id
    .set_first_marked_frame
    .set_last_marked_frame
    .set_play_between_marks

.remove_scene_range <name>

  Removes a range from the scene.

  See Also:

    <anim>.remove_range
    .scene_ranges
    .scene_range_frames
    .clear_scene_ranges
    .add_scene_range
    .set_scene_range_name
    .scene_range_is_checked
    .set_scene_range_is_checked

{<scene frame id> <scene frame id>} .scene_range_frames <name>

  Returns the frames of a scene range.

  See Also:

    <anim>.range_frames
    .scene_ranges
    .scene_range_frames
    .clear_scene_ranges
    .add_scene_range
    .remove_scene_range
    .set_scene_range_name
    .scene_range_is_checked
    .set_scene_range_is_checked

{boolean} .scene_range_is_checked <name>

  Returns the value of the “Checked” attribute of a scene range.

  See Also:

    <anim>.range_is_checked
    .scene_ranges
    .scene_range_frames
    .clear_scene_ranges
    .add_scene_range
    .remove_scene_range
    .set_scene_range_name
    .set_scene_range_is_checked

{range list} .scene_ranges

  Returns the names of the ranges defined for the scene.

  See Also:

    <anim>.ranges
    .scene_range_frames
    .clear_scene_ranges
    .add_scene_range
    .remove_scene_range
    .set_scene_range_name
    .scene_range_is_checked
    .set_scene_range_is_checked

.set_current_frame <scene frame id>

  Sets the current frame.  If the frame does not exist, the current
  frame will be set to the closest frame that does exist.

  See Also:

    <anim>.current_frame_id
    .current_frame_id

.set_first_marked_frame <scene frame id>

  Changes the first marked frame.

  See Also:

    .first_marked_frame_id
    .last_marked_frame_id
    .set_last_marked_frame

.set_last_marked_frame <scene frame id>

  Changes the last marked frame.

  See Also:

    .first_marked_frame_id
    .last_marked_frame_id
    .set_first_marked_frame

.set_play_between_marks <boolean>

  Changes the state of the play between marks toggle

  See Also:

    .first_marked_frame_id
    .last_marked_frame_id
    .set_first_marked_frame
    .set_last_marked_frame
    .play_between_marks

.set_scene_range_is_checked <name> <boolean>

  Sets the value of the “Checked” attribute of a scene range.

  See Also:

    <anim>.set_range_is_checked
    .scene_ranges
    .scene_range_frames
    .clear_scene_ranges
    .add_scene_range
    .remove_scene_range
    .set_scene_range_name
    .scene_range_is_checked

.set_scene_range_name <name> <new name>

  Changes the name of an existing scene range.

  See Also:

    <anim>.set_range_name
    .scene_ranges
    .scene_range_frames
    .clear_scene_ranges
    .add_scene_range
    .remove_scene_range
    .scene_range_is_checked
    .set_scene_range_is_checked

.set_viewed_range <scene first frame id> <scene last frame id>

  Changes the range of frames that are displayed on the time scale.

  See Also:

    .get_viewed_range

.set_viewed_range_is_locked <boolean>

  Locks the range bar’s viewed range.

  See Also:

    .set_viewed_range
    .viewed_range
    .viewed_range_is_locked

{scene frame id} .to_scene_frame_id <anim> <anim frame id>

  Returns a scene-relative frame id which has been translated from
the given animation-relative frame id. See Also: .from_scene_frame_id <anim>.set_frame_offset

{<first scene frame id> <last scene frame id>} .viewed_range

  Returns the current viewed range of the range bar. This
  is synonymous with the Tcl command .get_viewed_range.

  See Also:

    .set_viewed_range
    .viewed_range_is_locked

{boolean} .viewed_range_is_locked

  Returns whether the viewed range of the range bar is locked.

  See Also:

    .viewed_range
    .set_viewed_range_is_locked

MW HUD Commands

{hud text} <mw hud>.create_text [<name>]

  Creates a new HUD Text object in the MW HUD.

  Parameters:

    <name>

    The name of the new HUD Text.  Defaults to the next
    unused HUD Text name.

  See Also:

    <mw hud>.destroy_text

<mw hud>.destroy_text <hud text>

  Destroys an existing MW HUD Text.

  See Also:


    <mw hud>.create_text

{boolean} <mw hud>.fit_to_aspect_rectangle

  Returns whether or not the Main Window's HUD is being fit to the aspect rectangle.

  See Also:

    <mw hud>.set_fit_to_aspect_rectangle
    .set_draw_aspect_rectangle

<mw hud>.set_fit_to_aspect_rectangle <boolean>

  Sets whether or not the Main Window's HUD is being fit to the aspect rectangle.

  See Also:

    <mw hud>.fit_to_aspect_rectangle

{hud text list} <mw hud>.texts

  Returns a list of HUD Texts in the MW HUD.

  See Also:

    <mw hud>.create_text

{hud text} <mw hud>.text_by_name <name>

  Returns the HUD Text that has the given name.

  See Also:

    <hud text>.name
    <hud text>.set_name

HUD Text Commands

{line id} <hud text>.add_line [-id <line id>] [-pt_size <size>] [-color <color>] <string>

  Adds a line of text to the HUD Text. Note that this can not be used on the Frame Tags HUD Text.

  Parameters:

    -id <line id>

    The line id of the new line.  Defaults to the next unused line id in the form
    “l0”, “l1”, etc.

    -pt_size <size>

     The point size of the new line.  Each line of a HUD Text can have a different
     font size.  The default font size is either the value specified by
     <hud text>.set_default_pt_size or 18.  The supported point sizes are:
     12,18,30,36,48 and 64.

    -color <color>

    The color of the new line.  Each line of a HUD Text can have a different
    color.  The default color is either the value specified by
    <hud text>.set_default color or 0xFFFFFF.

    <string>

    The string to display in the added HUD Text line.

  Returns:

    The line id of the new line in the HUD Text.

  See Also:

    <mw hud>.create_text
    <hud text>.set_default_pt_size
    <hud text>.set_default_color
    <hud text>.change_line
    <hud text>.clear_lines

{boolean} <hud text>.align_blended_frame_tags

  Returns true if the Frame Tags HUD Text is set to align blended frame tags.

  See Also:

    <hud text>.set_align_blended_frame_tags

<hud text>.change_line <line id> [-pt_size <size>] [-color <color>] [-text <string>]

  Changes a previously added line in the HUD Text.

  Parameters

    <line id>

    The line id of the HUD Text to change.

    -pt_size <size>

    Changes the point size (font size) of the line of the HUD Text. The supported
    point sizes are: 12,18,30,36,48 and 64.

    -color <color>

Changes the color of the line.
-text <string>
Changes the text of the line.
See Also: <mw hud>.create_text <hud text>.add_line

<hud text>.clear_lines

  Removes all lines from the HUD Text.

  See Also:

    <hud text>.add_line

<hud text>.hide

  Causes the HUD Text not to be displayed in the HUD.

  See Also:

    <hud text>.show
    <hud text>.is_hidden

{boolean} <hud text>.is_hidden

  Returns true if the HUD Text is hidden.

  See Also:

    <hud text>.hide
    <hud text>.show

{number} <hud text>.line_count

  Returns the number of lines in the HUD Text.

  See Also:

    <hud text>.lines

{vertical|horizontal} <hud text>.layout_orientation

  Returns the orientation of the layout for the lines in this hud text.

  See Also:

    <hud text>.set_layout_orientation

{line id list} <hud text>.lines

  Returns a list of all of the line ids in the HUD Text.

  See Also:

    <hud text>.add_line
    <hud text>.line_count

{string} <hud text>.name

  Returns the name of the HUD Text.

  See Also:

    <hud text>.set_name
    <mw hud>.text_by_name

<hud text>.set_align_blended_frame_tags <boolean>

  Changes the layout of lines in the Frame Tags HUD Text so that Frame Tag Names
are on the same row or column depending on the layout orientation. Blended frame
tags are those that have the same leading alpha characters followed by a numeric
value. For example SRCID2 SRCID3 are all considered to be blended versions of the
SRCID frame tag. These are typically the result of blending motions together that
have frame tags. See Also: <hud text>.align_blended_frame_tags

<hud text>.set_anchor_point <x fraction> <y fraction>

  Sets the point within the HUD Text rectangle to use when placing the
  HUD Text within its HUD.  A fraction with a value of 0.0 means the left
  or top of the HUD Text bounding rectangle, and a value of 1.0 means the
  right or bottom of the HUD Text bounding rectangle.

  Parameters:

    <x fraction>

    A value between 0.0 and 1.0 which will be the horizontal location
    of the anchor point within the bounding rectangle of the HUD Text.

    <y fraction>

    A value between 0.0 and 1.0 which will be the vertical location
    of the anchor point within the bounding rectangle of the HUD Text.

  See Also:

    <hud text>.set_hud_placement

<hud text>.set_default_color <color>

  Sets the color that will be used for new lines added to this HUD
  Text.

  See Also:

    <hud text>.add_line
    <hud text>.change_line

<hud text>.set_default_pt_size <size>

  Sets the point (font) size that will be used for new lines added

  to this HUD Text.

  Parameters:

    <size>

    The point size.  Valid values are: 12,18,30,36,48 and 64.

  See Also:

    <hud text>.add_line
    <hud text>.change_line

<hud text>.set_hud_placement <x fraction> <y fraction>

  Sets the location in the HUD where the HUD Text will be placed.
  A fraction with a value of 0.0 means the left or top of the hud,
  and a value of 1.0 means the right or bottom of the hud.

  Parameters:

    <x fraction>

    A value between 0.0 and 1.0 that indicates the horizontal
    position within the HUD.

    <y fraction>

    A value between 0.0 and 1.0 that indicates the vertical
    position within the HUD.

 See Also:

   <hud text>.set_anchor_point

<hud text>.set_layout_orientation (vertical|horizontal)

  Changes the orientation of lines within this hud text.

  See Also:

    <hud text>.layout_orientation

<hud text>.set_name <name>

  Sets the name of the HUD Text.

  See Also:

    <hud text>.name
    <mw hud>.text_by_name

<hud text>.show

  Causes a previously hidden HUD Text to be displayed unhidden.

  See Also:

    <hud text>.hide
    <hud text>.is_hidden

Scene Layout Commands

.scene_layout.select_anims <anim list>

  Selects animations in the Main Window's Scene tab.

  See Also:

    .scene_layout.selected_anims

{anim list} .scene_layout.selected_anims

  Returns a list of animations that are selected in the
  Main Window's Scene tab.

  See Also:

    .scene_layout.select_anims

Flip Book Commands

.flip_book.close

  Closes the flip book tool GUI.

  See Also:

    .flip_book.open

{file} .flip_book.last_save_file

  Returns the last file that was saved from the flip book.

{file type} .flip_book.last_save_file_type

  Returns the last type of file that was saved from the flip book.

  Possible file types:

    rgb, jpg, ppm, qt

.flip_book.open

  Opens the Flip Book tool.

  See Also:

    .flip_book.close

.flip_book.render_images_to_disk
               [-renumber_start_frame <scene frame id>]
               [-jpg_quality <quality>]
               [-infinite_depth_transparency]
[-cancel_check_command <Tcl command>] <
format> <dir> <pattern> Renders the flip book as images to disk. Options: -renumber_start_frame <scene frame id> Renumbers the frames of the resulting image file names so that the first image uses <scene frame id>. -jpg_quality <quality> The default quality is 75.
-infinite_depth_transparency If used, pixels of the image will be transparent when their render depth is infinite.
    -cancel_check_command <Tcl command>
This Tcl command will be executed as the Flip Book is rendering.
The command will be passed the current frame, first frame and
last frames as parameters. If the command returns 1, rendering
will be stopped prematurely.

Example cancel check Tcl command:

proc cancel_fb_render_if_file_exists { current_frame first_frame last_frame } {
puts "Flip Book render: $current_frame of range $first_frame - $last_frame"
if {[file exists "/tmp/cancel_flip_book_render"]} { return 1 }
return 0
}
To use this proc you would use the option as follows:

-cancel_check_command cancel_fb_render_if_file_exists
Parameters: <format> The image format to use when writing files. Supported image formats are: rgb ppm jpg. <dir> The directory where the image files will be written. <pattern> The file name pattern to use for image files. This pattern must have a pound character (#) to indicate where the frame id will be located in the file name. See Also: .flip_book.render_movie_to_disk .flip_book.render_to_memory

.flip_book.render_movie_to_disk
              [-jpg_quality <quality>]
[-cancel_check_command <Tcl command>] <
format> <frame rate> <path> Renders the flip book to a movie file on disk. Options: -jpg_quality <quality> The default quality is 75.
    -cancel_check_command <Tcl command>
This Tcl command will be executed as the Flip Book is rendering.
The command will be passed the current frame, first frame and
last frames as parameters. If the command returns 1, rendering
will be stopped prematurely.

Example cancel check Tcl command:

proc cancel_fb_render_if_file_exists { current_frame first_frame last_frame } {
puts "Flip Book render: $current_frame of range $first_frame - $last_frame"
if {[file exists "/tmp/cancel_flip_book_render"]} { return 1 }
return 0
}
To use this proc you would use the option as follows:

-cancel_check_command cancel_fb_render_if_file_exists
Parameters: <format> The format to use for the movie file. Supported formats are: “qt:mjpeg” <frame rate> The frame rate to use for the movie file. <path> The path of the movie file to write to.

.flip_book.render_to_memory [-infinite_depth_transparency][-cancel_check_command <Tcl command>]

  Renders the flip book to memory.

  Options:

    -infinite_depth_transparency

    If used, pixels of the image will be transparent when their
    render depth is infinite.
    -cancel_check_command <Tcl command>
This Tcl command will be executed as the Flip Book is rendering.
The command will be passed the current frame, first frame and
last frames as parameters. If the command returns 1, rendering
will be stopped prematurely.

Example cancel check Tcl command:

proc cancel_fb_render_if_file_exists { current_frame first_frame last_frame } {
puts "Flip Book render: $current_frame of range $first_frame - $last_frame"
if {[file exists "/tmp/cancel_flip_book_render"]} { return 1 }
return 0
}
To use this proc you would use the option as follows:

-cancel_check_command cancel_fb_render_if_file_exists
See Also: .flip_book.render_images_to_disk .flip_book.render_movie_to_disk

.flip_book.set_active_camera <camera name>|none

  Sets or clears the active camera being used while rendering the
  flip book.

  See Also:

    .set_active_camera

.flip_book.set_anchor_frame <number>

  Sets the anchor frame for the render. The anchor frame determines
  the frame that is treated as image 1. The anchor frame can be
  outside of the rendered range. The anchor frame is guaranteed
  not to be the result of motion interpolation. Defaults to 1.

.flip_book.set_lock_film_plate_scale <boolean>

  Sets whether the film plate scale is locked. If locked,
  the film plate will not be scaled to fit the render size. 

.flip_book.set_render_antialiased <boolean>

  Sets whether the flip book should be rendered with anti aliasing
  enabled.

.flip_book.set_render_overscan_area <boolean>

  Sets whether to render the overscan area of the film plate.

.flip_book.set_render_size (vp_aspect_rect|film_plate|<width> <height>)

  Sets the render width and height of the flip book render window.

.flip_book.set_sampling_method (EveryFrame|240to24|120to48|120to30|120to24|96to48|96to24|72to48|72to24|60to40|60to30|60to24|48to24)

  Sets the sampling method to use in the flip book during rendering.

.flip_book.set_use_mw_hud <boolean>

  Sets whether the main window’s HUD is used when rendering the
  flip book.

UI Commands

{cmd id} .ui.add_geometry_changed_command (<ui object name>|{<ui object name> <detail>}) <Tcl command>

  Adds a Tcl command that will be executed whenever the geometry of a ui object changes.

  Supported ui object names are: mw, graph_tabbox, 3dview, browser, markers, ik, poses, interp_curve,
  tcl_tk, movie_player, scene_graph, motion_graph, blendshape_sliders, custom_tools
and flip_book.
If the ui object name is custom_tools detail can be provided to specify which custom tools group by
specifying the group name as the detail. If no detail is provided the default group "Custom Tools" will
be used. Example:

.ui.add_geometry_changed_command {custom_tools {My Tools}} {puts "changed"}
See Also: .ui.remove_geometry_changed_command

.ui.error_message_box [-ui_parent <ui object name>] <message>

  Displays an error message box to the user in Nuance's native UI over the given
UI parent. The default UI parent is mw. This command will not return until the
user presses the OK button in the box.

Supported ui object names are: mw, browser. See Also: .ui.warning_message_box .ui.question_message_box .ui.info_message_box

{<x> <y> <width> <height>} .ui.get_geometry (<ui object name> | {<ui object name> <detail>})

  Returns the geometry of various user interface objects.

  Supported ui object names are: mw, graph_tabbox, 3dview, browser, markers, ik, poses, interp_curve,
  tcl_tk, movie_player, scene_graph, motion_graph, blendshape_sliders, custom_tools, and flip_book.

If the ui object name is custom_tools detail can be provided to specify which custom tools group by
specifying the group name as the detail. If no detail is provided the default group "Custom Tools" will
be used. Example:

.ui.get_geometry {custom_tools {My Tools}}

.ui.info_message_box [-ui_parent <ui object name>] <message>

  Displays information to the user in Nuance's native UI. The box will be displayed
over the given ui parent. The default ui parent is mw.

Supported ui object names are: mw, browser. See Also: .ui.error_message_box .ui.warning_message_box .ui.question_message_box

{number} .ui.question_message_box [-ui_parent <ui object name>] <message>

  Displays a question message box in Nuance's native UI. The box will be displayed
over the given ui parent. The default ui parent is mw. A value of 0 will
be returned if the user presses the NO button. A value of 1 will be returned
if the user presses the YES button.

Supported ui object names are: mw, browser. See Also: .ui.error_message_box .ui.warning_message_box .ui.info_message_box

.ui.warning_message_box [-ui_parent <ui object name>] <message>

  Displays a warning to the user in Nuance's native UI. The box will be displayed
over the given ui parent. The default ui parent is mw.

Supported ui object names are: mw, browser. See Also: .ui.error_message_box .ui.question_message_box .ui.info_message_box

{cmd id} .ui.remove_geometry_changed_command (<ui object name>|{<ui object name> <detail>}) (<cmd id>|<Tcl command>)

  Removes a previously added Tcl command that was executed when the given ui object's geometry changed.

  Supported ui object names are: mw, graph_tabbox, 3dview, browser, markers, ik, poses, interp_curve,
  tcl_tk, movie_player, scene_graph, motion_graph, blendshape_sliders, custom_tools
and flip_book.
  If the ui object name is custom_tools detail can be provided to specify which custom tools group by
specifying the group name as the detail. If no detail is provided the default group "Custom Tools" will
be used. Example:

.ui.remove_geometry_changed_command {custom_tools {My Tools}} $changed_command_id
See Also: .ui.add_geometry_changed_command

Marker Path Spline Commands

.marker_path_spline.activate {marker path list} <spline detail> <first scene frame id> <last scene frame id>

  Adds the marker path spline deformer to a set of marker paths.

  Parameters:

    {marker path list}

    The marker paths that will be deformed. The first marker
    path in the list will be used as the “guide” marker path.
    Control points of the marker path spline deformer will be
    located relative to this “guide” marker path. The other
    marker paths will be moved along with the “guide” marker
    path when control point locations are changed.

    <spline detail>

    The valid range for this value is 0-100 where 0 means 2
    control points and 100 means a control point for each
    marker position of the “guide” marker path.

    <first scene frame id>

    Defines the first frame to use for the Marker Path Spline
    deformer.
   
    <last scene frame id>

    Defines the last frame to use for the Marker Path Spline
    deformer.

  See Also:

    .marker_path_spline.deactivate

.marker_path_spline.add_control_point <scene frame id>

  Adds a control point to the marker path spline deformer.

  See Also:

    .marker_path_spline.activate
    .marker_path_spline.remove_control_point

{number} .marker_path_spline.control_point_count

  Returns the number of control points defined in the marker
  path spline deformer.

  See Also:

    .marker_path_spline.activate
    .marker_path_spline.control_point_frame_ids
    .marker_path_spline.control_point_positions

{scene frame ids} .marker_path_spline.control_point_frame_ids [{cp index list}]

  Returns the control point scene frame ids of the marker
  path spline deformer.

  Parameters:

    {cp index list}

    If specified, only returns the frame ids of these control
    points. By default, all control point frame ids are returned.

  See Also:

    .marker_path_spline.activate
    .marker_path_spline.control_point_count
    .marker_path_spline.control_point_positions

{position list} .marker_path_spline.control_point_positions [{cp index list}]

  Returns the control point positions of the marker path spline
  deformer.

  Parameters:

    {cp index list}

    If specified, only returns the positions of these control
    points. By default, all control point positions are returned.

  See Also:

    .marker_path_spline.activate
    .marker_path_spline.set_control_point_positions

.marker_path_spline.deactivate

  Removes the marker path spline deformer from it’s marker paths.

  See Also:

    .marker_path_spline.activate

.marker_path_spline.remove_control_point <scene frame id> 

  Removes the control point at the given frame from the marker
  spline deformer.

  See Also:

    .marker_path_spline.activate
    .marker_path_spline.add_control_point

.marker_path_spline.reset

  Resets the marker spline to the state it was in when it
  was activated.

  See Also:

    .marker_path_spline.activate
    .marker_path_spline.deactivate
    .marker_path_spline.set_display_original

.marker_path_spline.set_control_point_positions { {<cp index> <x> <y> <z>} … }

  Sets the positions of control points in the marker path
  spline deformer.

  See Also:

    .marker_path_spline.activate
    .marker_path_spline.control_point_count
    .marker_path_spline.add_control_point

.marker_path_spline.set_display_original <boolean>

  Toggles the display of the original marker path states.

  See Also:

    .marker_path_spline.activate
    .marker_path_spline.reset

Curves Commands

{time warp curve} .curves.import_time_warp_curve [-name <name>] [-curve_rate <rate>] [-base_rate <rate>] [-curve_alignment_frame <curve frame id>] [-scene_alignment_frame <scene frame id>] <file name>

Imports a time warp curve from a file.

Options:

-name

Overrides the default name of the imported curve.

-curve_rate

The frame rate of the values in the curve. Defaults to 60.0.

-base_rate

The frame rate of the scene. Defaults to 60.0.

-curve_alignment_frame

The frame of the curve to align with the scene. Defaults to 1.

-scene_alignment_frame

The frame of the scene to align to the curve. Defaults to 1. See Also: .curves.time_warp_curves .curves.remove_time_warp_curve <anim>.attached_time_warp_curve <time warp curve>.attach_anim <time warp curve>.detach_anim

{time warp curve} .curves.remove_time_warp_curve {time warp curve list}

Removes one or more time warp curves. This command is undoable. See Also: .curves.time_warp_curves .curves.import_time_warp_curve

{time warp curve list} .curves.time_warp_curves

Returns a list of the time warp curves. See Also: .curves.import_time_warp_curve <anim>.attached_time_warp_curve <time warp curve>.attach_anim <time warp curve>.detach_anim

Time Warp Curve Commands

<time warp curve>.attach_anim <anim> 

  Attaches a time warp curve to an animation.


  See Also:

    <anim>.attached_time_warp_curve
    <time warp curve>.detach_anim
    .curves.time_warp_curves

<time warp curve>.detach_anim [-bake] <anim> 

  Detaches a time warp curve from an animation.

  Options:

    -bake

    Applies the time warp curve's affect to the animation's motion.
See Also: <anim>.attached_time_warp_curve <time warp curve>.attach_anim .curves.time_warp_curves

{end behavior} <time warp curve>.end_behavior

  Returns the end behavior of the time warp curve. This value will be either "trim" or "extend".

  See Also:

    .curves.time_warp_curves
    <time warp curve>.set_end_behavior

<time warp curve>.export_as_json [-time_scaling <factor>] [-frame_alignment <curve frame> <scene frame>] <file name> 

  Exports the time warp curve in JSON format.

  Options:

    -time_scaling

    Scales the data of the timewarp curve in the output file.
    -frame_alignment

    Shifts the data of the timewarp curve in the output file.

Parameters:

<file name>

The file to write.
See Also: .curves.import_time_warp_curve .curves.time_warp_curves <time warp curve>.export_as_twt <time warp curve>.save

<time warp curve>.export_as_txt [-time_scaling <factor>] [-frame_alignment <curve frame> <scene frame>] <file name> 

  Exports the time warp curve as a simple, baked TXT format file where one column is time and one column is value.

  Options:

    -time_scaling

    Scales the data of the timewarp curve in the output file.
    -frame_alignment

    Shifts the data of the timewarp curve in the output file.

Parameters:

<file name>

The file to write.
See Also: .curves.import_time_warp_curve .curves.time_warp_curves <time warp curve>.save

{file name} <time warp curve>.file_name 

  Returns the file name of the time warp curve.
See Also: <time warp curve>.save <time warp curve>.set_file_name

<time warp curve>.get_data [<tag>] 

  Gets user defined data from the time warp curve.

Parameters: <tag> The tag associated with the data that is to be retrieved. If the tag is not specified, all of the user data is returned. If there is no data associated with the given tag, an empty string is returned.
See Also: <time warp curve>.set_data .curves.import_time_warp_curve .curves.time_warp_curves <time warp curve>.save

{boolean} <time warp curve>.is_modified

Returns 1 if the time warp curve has not been saved or has changed since it last was saved. See Also: <anim>.save .curves.time_warp_curves

{string} <time warp curve>.name

Returns the name of the time warp curve. See Also: <anim>.attached_time_warp_curve .curves.time_warp_curves

<time warp curve>.save <file name> 

  Saves the time warp curve in the native format, TWC.

Parameters:

<file name>

The file to write.
See Also: .curves.import_time_warp_curve .curves.time_warp_curves <time warp curve>.file_name <time warp curve>.is_modified <time warp curve>.export_as_txt

<time warp curve>.set_data <tag> <value>

  Sets user defined data in a time warp curve.

  Parameters:

    <tag>

    The tag to associate with the data.  Compound tags can be used to
    specify the location of data hierarchically.  Tags are case 
    sensitive.

    <value>

    The value to associate with the tag.

  Examples:

set twc [lindex [.curves.time_warp_curves] 0] $twc.set_data a 5 $twc.set_data b.c "hello world" $twc.set_data b.d 15.9 $twc.set_data e tuesday The user data in the animation would be organized in the following fashion: a: 5 b { c: hello world d: 15.9 } e: tuesday See Also: <time warp curve>.get_data

<time warp curve>.set_end_behavior <end behavior> 

  Changes the end behavior of the time warp curve. Supported values are "trim" and "extend".
See Also: .curves.time_warp_curves <time warp curve>.end_behavior

<time warp curve>.set_file_name <file name> 

  Changes the file name of the time warp curve. This does not save the time warp curve to a file,
and does not cause the time warp curve to be in a "changed" state. The primary purpose of this
command is to make the "Save" button enabled in the UI.
See Also: <time warp curve>.file_name <time warp curve>.save

Custom Tools Commands

{btn id} .custom_tools.add_command_button [-group <name>] [-mmb_command <Tcl command>] [-rmb_command <Tcl command>] <label> <Tcl command> 

  Adds a command button to the Custom Tools Panel. The Tcl command is executed when the button is pressed.

Options:

-group <name>

The group that the button will be added to. Groups are organized into tabs and optionally can be undocked
separately from other groups.

Default Value: "Custom Tools"

-mmb_command <Tcl command>

A Tcl command that gets executed with the middle mouse button is released over the command button.

-rmb_command <Tcl command>

A Tcl command that gets executed with the right mouse button is released over the command button.

Parameters:

<label>

The label to display in the command button.

<Tcl command>

The Tcl command to execute when the left mouse button is released over the command button.
See Also: .add_tool

Miscellaneous Commands

{anim} .active_camera  [-mw_view (primary|split)]

  Returns the currently active camera in the main window's 3D View.

  See Also:

    .set_active_camera

{command id} .add_amc_info_changed_command <Tcl command>

  Add Tcl command that will be executed after a the AMC header info for an
  animation is changed.  Note that the animation is passed as the first
  parameter to the registered Tcl command.

  Parameters:

    <Tcl command>

  Returns:

    A unique identifier of the command that was added.

  See Also:

    .remove_amc_info_changed_command

{command id} .add_anim_changed_command <Tcl command>

  Add Tcl command that will be executed after an animation is
  changed.  Note that the animation is passed as the first
  parameter to the registered Tcl command.

  Parameters:

    <Tcl command>

  Returns:

    A unique identifier of the command that was added.

  See Also:

    .remove_anim_changed_command

{command id} .add_anim_opened_or_added_command <Tcl command>

  Add Tcl command that will be executed after an animation 
  is opened or added.  Note that the animation is passed as
  the first parameter to the registered Tcl command.

  Parameters:

    <Tcl command>

  Returns:

    A unique identifier of the command that was added.

  See Also:

    .remove_anim_opened_or_added_command

{command id} .add_blend_source_anim_set_command <Tcl command>

  Adds a <Tcl command> that will be executed when a source animation is set
  in the Interactive Blend tool. The animation that was set is appended to
  the command before it is executed. If an error is returned from the
  command, the error text will be displayed as a warning in Nuance.

   Example:

     proc check_blend_anim { anim } { 
       if { ![can_be_blended $anim] } { 
         error \"This animation shouldn't be blended.\" 
       } 
     }

  See Also:

    .remove_blend_source_anim_set_command

{command id} .add_exit_command <Tcl command>

  Add Tcl commands that will be executed before the application is exited.

  Parameters:

    <Tcl command>

    The Tcl command to be executed when the user exits the application.

  See Also:

    .remove_exit_command
    .exit

{command id} .add_frame_changed_command [-ignore_op] <Tcl command>

  Add Tcl commands that will be executed when the current frame
  changes.

  Parameters:

    -ignore_op

    When used, every frame change will cause the execution of the
    added Tcl commands regardless of the current state of the
    "Optimize Play" option.

    <Tcl command>

    The Tcl command to be executed when the current frame changes.

  Returns:

    A unique identifier for the commands that were added.

  See Also:

    .remove_frame_changed_command

{command id} .add_frame_offset_changed_command <Tcl command>

  Adds a Tcl command that will be executed whenever a frame offset is
  changed. The user’s Tcl command will be passed a list of animations
  which had their frame offsets modified.

  See Also:

    .remove_frame_offset_changed_command

{command id} .add_limits_changed_command <Tcl command>

  Add Tcl commands that will be executed when the IK limits change.

  Parameters:

    <Tcl command>

    The Tcl command to be executed when the IK limits change.

  See Also:

    .remove_limits_changed_command

{command id} .add_motion_appended_command <Tcl command>

  Add a Tcl command that will be executed after a motion has been appended to.

  Parameters:

    <Tcl command>

    The Tcl command to execute.

  Returns:

    A unique identifier for the command that was added.

  See Also:

    .remove_motion_appended_command

{command id} .add_motion_values_changed_command <Tcl command>

  Adds a command that will be executed after a motion value changes.

  Parameters:

    <Tcl command>

    The command to execute.

  Returns:

    A unique identifier for the registered command.

  See Also:

    .remove_motion_values_changed_command

{command id} .add_panic_command <Tcl command>

  Add a Tcl command that will be executed if Nuance exits abnormally.
  This allows the Tcl script writer the ability to save out important
  information that can be restored at a later time.

  Parameters:

    <Tcl command>

    The Tcl command that will be executed if Nuance exits abnormally.
    Any "%D" strings in the command will be replaced with the directory
    name that Nuance uses to save out crash recovery files.

  Returns:

    A unique identifier for the command that was added.

  Examples:

    .add_panic_command {save_my_data %D}
    .add_panic_command {save_my_data %D $my_variable}
    .add_panic_command {save_some_data; save_more_data %D}

  See Also:

    .remove_panic_command

{command id} .add_post_blend_command <Tcl command>

  Add a Tcl command that will be executed after the blending of two animations.

  Parameters:

    <Tcl command>

    The Tcl command to execute.

  Returns:

    A unique identifier for the command that was added.

  See Also:

    .add_pre_blend_command
    .remove_pre_blend_command
    .remove_post_blend_command

{command id} .add_pre_blend_command <Tcl command>

  Add a Tcl command that will be executed prior to the blending of two animations.

  Parameters:

    <Tcl command>

    The Tcl command to execute.

  Returns:

    A unique identifier for the command that was added.

  See Also:

    .remove_pre_blend_command
    .add_post_blend_command
    .remove_post_blend_command

{command id} .add_pre_char_map_apply_command <Tcl command>

  Adds a Tcl command that will be executed when either the user preses
  the Accept button in Charmapper or when the .char_map_apply Tcl command
  is executed.

  See Also:

    .remove_pre_char_map_apply_command

{command id} .add_pre_redraw_command <Tcl command>

  Add a Tcl command that will be executed prior to redrawing the main window's
  3d view.

  Parameters:

    <Tcl command>

    The Tcl command to execute.

  Returns:

    A unique identifier for the command that was added.

  See Also:

    .remove_pre_redraw_command

.add_tool [-pulldown <name>] <tool name> <Tcl command>

  Adds a push button to the Tools pulldown menu that will execute the
  given tcl command when the button is pressed.  

  Parameters:

    <tool name>

    The label of the push button that will appear in the Tools pulldown.

    If the tool name contains a "|", the text after the "|" will be placed
    in a sub menu of the Tools menu.

    <Tcl command>

    The Tcl command that will be executed when the button is pressed.
  Options:

-pulldown <name>

The tool pulldown to add the separator to. Defaults to the standard Tool pulldown.
Examples: .add_tool “Print Selected Body” { puts [.selected_body].name } .add_tool “Greetings|Hi” { puts “Hi” } .add_tool “Greetings|Hello” { puts “Hello” } .add_tool “Greetings|Informal|Howdy” { puts “Howdy” } See Also: .remove_tool .add_tool_separator .add_tool_pulldown .custom_tools.add_command_button

.add_tool_pulldown <pulldown name>

  Adds a tool pulldown with the given name to the Main Window's menu bar.

  See Also:

    .add_tool
    .add_tool_separator

.add_tool_separator [-pulldown <name>] <separator name>
  Adds a separator to the Tools pulldown menu.  

  Parameters:

    <separator name>

    A unique identifier to use for the separator.

    If the separator name contains a "|", the separator will be placed
    in a sub menu of the Tools menu.

Options:

-pulldown <name>

The tool pulldown to add the separator to. Defaults to the standard Tool pulldown. Examples: .add_tool_separator "sep1" .add_tool_separator "Greetings|Informal|sep1" See Also: .remove_tool_separator .add_tool .remove_tool .add_tool_pulldown

{command id} .add_working_anim_changed_command <Tcl command>

  Add a Tcl command that will be executed after the working animation changes.

  Parameters:

    <Tcl command>

    The Tcl command to execute.

  Returns:

    A unique identifier for the command that was added.

  See Also:

    .remove_working_anim_changed_command

.aim_view_at [-mw_view (primary|split)] {body list}

  Aims a view at the average position of the given bodies.
  Options:

-mw_view (primary|split)

The view to update. Defaults to primary.
Parameters: {body list} The bodies to aim at. See Also: .move_viewpoint_to_body

.attach_viewpoint [-mw_view (primary|split)] <body>

  Attaches the viewpoint to the given body.

  Parameters:

    <body>

    The body to attach to.

  See Also:

    .detach_viewpoint
    .move_body_to_viewpoint
    .move_viewpoint_to_body
    .viewpoint_attached_body
    .viewpoint_position
    .set_draw_aspect_rectangle
    .set_draw_aspect_mask

{color} .background_color

  Returns the color that is currently being used for the background
  of the Main Window's 3D View.

  See Also:

    .set_background_color

{boolean} .char_mapper_is_open

  Returns true if the Character Mapper GUI is open.

  See Also:

    .import_char_map_project
    .interactive_blend_is_open

{anim} .char_mapper_target_anim

  Returns the animation being used as the target for the active Character Mapper GUI session.

  See Also:

    .char_mapper_is_open
    .import_char_map_project
    .interactive_blend_is_open

.clear_asf_skin_cache

  Clears the geometry of previously loaded ASF files from
  the skin caching mechanism to free up memory.

  See Also:

    <anim>.set_enabled_skins

.clear_persistent_frame_override_color

  Clears a previously set override color for the persistent frames geo.

  See Also:

    .set_persistent_frame_override_color

.clear_persistent_frame_override_opacity

  Clears a previously set override opacity for the persistent frames geo.

  See Also:

    .set_persistent_frame_override_opacity

.clear_persistent_frame_wire_framing_override

  Clears a previously set override wire framing for the persistent frames geo.

  See Also:

    .set_persistent_frame_wire_framing_override

.clear_temporary_short_cuts

  Restores the user’s standard short cuts after temporary short cuts were loaded.

  See Also:

    .import_temporary_short_cuts

.clear_undo

  Clears all undo states from the undo stack.

  See also:

    .undo
    .redo

.command_group (-append | <command group description>) <Tcl command>

  Provides a way to group several "undoable" actions into one
  "undoable" action.

  Parameters:

    -append

    Appends the tcl statements to the previous command group instead
    of creating a new command group.

    <command group description>

    The description to be used for undo.

    <Tcl command>

    Tcl command to be executed.

  Examples:

    .command_group "Fill and Skew" {
      .fill
      .skew [.interp_curve]
    }

    Creates a new command group.  The command group description, "Fill
    and Skew", will be used to update the undo button's description 
    when the command group is the next item to be undone.  If the 
    command group is undone, the state of the motion before the command
    group was executed will be restored.

    .resize -percent 120 1 20
    .command_group -append {
      .fill
      .skew [.interp_curve]
    }

    Appends the .fill and .skew commands to the .resize command group.
    The undo button's description will be "Undo Resize" after these
    commands are executed.  If undone, the state of the motion before 
    the .resize command was executed will be restored.

    .command_group "Interactive Value" {
      .set_value $curr_transform $curr_value
    }
        ....
    .command_group -append {
      .set_value $curr_transform $curr_value
    }

    This Tcl code can be used in conjunction with Tk widgets to
    interactively change the value of a transformation.  A toggle 
    button would change the value of the curr_transform variable.  
    A scale would update the curr_value variable.  The top 
    .command_group code would be executed when the user first clicks 
    on the scale, creating the command group.  When the scale is 
    dragged, the second .command_group code would be executed, 
    appending the command to the "Interactive Value" command group.
    If an undo were to be performed, the motion would be restored to 
    the state which existed before the user first clicked on the scale.

  See Also:

    .undo

.detach_viewpoint [-mw_view (primary|split)]

  Detaches the viewpoint from the attached body.

  See Also:

    .attach_viewpoint
    .move_body_to_viewpoint
    .move_viewpoint_to_body
    .viewpoint_attached_body
    .viewpoint_position

.disable_audio

  Toggles off audio output.

  See Also:

    .edit_anim
    .enable_audio

.disable_light (default_light|<anim>)

  See Also:

    .enable_light
    .set_light_color
    .light_color

{boolean} .display_bones

  Returns true if animation bones are currently being drawn.

  See Also:

    .set_display_bones

{boolean} .display_ghost

  Returns true if animation ghosts are currently being drawn.

  See Also:

    .set_display_ghost

{boolean} .display_skin

  Returns true if animation skin (geo) is currently being drawn.

  See Also:

    .set_display_skin

{boolean} .draw_aspect_mask [-mw_view (primary|split)]

  Returns 1 if the aspect mask is being drawn.

Options:
    -mw_view (primary|split)
Which view to query. Defaults to primary. See Also: .set_draw_aspect_mask .set_draw_aspect_rectangle

.enable_audio

  Toggles on audio output.

  See Also:

    .edit_anim
    .disable_audio

.enable_light (default_light|<anim>)

  See Also:

    .disable_light
    .set_light_color
    .light_color

.error_message_box [-ui_parent (mw|browser)] <message> **DEPRECATED**

  Displays an error message box to the user in Nuance's native UI over the given
UI parent. The default UI parent is mw. This command will not return until the
user presses the OK button in the box. See Also: .ui.error_message_box

.execute_short_cut <short cut name>

 Executes a user defined short cut by name. The short cut names can
 be located in Nuance’s Short Cuts dialog.

.exit [-no_confirm] <exit code>

  Exits Nuance, returning <exit code> to the shell that executed Nuance.

  Options:

    -no_confirm

    If specified, the user will not be prompted to confirm exiting Nuance.

  See Also:

    .add_exit_command

{path} .find_script <Tcl script name>

  This command will return the full path of the first script with
  the given name using the following search order:

  $GIANT_TCL/nuance/
  $GIANT_TCL/

  GIANT_TCL can contain multiple paths separated by colon characters.
  In this case each of those paths will be searched using the above
  order.

  $GIANT_DATA_DIR/tcl:$GIANT_DIR/lib/tcl:<executable path>/lib/tcl is
  used for GIANT_TCL if it is not defined. Special logic is used when
  GIANT_DATA_DIR or GIANT_DIR is not defined.

  The startup.tcl script that is executed when the application starts
  is located using the above .find_script logic. A comment is added
  to the Tcl History to document the full path of the startup script
  that is about to be executed.

.import_temporary_short_cuts <file>

  Imports a short cuts file to temporarily override the active short cuts.

  See Also:

    .clear_temporary_short_cuts

{boolean} .in_modal_interaction

  Returns true if any dialog is active that prevents the user from
  interacting with the rest of the application.  The Translate and Rotate
  tools are special cases which will cause this command to return true
  when active since they greatly restrict interaction with the rest of
  the application.

{boolean} .interactive_blend_is_open

  Returns true if the Interactive Blend tool is open.

  See Also:

    .char_mapper_is_open

{curve} .interp_curve

  Returns the current interpolation curve.

  See Also:

    .body_interp

{color} .light_color (default_light|<anim>)

  See Also:

    .set_light_color
    .enable_light
    .disable_light

.move_body_to_viewpoint [-mw_view (primary|split)] <body> [<scene frame id>]

  Moves the given body's origin to the current viewpoint's position
  and orientation.  The given body must have the following transforms:
  tx,ty,tz,rx,ry,rz.  This command is particularly useful for setting
  camera keyframes.

  Parameters:

    <body>

    The body to move.

    <scene frame id>

    The frame to modify.  Defaults to the working animation's current
    frame id.

  See Also:

    .attach_viewpoint
    .detach_viewpoint
    .move_viewpoint_to_body
    .viewpoint_attached_body
    .viewpoint_position

.move_viewpoint_to_body [-mw_view (primary|split)] <body>

  Moves the the viewpoint to the given body origin's position and
  orientation.

  Parameters:

    <body>

    Where to move the viewpoint.

  See Also:

    .aim_view_at
    .attach_viewpoint
    .detach_viewpoint
    .move_body_to_viewpoint
    .viewpoint_attached_body
    .viewpoint_position

{string} .nuance_version

  Returns the Nuance release version string.

.play

  Plays the working animation.  Note that if the play style is either
  cycle or bounce, .play will not return until it is terminated by the
  user through the interface.

  See Also:

    .play_reverse

{all|<number>} .play_rate

  Returns the current play rate.

  See Also:

    .set_play_rate

.play_reverse

  Plays the working animation in reverse order.  Note that if the play
  style is either cycle or bounce, .play_reverse will not return until
  playing is terminated by the user through the interface.

  See Also:

    .play

{style} .play_style

  Returns the current play style.

  See Also:

    .set_play_style

{number} .question_message_box [-ui_parent (mw|browser)] <message> **DEPRECATED**

  Displays a question message box in Nuance's native UI. The box will be displayed
over the given ui parent. The default ui parent is mw. A value of 0 will
be returned if the user presses the NO button. A value of 1 will be returned
if the user presses the YES button. See Also: .ui.question_message_box

{number} random

  Returns a random number between 0.0 and 1.0.  This command does
  not have a leading "." because it is not Nuance specific; it is a 
  general Tcl extension.

.record <string>

  Records a string into Nuance's Tcl history as if it where executed 
  successfully as a tcl command.  The string will be recorded 
  regardless of its validity as a Tcl command.  This command cannot be
  called during a .record_and_eval command.  This command could be 
  useful for creating complex scripts.

  See Also:

    .record_and_eval

{tcl command return} .record_and_eval <Tcl command>

  Provides a way for commands to be executed and recorded in Nuance's
  Tcl history.  The command will not be recorded if it was not 
  successfully executed.  No other .record_and_eval or .record command
  can be executed during the execution of <Tcl command>.

  See Also:

    .record

.remove_amc_info_changed_command (<command id> | <Tcl command>)

  Removes a command previously registered via .add_amc_info_changed_command.

  See Also:

    .add_amc_info_changed_command

.remove_anim_changed_command (<command id> | <Tcl command>)

  Removes a command previously registered via .add_anim_changed_command.

  See Also:

    .add_anim_changed_command

.remove_anim_opened_or_added_command (<command id> | <Tcl command>)

  Removes a command previously registered via .add_anim_or_added_command.

  See Also:

    .add_anim_opened_or_added_command

.remove_blend_source_anim_set_command <command id>|<Tcl command>

  Removes a previously added Tcl command that would be executed when a source
  animation is set in the Interactive Blend tool.

  See Also:

    .add_blend_source_anim_set_command

.remove_exit_command (<command id> | <Tcl command>)

  Removes a previously added Tcl command from the set of those that
  would be executed when the user exits the application.

  Parameters:

    <command id>

    The unique command id associated with the Tcl command that was added.

    <Tcl command>

    The Tcl command that was added.

  See Also:

    .add_exit_command

.remove_frame_changed_command (<command id> | <Tcl command>)

  Removes a previously added Tcl command from the set of those that 
  would be executed when the current frame changes.

  Parameters:

    <command id>

    The unique command id associated with the Tcl command that was
    addded.

    <Tcl command>

    The Tcl command that was added.

  See Also:

    .add_frame_changed_command

.remove_frame_offset_changed_command (<command  id> | <Tcl command>)

  Removes a previously added Tcl command which would have been executed
  when an animation frame offset changed.

  See Also:

    .add_frame_offset_changed_command

.remove_limits_changed_command (<command id> | <Tcl command>)

  Removes a previously added Tcl command via .add_limits_changed_command.

  See Also:

    .add_limits_changed_command

.remove_motion_appended_command <command id>

  Removes a previously added Tcl command from the set of those that
  would be executed after appending to a motion.

  Parameters:

    <command id>

    The id of the Tcl command to remove.

  See Also:

    .add_motion_appended_command

.remove_motion_values_changed_command (<command id> | <Tcl command>)

  Removes a previously added Tcl command that was added 
  via .add_motion_values_changed_command.

  See Also:

    .add_motion_values_changed_command

.remove_panic_command (<command id> | <Tcl command>)

  Removes a previously added Tcl command from the set of those
  that would be executed if Nuance abnormally terminates.

  Parameters:

    <command id>

    The unique command id associated with the Tcl command that was
    addded.

    <Tcl command>

    The Tcl command that was added.

  See Also:

    .add_panic_command

.remove_post_blend_command <command id>

  Removes a previously added Tcl command from the set of those that
  would be executed after blending two animations.

  Parameters:

    <command id>

    The id of the Tcl command to remove.

  See Also:

    .add_pre_blend_command
    .remove_pre_blend_command
    .add_post_blend_command

.remove_pre_blend_command <command id>

  Removes a previously added Tcl command from the set of those that
  would be executed prior to blending two animations.

  Parameters:

    <command id>

    The id of the Tcl command to remove.

  See Also:

    .add_pre_blend_command
    .add_post_blend_command
    .remove_post_blend_command

.remove_pre_char_map_apply_command <command id>|<Tcl command>

  Removes a previously added Tcl command that would have been executed
  when the user pressed the Accept button in Charmapper or when the
  .char_map_apply Tcl command would have bee executed.

  See Also:

    .add_pre_char_map_apply_command

.remove_pre_redraw_command <command id>

  Removes a previously added Tcl command from the set of those that
  would be executed prior to redrawing the main window's 3d view.

  Paremeters:

    <command id>

    The unique command id associated with the Tcl command that was added.

  See Also:

    .add_pre_redraw_command

.remove_tool [-pulldown <name>] <tool name>

  Removes a previously added tool from the Tools pulldown menu.

Options:

-pulldown <name>

The tool pulldown to that contains the tool to remove. Defaults to the standard Tool pulldown.
See Also: .add_tool .add_tool_pulldown .remove_tool_separator

.remove_tool_pulldown <pulldown name>

  Removes a previously added tool pulldown from the Main Window's menu bar.

  See Also:

    .add_tool_pulldown
    .remove_tool
    .remove_tool_separator

.remove_tool_separator [-pulldown <name>] <separator name>
  Removes a previously added tool separator from the Tools pulldown menu.
  Options:

-pulldown <name>

The tool pulldown to that contains the tool to remove. Defaults to the standard Tool pulldown.
See Also: .add_tool_separator .add_tool_pulldown .remove_tool

.remove_working_anim_changed_command <command id>

  Removes a previously added Tcl command from the set of those that
  would be executed after the working animation changed.

  Parameters:

    <command id>

    The unique command id associated with the Tcl command that was added.


  See Also:

    .add_working_anim_changed_command

.render_effect none | second_pass_wire_frame | unshaded_anim_override_colors

  Sets or clears a rendering effect.

  Parameters:

    none

    Removes any active render effect.

    second_pass_wire_frame

    Causes geometry to be drawn twice.  The first pass will
    be rendered with the current render settings.  The second
    pass will be drawn with the wire-frame style.

unshaded_anim_override_colors

Causes any animation that has an override color to be rendered
 in a flat, unshaded manner.

.save_history [-append] <file name>

  Saves the current Tcl history to the given file.

.set_active_camera [-mw_view (primary|split)] <camera name>|none

  Sets or clears the active camera in the Main Window's 3D View.

  See Also:

    .active_camera
    .flip_book.set_active_camera

.set_background_color <color>

  Sets the color to be used for the background of the Main Window's
  3D View.

  See Also:

    .background_color

.set_display_body_axes <body list> <boolean>

  Turns on or off the display of one or more body local axes.

  See Also:

    <body>.hide

.set_display_bones <boolean>

  Turns on or off the display of the animation bones.

  See Also:

    .display_bones

.set_display_ghost <boolean>

  Turns on or off the display of the animation ghosts.

  See Also:

    .display_ghost

.set_display_skin <boolean>

  Turns on or off the display of the animation skins (geo).

  See Also:

    .display_skin

.set_draw_aspect_mask [-mw_view (primary|split)] <boolean>

  Turns on or off the display of the aspect mask.

  See Also:

    <mw hud>.fit_to_aspect_rectangle
    .attach_viewpoint
    .draw_aspect_mask
    .set_draw_aspect_rectangle

.set_draw_aspect_rectangle [-mw_view (primary|split)] <boolean>

  Turns on or off the display of the aspect rectangle.

  See Also:

    <mw hud>.fit_to_aspect_rectangle
    .set_draw_aspect_mask
    .attach_viewpoint

.set_light_color (default_light|<anim>) <color>

  Changes the color of a light.

  See Also:

    .light_color
    .enable_light
    .disable_light

.set_persistent_frame_override_color <color>

  Sets the override color of the persistent frame animation geo.

  See Also:

    .clear_persistent_frame_override_color

.set_persistent_frame_override_opacity <value>

  Sets the override opacity value of the persistent frame animation geo.

  See Also:

    .clear_persistent_frame_override_opacity

.set_persistent_frame_wire_framing <boolean> **DEPRECATED**

  Sets whether or not persistent frames are rendered in wire-frame.

  See Also:

    <anim>.add_persistent_frame
    <anim>.add_group_persistent_frame

.set_persistent_frame_wire_framing_override <boolean>

  Sets the override wire framing value of the persistent frame animation geo.

  See Also:

    .clear_persistent_frame_wire_framing_override

.set_play_rate all|<rate>

  Changes the play rate.

  See Also:

    .play_rate
    .play
    .play_reverse
    .set_play_style

.set_play_style once|cycle|bounce

  Changes the play style.

  See Also:

    .play
    .play_reverse
    .set_play_rate

.set_streaming_port <port number>
  Changes which port number is used when streaming
animations. The default port number is 4161. See Also: .streaming_port .enable_streaming

.set_viewpoint_orientation [-mw_view (primary|split)] <x> <y> <z>
  Sets the viewpoint's orientation. The values are in radians.

  See Also:

    .viewpoint_orientation

.set_viewpoint_perspective_mode <boolean>
  Swaps the viewpoint between Perspective and Orthographic mode.

  See Also:

    .viewpoint_perspective_mode

.set_viewpoint_position [-mw_view (primary|split)] <x> <y> <z>
  Swaps the position of the viewpoint.

  See Also:

    .viewpoint_position

.set_viewpoint_rotation_pivot [-mw_view (primary|split)] <x> <y> <z>
  Sets the position of the rotation pivot. The rotation pivot is the
red crosshair that appears when you are rotating your view. See Also: .viewpoint_rotation_pivot

.set_workspace <path>

  Sets the NU_DATA_DIR to <path> and updates the UI
  to use the new workspace path.  NOTE: Using this 
  command while animations are loaded could cause
  unusual behavior.  This command's typical use
  would be in a script that would clear all existing
  animations, change the workspace, and then load an
  animation from the new workspace.

  See Also:

    .workspace

{port number} .streaming_port

  Returns the port number that is currently being used
  to stream animations.

  See Also:

    .set_streaming_port

.texture_cache_log_disable

  Stops writing texture cache transactions to the log file.

  See Also:

    .texture_cache_log_enable

.texture_cache_log_enable <file name>

  Creates a log file that will contain any proceeding texture cache
transactions. Any existing file with the same name will be overwritten. See Also: .texture_cache_log_disable

{vector} .transform_vector (<from body>|<from anim>|.scene) (<to body>|<to anim>|.scene) <vector> [<scene frame id>]

  Mathematically transforms a vector from one coordinate system to another.

  Parameters:

    <from body>|<from anim>|.scene

    The coordinate system that contains the vector to be transformed.  If
    .scene is used, the coordinate system above the .top_anim is
    used.

    <to body>|<to anim>|.scene

    The coordinate system to transform the vector to.  If .scene is used,
    the coordinate system above the .top_anim is used.

    <vector>

    The vector to be transformed.

    <scene frame id>

    The frame id where the transformation will take place.  This
    can have an effect if an animation is parented to a body.

  Returns:

    The transformed vector.

.unhide_all

  Unhides all hidden bodies.

  See Also:

    <body>.hide
    <body>.unhide
    .unhide_bodies

{boolean} .viewpoint_2d_transform_mode [-mw_view (primary|split)]

  Returns whether or not the viewpoint's 2d transform mode is enabled.

  See Also:

    .attach_viewpoint
    .detach_viewpoint
    .move_body_to_viewpoint
    .move_viewpoint_to_body
    .viewpoint_position

{body} .viewpoint_attached_body [-mw_view (primary|split)]

  Moves the the viewpoint to the given body origin's position and
  orientation.

  Returns:

    <body>

    The body to which the viewpoint is currently attached.  Returns
    an empty string if the viewpoint is not attached.

  See Also:

    .attach_viewpoint
    .detach_viewpoint
    .move_body_to_viewpoint
    .move_viewpoint_to_body
    .viewpoint_position

{<width> <height>} .viewpoint_film_back [-mw_view (primary|split)]

  Returns the film back of the viewpoint.

  See Also:

    .attach_viewpoint
    .detach_viewpoint
    .move_body_to_viewpoint
    .move_viewpoint_to_body
    .viewpoint_focal_length
    .viewpoint_position
    .viewpoint_orientation
    .viewpoint_rotation_pivot

{<value>} .viewpoint_focal_length [-mw_view (primary|split)]

  Returns the focal length of the viewpoint.

  See Also:

    .attach_viewpoint
    .detach_viewpoint
    .move_body_to_viewpoint
    .move_viewpoint_to_body
    .viewpoint_film_back
    .viewpoint_position
    .viewpoint_orientation
    .viewpoint_rotation_pivot

{<x> <y> <z>} .viewpoint_orientation [-mw_view (primary|split)]

  Returns the global orientation of the current viewpoint in radians.

  See Also:

    .set_viewpoint_orientation
    .viewpoint_position
    .viewpoint_rotation_pivot

{boolean} .viewpoint_perspective_mode

  Returns whether the viewpoint is being drawn in perspective or orthographic mode.

  See Also:

    .set_viewpoint_perspective_mode

{<x> <y> <z>} .viewpoint_position [-mw_view (primary|split)]

  Returns the global position of the current viewpoint.

  See Also:

    .set_viewpoint_position
    .attach_viewpoint
    .detach_viewpoint
    .move_body_to_viewpoint
    .move_viewpoint_to_body
    .viewpoint_attached_body
    .viewpoint_orientation
    .viewpoint_rotation_pivot
    .viewpoint_film_back
    .viewpoint_focal_length

{<x> <y> <z>} .viewpoint_rotation_pivot [-mw_view (primary|split)]

  Returns the rotation pivot position of the viewpoint.

  See Also:

    .set_viewpoint_rotation_pivot
    .viewpoint_attached_body
    .viewpoint_orientation

.warning_message_box [-ui_parent (mw|browser)] <message> **DEPRECATED**

  Displays a warning to the user in Nuance's native UI. The box will be displayed
over the given ui parent. The default ui parent is mw. See Also: .ui.warning_message_box

{path} .workspace

  Returns the value of the NU_DATA_DIR environment
  variable.

  See Also:

    .set_workspace

Command Index

<anim>

<anim>.add_group_persistent_frame <anim>.add_persistent_frame <anim>.add_range <anim>.add_skin <anim>.amc_file_name <anim>.apply_view <anim>.asf_file_name <anim>.attached_time_warp_curve <anim>.audio_file_name <anim>.average_group_root_position <anim>.bake_clip <anim>.bake_frame_offset <anim>.bake_transforms <anim>.bmo_file_name <anim>.bodies <anim>.bodies_with_name <anim>.bvh_file_name <anim>.can_be_streamed <anim>.center_of_mass <anim>.channel_delete_all_keys <anim>.channel_set_key <anim>.channel_set_value <anim>.children <anim>.clear_clip <anim>.clear_frame_rate_override <anim>.clear_parent_body <anim>.clear_ranges <anim>.clear_transform_constraints <anim>.clip_is_enabled <anim>.clip_range <anim>.coincide_group <anim>.create_timecode <anim>.current_frame_id <anim>.disable_transform_constraints <anim>.display_center_of_mass <anim>.display_to_base_float_frame <anim>.dof_file_name <anim>.duplicate <anim>.enable_transform_constraints <anim>.enabled_skins <anim>.export_bms <anim>.export_wcam <anim>.file_name <anim>.first_frame_id <anim>.first_group_frame_id <anim>.frame_has_motion <anim>.frame_offset <anim>.frame_offset_is_modified <anim>.frame_rate_override <anim>.frame_reduction <anim>.frame_timecode <anim>.get_data <anim>.get_frame_data <anim>.get_frame_data_tags <anim>.get_frame_range_data <anim>.get_frame_range_data_tags <anim>.get_transform <anim>.group_frame_has_motion <anim>.group_has_motion <anim>.group_has_persistent_frame <anim>.group_root_bodies <anim>.has_clip <anim>.has_locked_transforms <anim>.has_motion <anim>.has_persistent_frame <anim>.htr_file_name <anim>.hud_frame_tag_color_source <anim>.hud_frame_tag_explicit_color <anim>.hud_frame_tag_show <anim>.id <anim>.image_dimensions <anim>.image_file_name <anim>.image_is_film_plate <anim>.image_media_opacity_scale <anim>.image_overscan <anim>.image_seq_file_names <anim>.image_zoom_factor <anim>.is_asf <anim>.is_audio <anim>.is_bvh <anim>.is_camera <anim>.is_directional_light <anim>.is_fog <anim>.is_giant <anim>.is_giant_type <anim>.is_hidden <anim>.is_htr <anim>.is_image <anim>.is_image_sequence <anim>.is_light <anim>.is_modified <anim>.is_movie <anim>.is_obj <anim>.is_pickable <anim>.is_point_light <anim>.is_spot_light <anim>.is_streaming <anim>.is_view <anim>.is_wcam <anim>.last_frame_id <anim>.last_group_frame_id <anim>.load_transform_constraints <anim>.locked_transforms <anim>.mdl_file_name <anim>.motion_file_name <anim>.motion_is_modified <anim>.movie_file_name <anim>.name <anim>.next_frame_id <anim>.next_group_frame_id <anim>.obj_file_name <anim>.parent_anim <anim>.parent_body <anim>.paste <anim>.persistent_frames_hide_all_but_chain <anim>.persistent_frames_unhide_all_bodies <anim>.prev_frame_id <anim>.prev_group_frame_id <anim>.range_frames <anim>.range_is_checked <anim>.ranges <anim>.remove_all_group_persistent_frames <anim>.remove_all_persistent_frames <anim>.remove_frame_data <anim>.remove_frame_range_data <anim>.remove_group_persistent_frame <anim>.remove_persistent_frame <anim>.remove_range <anim>.remove_skin <anim>.reset_transform_constraints <anim>.restripe_timecode <anim>.root_bodies <anim>.rotation_point <anim>.save <anim>.save_motion <anim>.save_motion_range_as <anim>.scl_file_name <anim>.set_casts_shadows <anim>.set_clip_is_enabled <anim>.set_clip_range <anim>.set_data <anim>.set_enabled_skins <anim>.set_file_name <anim>.set_frame_data <anim>.set_frame_offset <anim>.set_frame_rate_override <anim>.set_hud_frame_tag_color_source <anim>.set_hud_frame_tag_explicit_color <anim>.set_hud_frame_tag_show <anim>.set_image_media_opacity_scale <anim>.set_image_overscan <anim>.set_is_hidden <anim>.set_is_pickable <anim>.set_motion_file_name <anim>.set_name <anim>.set_opacity <anim>.set_override_color <anim>.set_override_color_value <anim>.set_parent_anim <anim>.set_parent_body <anim>.set_range_is_checked <anim>.set_range_name <anim>.set_render_style <anim>.set_stream_global_position <anim>.set_timecode_hud_params <anim>.set_timecode_rate <anim>.set_transform <anim>.set_use_as_depth_mask <anim>.set_wire_framing <anim>.set_x_ray <anim>.skin_file_name <anim>.skin_names <anim>.skin_paths <anim>.stream_global_position <anim>.time_scaling <anim>.timecode_stream_names <anim>.transform_constraints_are_enabled <anim>.transforms_are_modified <anim>.update_view <anim>.use_as_depth_mask

<body>

<body>.angular_acceleration <body>.angular_speed <body>.anim <body>.attribute_names <body>.attribute_value <body>.base_rotation <body>.base_translation <body>.children <body>.clear_limits <body>.clear_streaming_property <body>.closest_geo_coord <body>.disable <body>.disable_limits <body>.enable <body>.enable_limits <body>.has_parent <body>.hide <body>.id <body>.is_disabled <body>.is_hidden <body>.limits <body>.linear_acceleration <body>.linear_speed <body>.lock_transform <body>.marker_paths <body>.markers <body>.name <body>.orientation <body>.parent <body>.position <body>.root_body <body>.select <body>.set_attribute_value <body>.set_limits <body>.set_streaming_property <body>.set_weights <body>.streaming_property_names <body>.streaming_property_value <body>.transforms <body>.unhide <body>.unlock_transform <body>.weights

<cm>

<cm>.destroy <cm>.load_charmap <cm>.save_charmap <cm>.set_source_anim <cm>.source_anim <cm>.target_anim

<hud text>

<hud text>.add_line <hud text>.align_blended_frame_tags <hud text>.change_line <hud text>.clear_lines <hud text>.hide <hud text>.is_hidden <hud text>.layout_orientation <hud text>.line_count <hud text>.lines <hud text>.name <hud text>.set_align_blended_frame_tags <hud text>.set_anchor_point <hud text>.set_default_color <hud text>.set_default_pt_size <hud text>.set_hud_placement <hud text>.set_layout_orientation <hud text>.set_name <hud text>.show

<mw hud>

<mw hud>.create_text <mw hud>.destroy_text <mw hud>.fit_to_aspect_rectangle <mw hud>.set_fit_to_aspect_rectangle <mw hud>.text_by_name <mw hud>.texts

<pose group>

<pose group>.name <pose group>.poses <pose group>.set_name

<pose>

<pose>.apply <pose>.name <pose>.set_name <pose>.update

<time warp curve>

<time warp curve>.attach_anim <time warp curve>.detach_anim <time warp curve>.end_behavior <time warp curve>.export_as_json <time warp curve>.export_as_txt <time warp curve>.file_name <time warp curve>.get_data <time warp curve>.is_modified <time warp curve>.name <time warp curve>.save <time warp curve>.set_data <time warp curve>.set_end_behavior <time warp curve>.set_file_name

.a

.active_camera .add_amc_info_changed_command .add_anim .add_anim_changed_command .add_anim_opened_or_added_command .add_blend_source_anim_set_command .add_body_geo_goal .add_exit_command .add_fix_body_orientation_goal .add_frame_changed_command .add_frame_offset_changed_command .add_goal .add_ik_setup .add_limits_changed_command .add_marker_pair_goal .add_motion_appended_command .add_motion_values_changed_command .add_new_anim .add_panic_command .add_pin_body_origin_goal .add_plane_goal .add_post_blend_command .add_pre_blend_command .add_pre_char_map_apply_command .add_pre_redraw_command .add_rot_handle_goal .add_rotate_handle .add_scene_range .add_tool .add_tool_pulldown .add_tool_separator .add_trans_handle_goal .add_working_anim_changed_command .affected_bodies .aim_camera .aim_view_at .amc_info.add_constant .amc_info.angle_units .amc_info.asf .amc_info.asf_bone_scales .amc_info.asf_scales .amc_info.bodies_with_constant_overrides .amc_info.bodies_with_constants .amc_info.change_flags .amc_info.clear_asf_bone_scales .amc_info.clear_constant_override .amc_info.clear_frame_range .amc_info.constant_exists .amc_info.constant_override_names .amc_info.constants .amc_info.default_asf_scale .amc_info.default_asf_scale_is_explicit .amc_info.default_rotate_offset .amc_info.default_scale .amc_info.default_translate_offset .amc_info.documentation .amc_info.frame_range .amc_info.fully_specified .amc_info.fully_specified_by_channel .amc_info.length_units .amc_info.mass_units .amc_info.name .amc_info.remove_asf_scale .amc_info.remove_constant .amc_info.remove_default_asf_scale .amc_info.sample_offset .amc_info.samples_per_second .amc_info.set_asf_bone_scales .amc_info.set_asf_scale .amc_info.set_constant_override .amc_info.set_constant_value .amc_info.set_constants .amc_info.set_default_asf_scale .amc_info.set_documentation .amc_info.set_frame_range .amc_info.set_name .amc_info.set_samples_per_second .amc_info.timecode_specification .amc_info.version .anim_from_anim_id .anim_to_anim_id .append_anim .append_motion .asf_info.bodies_with_overridable_constants .asf_info.constant_value .asf_info.constants .asf_info.overridable_constant_names .attach_viewpoint

.b

.background_color .bind_marker .blend .bmo_info.frame_rate .bmo_info.timecode_rate .body_delta .body_interp .body_is_selected .body_spline_interp .bound_markers .browser.selected_anims .browser.selected_bodies

.c

.calculate .camera .char_map_apply .char_map_begin .char_map_cancel .char_mapper_is_open .char_mapper_target_anim .charmappers.create .charmappers.objects .clear_asf_skin_cache .clear_marker_composition_color .clear_persistent_frame_override_color .clear_persistent_frame_override_opacity .clear_persistent_frame_wire_framing_override .clear_scene_ranges .clear_selected_body .clear_temporary_short_cuts .clear_undo .command_group .computed_markers .copy_body_motion .copy_marker .copy_path_of_marker .copy_to .create_average_marker .create_blended_anim .create_body_clipboard .create_center_of_mass_marker .create_component_marker .create_geo_marker .create_line_constraint_marker .create_marker .create_marker_path .create_marker_set .create_max_distance_marker .create_motion .create_scaled_marker .current_frame_id .current_frame_limit_violations .curves.import_time_warp_curve .curves.remove_time_warp_curve .curves.time_warp_curves .custom_tools.add_command_button .cut_anim

.d

.delete .delete_explicit .delta .delta_spline_interp .destroy_body_clipboard .detach_viewpoint .disable_audio .disable_body .disable_goal .disable_light .disable_streaming .disabled_bodies .disabled_goals .display_bones .display_ghost .display_skin .draw_aspect_mask

.e

.edit_anim .edit_average_marker .edit_marker .edit_marker_path .enable_audio .enable_body .enable_goal .enable_light .enable_streaming .enabled_goals .equiv_angles .execute_short_cut .exit .export_char_map .export_char_map_project .extend_loop

.f

.fill .find_script .first_group_frame_id .first_marked_frame_id .flip_book.close .flip_book.last_save_file .flip_book.last_save_file_type .flip_book.open .flip_book.render_images_to_disk .flip_book.render_movie_to_disk .flip_book.render_to_memory .flip_book.set_active_camera .flip_book.set_anchor_frame .flip_book.set_lock_film_plate_scale .flip_book.set_render_antialiased .flip_book.set_render_overscan_area .flip_book.set_render_size .flip_book.set_sampling_method .flip_book.set_use_mw_hud .from_ghost .from_scene_frame_id

.g

.get_viewed_range .goal_info .goals

.h

.hide_bodies

.i

.ik_trans_handle_body .ik_trans_handle_position .import_3d_data_markers .import_char_map .import_char_map_project .import_markers .import_motion .import_prob_def_markers .import_temporary_short_cuts .in_modal_interaction .init_body_motion .inline_anim .interactive_blend_is_open .interp_curve .is_marker .is_marker_path

.l

.last_group_frame_id .last_marked_frame_id .light_color .load_ik_setups

.m

.marker_anim .marker_average_global_linear_speed .marker_body .marker_global_linear_speed .marker_is_bound .marker_list_selection .marker_name .marker_path_anim .marker_path_body .marker_path_display_range .marker_path_is_bound .marker_path_markers .marker_path_name .marker_path_set_marker .marker_path_spline.activate .marker_path_spline.add_control_point .marker_path_spline.control_point_count .marker_path_spline.control_point_frame_ids .marker_path_spline.control_point_positions .marker_path_spline.deactivate .marker_path_spline.remove_control_point .marker_path_spline.reset .marker_path_spline.set_control_point_positions .marker_path_spline.set_display_original .marker_paths .marker_plane_enabled .marker_plane_normal .marker_position .markers .move_body_to_viewpoint .move_viewpoint_to_body

.n

.new_anim .next_matching_frame_id .nuance_version

.o

.offset .open_anim .open_ghost_motion .open_motion

.p

.pack .paste_body_motion .play .play_between_marks .play_rate .play_reverse .play_style .poses.create_pose .poses.groups .poses.load .poses.poses .poses.remove_pose .poses.save .preserve_momentum

.r

.rate_interp .record .record_and_eval .redo .remove_amc_info_changed_command .remove_anim .remove_anim_changed_command .remove_anim_opened_or_added_command .remove_blend_source_anim_set_command .remove_exit_command .remove_frame_changed_command .remove_frame_offset_changed_command .remove_goal .remove_ik_setup .remove_limits_changed_command .remove_marker .remove_motion_appended_command .remove_motion_values_changed_command .remove_panic_command .remove_post_blend_command .remove_pre_blend_command .remove_pre_char_map_apply_command .remove_pre_redraw_command .remove_rotate_handle .remove_scene_range .remove_tool .remove_tool_pulldown .remove_tool_separator .remove_working_anim_changed_command .rename_ik_setup .render_effect .resize .reverse .rotate .rotate_body

.s

.save_history .save_markers .save_motions .scene_layout.select_anims .scene_layout.selected_anims .scene_range_frames .scene_range_is_checked .scene_ranges .seek_goals .seek_tolerance .select_marker .selected_bodies .selected_body .selected_marker .separate .set_active_camera .set_background_color .set_current_frame .set_current_ik_setup .set_display_body_axes .set_display_bones .set_display_ghost .set_display_skin .set_draw_aspect_mask .set_draw_aspect_rectangle .set_first_marked_frame .set_goal_weight .set_ik_rot_handle_destination .set_ik_trans_handle_position .set_last_marked_frame .set_light_casts_shadows .set_light_color .set_marker_composition_color .set_marker_composition_is_always_displayed .set_marker_list_selection .set_persistent_frame_override_color .set_persistent_frame_override_opacity .set_persistent_frame_wire_framing_override .set_play_between_marks .set_play_rate .set_play_style .set_scene_range_is_checked .set_scene_range_name .set_spot_light_exponent .set_spot_light_spread_angle .set_streaming_port .set_value .set_viewed_range .set_viewed_range_is_locked .set_viewpoint_orientation .set_viewpoint_perspective_mode .set_viewpoint_position .set_viewpoint_rotation_pivot .set_working_anim .set_workspace .skew .smooth .smooth_marker_path .snap_to_body .streaming_anims .streaming_port .swap_ghost

.t

.texture_cache_log_disable .texture_cache_log_enable .to_ghost .to_scene_frame_id .transform_interp .transform_vector .translate .translate_body

.u

.ui.add_geometry_changed_command .ui.error_message_box .ui.get_geometry .ui.info_message_box .ui.question_message_box .ui.remove_geometry_changed_command .ui.warning_message_box .unbind_marker .unbound_markers .undo .unhide_all .unhide_bodies

.v

.value .viewed_range .viewed_range_is_locked .viewpoint_2d_transform_mode .viewpoint_attached_body .viewpoint_film_back .viewpoint_focal_length .viewpoint_orientation .viewpoint_perspective_mode .viewpoint_position .viewpoint_rotation_pivot

.w

.working_anim .workspace

r

random