## FCurve.InsertKeyAtFrame

### Introduced

v7.5

### Description

Inserts a key at the current time or at the time specified by the frame argument. Unlike FCurve.AddKey, this method maintains the shape of the fcurve.

### C# Syntax

    Boolean FCurve.InsertKeyAtFrame( Object in_Frame );

### Scripting Syntax

    oBoolean = FCurve.InsertKeyAtFrame( [Frame] );

### Return Value

Boolean (true if the FCurveKey is successfully added)

### Parameters

Parameter | Type | Description
--- | --- | ---
Frame | Variant | The key time in frames. Default Value: The current time

### Examples

#### JScript Example

    /*
            This example illustrates how to insert keys in an fcurve.
    */
    // Create a cube
    NewScene(null, false);
    CreatePrim("Cube", "MeshSurface");
    // Create an fcurve on the posx parameter of the cube
    SaveKey("cube.kine.local.posx", 1, 0);
    SaveKey("cube.kine.local.posx", 30, 5);
    // Insert a key at frame 10
    var fc = Application.Selection(0).posx.Source;
    var bIsKeyInsertedAtFrame10 = fc.InsertKeyAtFrame(10);
    Application.LogMessage("Key inserted at frame 10 = " + bIsKeyInsertedAtFrame10);
    // Move to the frame 20
    SetValue("PlayControl.Key", 20);
    SetValue("PlayControl.Current", 20);
    // Insert a key at the current frame
    fc = Application.Selection(0).posx.Source;
    var bIsKeyInsertedAtCurrentFrame = fc.InsertKeyAtFrame();
    Application.LogMessage("Key inserted at current frame (frame 20) = " + bIsKeyInsertedAtCurrentFrame);
    // Open the Animation Editor
    SelectObj("cube", null, true);
    OpenView("Animation Editor");
    // Outputs:
    //INFO : Key inserted at frame 10 = true
    //INFO : Key inserted at current frame (frame 20) = true

### See Also

FCurve.AddKey