NoKeyValue (FCurve)

Description

Sets or returns the value of the FCurve (as a Double) when there are no keys.

C# Syntax

    // get accessor
    Object rtn = FCurve.NoKeyValue;

    // set accessor
    FCurve.NoKeyValue = Object;

Examples

1. VBScript Example

    '
    '  This example demonstrates how to get the value of
    '  an FCurve when there are no keys.
    '
    set oCube = ActiveSceneRoot.AddGeometry("Cube","MeshSurface")
    dim aValues
    aValues = Array(0.00, 5.00, 1.00, 6.00, 2.00, 7.00, 3.00, 8.00, 4.00, 9.00, 5.00, 10.00)
    set oFCurve = oCube.PosX.AddFCurve2( aValues)

    LogMessage "FCurve NoKeyValue : " & oFCurve.NoKeyValue

    ' Outputs:
    'INFO : FCurve NoKeyValue : 5

2. Python Example

    #
    # This Python example illustrates how to create an fcurve and set the no key
    # value. This value is used when an fcurve is created with no keys. By default
    # it is the value at the time the fcurve was created.
    #
    # We try to import the Softimage constants from win32com.client. This assumes that
    # the makepy.py utility has been used on the Softimage type library files (.tlb);
    # this automatically installs the Softimage constants into win32com.client.constants
    #

    from win32com.client import constants
    from win32com.shell import shell

    import pythoncom

    # Define constants
    try:
       siInfo = constants.siInfo
       siStandardFCurve = constants.siStandardFCurve
    except:
       # typelib not found
       siInfo = 4
       siStandardFCurve = 20

    # Create new scene
    null = Application.NewScene("", 0)

    # Create a null
    null = Application.GetPrim("Null", "", "", "")

    # Get the posx parameter from the null
    posx = null.posx

    # Set the value of posx; this will be the default nokeyvalue
    posx.value =  10
    val = posx.value
    Application.LogMessage( 'posx.value before = ' + str(val), siInfo )

    # Define an empty keys array
    keys = []

    # Create an fcurve on posx
    fc = posx.AddFCurve2( keys, siStandardFCurve )

    # Get the current nokeyvalue value
    val = fc.NoKeyValue
    Application.LogMessage( 'fc.NoKeyValue before = ' + str(val), siInfo )

    # Set the fc nokeyvalue
    fc.NoKeyValue = 2.5
    val = fc.NoKeyValue
    Application.LogMessage( 'fc.NoKeyValue after = ' + str(val), siInfo )

    # Get the value of posx; should be the new nokeyvalue
    val = posx.Value

    Application.LogMessage( 'posx.value after = ' + str(val), siInfo )

    # Test undo/redo

    # Undo Set fc no key value
    Application.Undo()
    val  = fc.NoKeyValue
    Application.LogMessage( 'fc.NoKeyValue undo = ' + str(val), siInfo )

    # Redo Set fc no key value
    Application.Redo()
    val = fc.NoKeyValue
    Application.LogMessage( 'fc.NoKeyValue redo = ' + str(val), siInfo )

    # Produces the following output:
    #INFO : posx.value before = 10.0
    #INFO : fc.NoKeyValue before = 10.0
    #INFO : fc.NoKeyValue after = 2.5
    #INFO : posx.value after = 2.5
    #INFO : fc.NoKeyValue undo = 10.0
    #INFO : fc.NoKeyValue redo = 2.5

Autodesk Softimage v7.5