## FCurve.RemoveKey

### Introduced

v3.0

### Description

Removes the key at the specified frame.
Note: If the fcurve is locked then the method raises an 'Access Denied' (E_ACCESSDENIED) error. Key locks can be overridden using the OverrideKeyLock argument.

### C# Syntax

    FCurve.RemoveKey( Object in_Frame, Double in_Tolerance, Boolean in_OverrideKeyLock );

### Scripting Syntax

    FCurve.RemoveKey( [Frame], [Tolerance], [OverrideKeyLock] );

### Parameters

Parameter | Type | Description
--- | --- | ---
Frame | Variant (valid key time) | Time in frames at which to remove key Default Value: Current Time
Tolerance | Double | Key tolerance. Default Value: -1
Possible Values: | Description:
>0 | Matches key between Frame - Tolerance and Frame + Tolerance
0 | Key must be exactly at frame
-1 | Nearest 0.5 frame
OverrideKeyLock | Boolean | Override the FCurveKey.Locked value to force key to be removed. Default Value: False

### Examples

#### JScript Example

    /*
            This JScript example illustrates how to remove keys from an fcurve. The resample
            method is used to create the initial keys then the RemoveKey method is used to
            remove every other key
    */
    // Create a null
    Application.NewScene( "", false );
    var nullobj = ActiveSceneRoot.AddNull();
    // Create an fcurve on the posx parameter from the null
    var fc = nullobj.posx.AddFCurve()
    // Define the number of keys
    var nbkeys = 100
    // Create a key on each frame
    fc.Resample();
    // Remove every other key
    var startframe = fc.GetKeyFrame(0)
    var endframe = fc.GetKeyFrame( fc.GetNumKeys()-1 );
    // Start editing the fcurve
    fc.BeginEdit();
    for ( i=startframe; i<=endframe; i+=2 )
    {
            fc.RemoveKey(i);
    }
    // End editing the fcurve and put the undo event onto
    // the undo/redo stack
    fc.EndEdit();

### See Also

FCurve.AddKey FCurve.RemoveKeyAtIndex FCurve.RemoveKeysAtIndex FCurve.RemoveKeys